2525)
2626from torch .utils ._pytree import tree_map
2727from torchvision .prototype import features
28- from torchvision .transforms .functional_tensor import _max_value as get_max_value
28+ from torchvision .transforms .functional_tensor import _max_value as get_max_value , _parse_pad_padding
2929
3030__all__ = ["KernelInfo" , "KERNEL_INFOS" ]
3131
@@ -1078,6 +1078,38 @@ def sample_inputs_pad_video():
10781078 yield ArgsKwargs (video_loader , padding = [1 ])
10791079
10801080
1081+ def reference_pad_bounding_box (bounding_box , * , format , spatial_size , padding , padding_mode ):
1082+
1083+ left , right , top , bottom = _parse_pad_padding (padding )
1084+
1085+ affine_matrix = np .array (
1086+ [
1087+ [1 , 0 , left ],
1088+ [0 , 1 , top ],
1089+ ],
1090+ dtype = "float32" ,
1091+ )
1092+
1093+ height = spatial_size [0 ] + top + bottom
1094+ width = spatial_size [1 ] + left + right
1095+
1096+ expected_bboxes = reference_affine_bounding_box_helper (bounding_box , format = format , affine_matrix = affine_matrix )
1097+ return expected_bboxes , (height , width )
1098+
1099+
1100+ def reference_inputs_pad_bounding_box ():
1101+ for bounding_box_loader , padding in itertools .product (
1102+ make_bounding_box_loaders (extra_dims = ((), (4 ,))), [1 , (1 ,), (1 , 2 ), (1 , 2 , 3 , 4 ), [1 ], [1 , 2 ], [1 , 2 , 3 , 4 ]]
1103+ ):
1104+ yield ArgsKwargs (
1105+ bounding_box_loader ,
1106+ format = bounding_box_loader .format ,
1107+ spatial_size = bounding_box_loader .spatial_size ,
1108+ padding = padding ,
1109+ padding_mode = "constant" ,
1110+ )
1111+
1112+
10811113KERNEL_INFOS .extend (
10821114 [
10831115 KernelInfo (
@@ -1097,6 +1129,8 @@ def sample_inputs_pad_video():
10971129 KernelInfo (
10981130 F .pad_bounding_box ,
10991131 sample_inputs_fn = sample_inputs_pad_bounding_box ,
1132+ reference_fn = reference_pad_bounding_box ,
1133+ reference_inputs_fn = reference_inputs_pad_bounding_box ,
11001134 test_marks = [
11011135 xfail_jit_python_scalar_arg ("padding" ),
11021136 xfail_jit_tuple_instead_of_list ("padding" ),
0 commit comments