@@ -35,7 +35,7 @@ def assert_delegated_and_correct(
3535 input_shape ,
3636 mocker ,
3737 request ,
38- use_qat ,
38+ use_qat = False ,
3939 exp_delegated_ops = None ,
4040 exp_non_delegated_ops = None ,
4141 et_ref_model = ReferenceModel .QUANTIZED_EXECUTORCH_CPP ,
@@ -558,19 +558,6 @@ def test__tr_no_deleg(
558558
559559
560560class TestConv :
561- @staticmethod
562- def _conv_id (ins , oc , ks = 3 , s = 2 , d = 1 , p = 0 , b = True , g = 1 ):
563- return (
564- f"ic={ ins } , "
565- f"oc={ oc } , "
566- f"ks={ ks } , "
567- f"s={ s } , "
568- f"d={ d } , "
569- f"p={ p } , "
570- f"b={ b } , "
571- f"g={ g } "
572- )
573-
574561 @pytest .mark .parametrize (
575562 "input_shape, out_channels" ,
576563 [
@@ -1105,6 +1092,104 @@ def test__d_fwd_misc_arg(
11051092
11061093 assert_delegated_and_correct (model , input_shape , mocker , request , use_qat )
11071094
1095+ @pytest .mark .parametrize (
1096+ "input_shape, kernel_size, stride, dilation, padding, bias" ,
1097+ [
1098+ pytest .param (
1099+ ins := (2 , 5 , 13 , 11 ),
1100+ ks := 3 ,
1101+ s := 2 ,
1102+ d := 2 ,
1103+ p := "valid" ,
1104+ b := True ,
1105+ id = f"string padding arg: { _conv_id (ins , ins [1 ], ks = ks , s = s , d = d , p = p , b = b )} " ,
1106+ ),
1107+ pytest .param (
1108+ ins := (2 , 5 , 13 , 11 ),
1109+ ks := 3 ,
1110+ s := 1 ,
1111+ d := 2 ,
1112+ p := "same" ,
1113+ b := True ,
1114+ id = f"string padding arg: { _conv_id (ins , ins [1 ], ks = ks , s = s , d = d , p = p , b = b )} " ,
1115+ ),
1116+ ],
1117+ )
1118+ def test__fwd_str_arg (
1119+ self ,
1120+ input_shape ,
1121+ kernel_size ,
1122+ stride ,
1123+ dilation ,
1124+ padding ,
1125+ bias ,
1126+ request ,
1127+ mocker ,
1128+ ):
1129+ out_channels = input_shape [1 ]
1130+
1131+ model = Conv2dModule (
1132+ in_channels = input_shape [1 ],
1133+ out_channels = out_channels ,
1134+ kernel_size = kernel_size ,
1135+ stride = stride ,
1136+ dilation = dilation ,
1137+ padding = padding ,
1138+ bias = bias ,
1139+ )
1140+
1141+ assert_delegated_and_correct (model , input_shape , mocker , request )
1142+
1143+ @pytest .mark .parametrize (
1144+ "input_shape, kernel_size, stride, dilation, padding, bias" ,
1145+ [
1146+ pytest .param (
1147+ ins := (2 , 5 , 13 , 11 ),
1148+ ks := 3 ,
1149+ s := 2 ,
1150+ d := 2 ,
1151+ p := "valid" ,
1152+ b := True ,
1153+ id = f"string padding arg, depthwise: { _conv_id (ins , ins [1 ], ks = ks , s = s , d = d , p = p , b = b , g = ins [1 ])} " ,
1154+ ),
1155+ pytest .param (
1156+ ins := (2 , 5 , 13 , 11 ),
1157+ ks := 3 ,
1158+ s := 1 ,
1159+ d := 2 ,
1160+ p := "same" ,
1161+ b := True ,
1162+ id = f"string padding arg, depthwise: { _conv_id (ins , ins [1 ], ks = ks , s = s , d = d , p = p , b = b , g = ins [1 ])} " ,
1163+ ),
1164+ ],
1165+ )
1166+ def test__d_fwd_str_arg (
1167+ self ,
1168+ input_shape ,
1169+ kernel_size ,
1170+ stride ,
1171+ dilation ,
1172+ padding ,
1173+ bias ,
1174+ request ,
1175+ mocker ,
1176+ ):
1177+ out_channels = input_shape [1 ]
1178+ group = input_shape [1 ]
1179+
1180+ model = Conv2dModule (
1181+ in_channels = input_shape [1 ],
1182+ out_channels = out_channels ,
1183+ kernel_size = kernel_size ,
1184+ stride = stride ,
1185+ dilation = dilation ,
1186+ padding = padding ,
1187+ bias = bias ,
1188+ group = group ,
1189+ )
1190+
1191+ assert_delegated_and_correct (model , input_shape , mocker , request )
1192+
11081193 @pytest .mark .parametrize (
11091194 "input_shape, out_channels, kernel_size, stride, dilation, padding" ,
11101195 [
0 commit comments