From 799a8abcac393eda1df49b70e34925c436328931 Mon Sep 17 00:00:00 2001 From: Sergey Slashchinin Date: Fri, 30 Oct 2020 12:21:54 +0300 Subject: [PATCH 1/2] Simple test for Conv1d --- testdata/dnn/onnx/data/input_conv1d.npy | Bin 0 -> 428 bytes testdata/dnn/onnx/data/output_conv1d.npy | Bin 0 -> 232 bytes testdata/dnn/onnx/generate_onnx_models.py | 4 ++++ testdata/dnn/onnx/models/conv1d.onnx | Bin 0 -> 325 bytes 4 files changed, 4 insertions(+) create mode 100644 testdata/dnn/onnx/data/input_conv1d.npy create mode 100644 testdata/dnn/onnx/data/output_conv1d.npy create mode 100644 testdata/dnn/onnx/models/conv1d.onnx diff --git a/testdata/dnn/onnx/data/input_conv1d.npy b/testdata/dnn/onnx/data/input_conv1d.npy new file mode 100644 index 0000000000000000000000000000000000000000..4aa1282a53e0dfff0d718cef3acfe465e32be2b0 GIT binary patch literal 428 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+l>qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I$-Its=*3Pz@yItsN4WC5;L=?VM08Yb_*=H0L_R`uRKQP)WOW_3gR+%pUJ z9gJr`V8OW5?#q^i`~Mqkw%dJpu3dTlSKGY#s-D?Z=|~U-udATk_D_?!dK;_6)qI?dLcY*&F{3 z-+w|_c7IAbqpgO+pM3=hb#@ozAKG0re`foGOU2&i{zJQ+?HBjXx$9*g>_26nxKOyQ z{w-Gf&~Rag?JRrt&yzU4f4;xY{(FV-_FqKX?N`Z|*$Ldu-p4WJ#J*TjZhP^dQ~Rcr zJ=v#HVP{{u{*e90a0!R)!V~sS_Fc4(;ad0p$f|XFV|4fLZF{6|e{FWy{;0y~Hb12u f_D{cUYxjmp-u_;^vi+Lp)%)^dgdGfTf7lNI3|Xh_ literal 0 HcmV?d00001 diff --git a/testdata/dnn/onnx/data/output_conv1d.npy b/testdata/dnn/onnx/data/output_conv1d.npy new file mode 100644 index 0000000000000000000000000000000000000000..41bfe11cdf7ba68a667095b687a7ad89aabb38c1 GIT binary patch literal 232 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+l>qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I$-ItoTQ3Wmm-ItsN4WC5;s!AtkO-MhukY}4a?sp}W+wo>iNb}R9WZl9ZWPEW~Im#pax!R~B!e z!~&wV1h_a;GIJ73GV}9_9hep{vTN~hv8EU0mljAcE?{KR66WH`PA$qy&51A0NGwQo zUO8iQP8G|F%Z2R_tTQiQRW0Ps>i=QJ-y! zQtQ44-7fpS_b#xL{-0`Bc12{L^u^VCmrY)@FD&@T?q#hF`^1+v@5?TowkJv)=yxF@ hE&&ckAs#L!4n`nm24cx1poB4+1QSq#*NI7h699NeT@C;M literal 0 HcmV?d00001 From 8b9a73ae1ceed188af260f0e9c2c6dd21372fb4a Mon Sep 17 00:00:00 2001 From: Sergey Slashchinin Date: Fri, 13 Nov 2020 19:14:28 +0300 Subject: [PATCH 2/2] Update tests, add cases for variable weights --- testdata/dnn/onnx/data/input_conv1d_bias.npy | Bin 0 -> 428 bytes .../onnx/data/input_conv1d_variable_w_0.npy | Bin 0 -> 288 bytes .../onnx/data/input_conv1d_variable_w_1.npy | Bin 0 -> 160 bytes .../onnx/data/input_conv1d_variable_wb_0.npy | Bin 0 -> 208 bytes .../onnx/data/input_conv1d_variable_wb_1.npy | Bin 0 -> 160 bytes .../onnx/data/input_conv1d_variable_wb_2.npy | Bin 0 -> 144 bytes testdata/dnn/onnx/data/output_conv1d.npy | Bin 232 -> 232 bytes testdata/dnn/onnx/data/output_conv1d_bias.npy | Bin 0 -> 312 bytes .../onnx/data/output_conv1d_variable_w.npy | Bin 0 -> 272 bytes .../onnx/data/output_conv1d_variable_wb.npy | Bin 0 -> 192 bytes testdata/dnn/onnx/generate_onnx_models.py | 39 ++++++++++++++++-- testdata/dnn/onnx/models/conv1d.onnx | Bin 325 -> 297 bytes testdata/dnn/onnx/models/conv1d_bias.onnx | Bin 0 -> 325 bytes .../dnn/onnx/models/conv1d_variable_w.onnx | Bin 0 -> 225 bytes .../dnn/onnx/models/conv1d_variable_wb.onnx | Bin 0 -> 1392 bytes 15 files changed, 36 insertions(+), 3 deletions(-) create mode 100644 testdata/dnn/onnx/data/input_conv1d_bias.npy create mode 100644 testdata/dnn/onnx/data/input_conv1d_variable_w_0.npy create mode 100644 testdata/dnn/onnx/data/input_conv1d_variable_w_1.npy create mode 100644 testdata/dnn/onnx/data/input_conv1d_variable_wb_0.npy create mode 100644 testdata/dnn/onnx/data/input_conv1d_variable_wb_1.npy create mode 100644 testdata/dnn/onnx/data/input_conv1d_variable_wb_2.npy create mode 100644 testdata/dnn/onnx/data/output_conv1d_bias.npy create mode 100644 testdata/dnn/onnx/data/output_conv1d_variable_w.npy create mode 100644 testdata/dnn/onnx/data/output_conv1d_variable_wb.npy create mode 100644 testdata/dnn/onnx/models/conv1d_bias.onnx create mode 100644 testdata/dnn/onnx/models/conv1d_variable_w.onnx create mode 100644 testdata/dnn/onnx/models/conv1d_variable_wb.onnx diff --git a/testdata/dnn/onnx/data/input_conv1d_bias.npy b/testdata/dnn/onnx/data/input_conv1d_bias.npy new file mode 100644 index 0000000000000000000000000000000000000000..e00f34f6033aaddf93949f4a901a1723bf3112f3 GIT binary patch literal 428 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+l>qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I$-Its=*3Pz@yItsN4WC5;~CzkGi%I&bf?%neJA4C)O$=r}W5E?RdZ>TBv z-kIrT_6qK{`#v`B-PibP)_(0w`ThTL-tPPU=c|3O)VY0A5B#-lZq?fVdxf<9)JInP zU#TSRzfyf|pA4tp{?n%g>~A~B*h}8MYb$BvxPP%;mEHH4d3&>x-r1hum)Or`Ie-60 z(TjT@xUaWg&7Hu-toX>yGGr4_D{cY*=uyN*qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I$7ItoB!XrQU1P^&-|;QHsnyFc-n#Q{P0gZs_In(eopT))p${-pgzGZ(wP z?T73Z&aSXOvv8;V&UqnwuRl=O@18BV@AzJh{n~$6_jh;4*k^IhwAGB_w-@B%urCy! zXTMf$@BXVhAMF3}XSVHH{;vJMPm0>J{g}Mp?wrs*ku3Lp!3X!*?+!KIf8wcyUAEgg nd-uZK`)=P^x&O_-8}_P(EDp1oTI@=f3hZZV&9!e7`ECaQ^@?bF literal 0 HcmV?d00001 diff --git a/testdata/dnn/onnx/data/input_conv1d_variable_w_1.npy b/testdata/dnn/onnx/data/input_conv1d_variable_w_1.npy new file mode 100644 index 0000000000000000000000000000000000000000..428f56323712d34fd3a4acdece5d86758fa8a3de GIT binary patch literal 160 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+l>qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I$7Itn19siRPs6xm^WT`U|NoI*`+!sp FdjPcgDd+$I literal 0 HcmV?d00001 diff --git a/testdata/dnn/onnx/data/input_conv1d_variable_wb_0.npy b/testdata/dnn/onnx/data/input_conv1d_variable_wb_0.npy new file mode 100644 index 0000000000000000000000000000000000000000..a2fb2856565a07ed66f1aa7bc2bfce2d0c4be265 GIT binary patch literal 208 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+l>qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I$7ItoB!s;Q$;t3V#$x~j8uuk+KY{m+k<+d4)3+86bI$Nr5c{q`^Qm}$>( z>DB%tBG>KgTPD~a_r7K4lrwQZ+p%N&W=gHzCw->aUVHbOeWnYg_oq+axljAef&Ic( GO#1;3&qk&I literal 0 HcmV?d00001 diff --git a/testdata/dnn/onnx/data/input_conv1d_variable_wb_1.npy b/testdata/dnn/onnx/data/input_conv1d_variable_wb_1.npy new file mode 100644 index 0000000000000000000000000000000000000000..3aafb1ae581acf20c458c80e3a8166fed97711e5 GIT binary patch literal 160 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+l>qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I$7Itn19siRPqoAIaUsO_*m=~X4l#&V(cT3DEP6dh= nXCxM+0{I#yI+{8PwF(pfE+?rU`|n>_y#ME?%OjXvZ)2|XHz zBR&K$GrvTDxIQR%dOu;?-o64%XTNXu5WnbI#yww=)4nR-1HLy2us+=b0zas&RlbH9-IX diff --git a/testdata/dnn/onnx/data/output_conv1d_bias.npy b/testdata/dnn/onnx/data/output_conv1d_bias.npy new file mode 100644 index 0000000000000000000000000000000000000000..035122d27820e844b33eb23892d8f8fe596ee5e1 GIT binary patch literal 312 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+l>qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I$-ItoTWWUQ&9P^&-|;5zug-2SP;x_!?BV(nLaI=au=Hr{^fS0(%HCf)Y- z2fyw+z-+Q_*Wu^;ram^XSG>c!kM+}MyNBm@?U^dF%Eqfm9n|VBH O-$SvSeWvSU_X7Ye5Pbyz literal 0 HcmV?d00001 diff --git a/testdata/dnn/onnx/data/output_conv1d_variable_w.npy b/testdata/dnn/onnx/data/output_conv1d_variable_w.npy new file mode 100644 index 0000000000000000000000000000000000000000..fd571a788e0d73d075e6ad3f1da03c1f31fb16d8 GIT binary patch literal 272 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+l>qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I$7ItoB!si~t-t3V#$nq$pi8#l$sVY7aty=bk{0gX^sd$}#K`(N-d+Y7mP z*c;o2+biskap=j7bC_}X@xE@B&HK~h&+O-}7T7O-O>^JQYUcg!j#KuZTvF* z;sNUc$9XU8SDRNjJaKGy(9(C`SHvK1Z?l49-{gWmhbT5}hq{AFd#{yo?pt`g*}>H% T-Qja_p3;QQ0W!eJ(SS?u# literal 0 HcmV?d00001 diff --git a/testdata/dnn/onnx/data/output_conv1d_variable_wb.npy b/testdata/dnn/onnx/data/output_conv1d_variable_wb.npy new file mode 100644 index 0000000000000000000000000000000000000000..ba9bf68278692671823d701a2cc15198ca6e0856 GIT binary patch literal 192 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+l>qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I$7ItoB!qN$@$t3V#$YE{qK|ND}|f%kt_?%%*1w118KxBV;rE#0T~RO7(A q$4&dW^_urft8-+wpD{wYoV`=#g3-VXpFIza;f literal 0 HcmV?d00001 diff --git a/testdata/dnn/onnx/generate_onnx_models.py b/testdata/dnn/onnx/generate_onnx_models.py index 4ac095304..4458f3ea6 100644 --- a/testdata/dnn/onnx/generate_onnx_models.py +++ b/testdata/dnn/onnx/generate_onnx_models.py @@ -987,6 +987,39 @@ def forward(self, x): model = Scale() save_data_and_model("scale", x, model) -input = Variable(torch.randn(1, 3, 25)) -conv1d = nn.Conv1d(3, 2, kernel_size=3, padding=2, stride=2, dilation=2, bias=True) -save_data_and_model("conv1d", input, conv1d) \ No newline at end of file +x = Variable(torch.randn(1, 3, 25)) +conv1d = nn.Conv1d(3, 2, kernel_size=3, padding=2, stride=2, dilation=2, bias=False) +save_data_and_model("conv1d", x, conv1d) + +x = Variable(torch.randn(1, 3, 25)) +conv1d = nn.Conv1d(3, 2, kernel_size=3, padding=0, stride=1, dilation=1, bias=True) +save_data_and_model("conv1d_bias", x, conv1d) + +class Conv1d(nn.Module): + def forward(self, x, kernel): + out = F.conv1d(x, kernel, groups=1) + return out + +x = Variable(torch.randn(2, 2, 10)) +kernel = Variable(torch.randn(2, 2, 2)) +model = Conv1d() +save_data_and_model_multy_inputs("conv1d_variable_w", model, x, kernel) + +class Conv1dBias(nn.Module): + def forward(self, x, kernel, bias): + batch = x.size(0) + channel = x.size(1) + x = x.view(1, batch*channel, x.size(2)) + kernel = kernel.view(batch*channel, 1, 2) + conv = nn.Conv1d(4, 4, kernel_size=2, bias=False, groups=4) + conv.weight = nn.Parameter(kernel) + conv.bias = nn.Parameter(bias) + out = conv(x) + out = out.view(batch, channel, out.size(2)) + return out + +x = Variable(torch.randn(2, 2, 5)) +kernel = Variable(torch.randn(2, 2, 2)) +bias = Variable(torch.randn(4)) +model = Conv1dBias() +save_data_and_model_multy_inputs("conv1d_variable_wb", model, x, kernel, bias) diff --git a/testdata/dnn/onnx/models/conv1d.onnx b/testdata/dnn/onnx/models/conv1d.onnx index 674a73f97ff1eed089d1b1291d498ba2de0da525..ee23ef97065fa1b4b1c03937aadc5c463a90bfd6 100644 GIT binary patch delta 52 zcmX@gw311ggH4FNpt2;tC^ I>oQ6J0A^AR&;S4c delta 80 zcmZ39WZl9ZWPEW~Im#pax!R~B!e z!~&wV1h_a;GIJ73GV}9_9T*odvTN~hv8EU0mlj9>c}!ZuTs+ySMR}X51*s0q zASJw9ECq=v#SRP(3?MEa7khC@QD#ai!~`J$urqYCGD~z*D+=<9O0+~cm;@M|z)tYu zcy_+ij-|0{pH>tH69+Q~Gf)QVNH33u{i!x=95HswnHu*+hh**hZREC3?q!~xK#mJS-#c06AXeh*JB*o^OpH~)dpu_^AwFJ00Q!;ZB zOEUBGiX9jiFtTg$aIvNr<(C#n0C`MW!dyJrsYQ9IIq}6Ai3O<+Odut^Tr35NDa8&9 z4h$eJ9~XOZNl|7>D#QdK0kGY=S(zoesTBqJMI}+{_C}D&}g42mffD-`E%_^+` literal 0 HcmV?d00001 diff --git a/testdata/dnn/onnx/models/conv1d_variable_wb.onnx b/testdata/dnn/onnx/models/conv1d_variable_wb.onnx new file mode 100644 index 0000000000000000000000000000000000000000..ba8a1da7f1cf23efcece549ccff7d77fd626833a GIT binary patch literal 1392 zcma)6U60a06y50-TJEADH7fQ=`(&zYn3;az6ImZjNPN-wvM)_{X#^#Jv}{&?&HgR_ zjb~a~AW|dAgxl%4bI+V}Z_T!4tbgXK&F#!S=a<2|-$c)d4J{^Zu53`1l?P?RgR)*@S$14DAQoCIs>}MP%RVLM6N@Z1vRfawi#Tx3@kh^< z2pS(&bi#^`hh2WaCu-!Q9q@TWI17s-Thx?Brzs7Hjezs*?w4iuW1FVG(wGmOPW@C0 zmu6!KXV4|i6~G5ac;1Ky4;diG#|n@a+8r2qo4`_7Q-;UZyo4A4hX6-5eM+;UF}QS$ zU999PRMhy$ZYvqNSL&$9;W9!Tk@NpWP6!YTu_EO8dvZY|IZglq92}4f_vE(V5CIa9 zelt%p07KirJ?~;3Il2nm9(AVkMUv0a-D3t--7dAhZdTiMUq^GgPpJDn-7M2ZT-<%E zDaa$z*U1zv6h63*$;k4}dzBM zs_R}U{eZ^ANq_IG2x@1oUh(A`e4FQk^nShC_ro^n$zoI r<}K=(%<7V6YP;1^FSzyh3+>w4brg|_BpnI*O&^r~6KMTP>vjGB>NqQ> literal 0 HcmV?d00001