@@ -121,26 +121,30 @@ def test_color_jitter(self):
121
121
)
122
122
123
123
def test_pad (self ):
124
-
125
- # Test functional.pad (PIL and Tensor) with padding as single int
126
- self ._test_functional_op (
127
- "pad" , fn_kwargs = {"padding" : 2 , "fill" : 0 , "padding_mode" : "constant" }
128
- )
129
- # Test functional.pad and transforms.Pad with padding as [int, ]
130
- fn_kwargs = meth_kwargs = {"padding" : [2 , ], "fill" : 0 , "padding_mode" : "constant" }
131
- self ._test_op (
132
- "pad" , "Pad" , fn_kwargs = fn_kwargs , meth_kwargs = meth_kwargs
133
- )
134
- # Test functional.pad and transforms.Pad with padding as list
135
- fn_kwargs = meth_kwargs = {"padding" : [4 , 4 ], "fill" : 0 , "padding_mode" : "constant" }
136
- self ._test_op (
137
- "pad" , "Pad" , fn_kwargs = fn_kwargs , meth_kwargs = meth_kwargs
138
- )
139
- # Test functional.pad and transforms.Pad with padding as tuple
140
- fn_kwargs = meth_kwargs = {"padding" : (2 , 2 , 2 , 2 ), "fill" : 127 , "padding_mode" : "constant" }
141
- self ._test_op (
142
- "pad" , "Pad" , fn_kwargs = fn_kwargs , meth_kwargs = meth_kwargs
143
- )
124
+ for m in ["constant" , "edge" , "reflect" , "symmetric" ]:
125
+ fill = 127 if m == "constant" else 0
126
+ # Negative pad currently unsupported for Tensor and symmetric
127
+ multipliers = [1 ] if m == "symmetric" else [1 , - 1 ]
128
+ for mul in multipliers :
129
+ # Test functional.pad (PIL and Tensor) with padding as single int
130
+ self ._test_functional_op (
131
+ "pad" , fn_kwargs = {"padding" : mul * 2 , "fill" : fill , "padding_mode" : m }
132
+ )
133
+ # Test functional.pad and transforms.Pad with padding as [int, ]
134
+ fn_kwargs = meth_kwargs = {"padding" : [mul * 2 , ], "fill" : fill , "padding_mode" : m }
135
+ self ._test_op (
136
+ "pad" , "Pad" , fn_kwargs = fn_kwargs , meth_kwargs = meth_kwargs
137
+ )
138
+ # Test functional.pad and transforms.Pad with padding as list
139
+ fn_kwargs = meth_kwargs = {"padding" : [mul * 4 , 4 ], "fill" : fill , "padding_mode" : m }
140
+ self ._test_op (
141
+ "pad" , "Pad" , fn_kwargs = fn_kwargs , meth_kwargs = meth_kwargs
142
+ )
143
+ # Test functional.pad and transforms.Pad with padding as tuple
144
+ fn_kwargs = meth_kwargs = {"padding" : (mul * 2 , 2 , 2 , mul * 2 ), "fill" : fill , "padding_mode" : m }
145
+ self ._test_op (
146
+ "pad" , "Pad" , fn_kwargs = fn_kwargs , meth_kwargs = meth_kwargs
147
+ )
144
148
145
149
def test_crop (self ):
146
150
fn_kwargs = {"top" : 2 , "left" : 3 , "height" : 4 , "width" : 5 }
0 commit comments