diff --git a/testdata/dnn/onnx/data/input_conv1d.npy b/testdata/dnn/onnx/data/input_conv1d.npy new file mode 100644 index 000000000..4aa1282a5 Binary files /dev/null and b/testdata/dnn/onnx/data/input_conv1d.npy differ 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 000000000..e00f34f60 Binary files /dev/null and b/testdata/dnn/onnx/data/input_conv1d_bias.npy differ diff --git a/testdata/dnn/onnx/data/input_conv1d_variable_w_0.npy b/testdata/dnn/onnx/data/input_conv1d_variable_w_0.npy new file mode 100644 index 000000000..694eb6696 Binary files /dev/null and b/testdata/dnn/onnx/data/input_conv1d_variable_w_0.npy differ 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 000000000..428f56323 Binary files /dev/null and b/testdata/dnn/onnx/data/input_conv1d_variable_w_1.npy differ 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 000000000..a2fb28565 Binary files /dev/null and b/testdata/dnn/onnx/data/input_conv1d_variable_wb_0.npy differ 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 000000000..3aafb1ae5 Binary files /dev/null and b/testdata/dnn/onnx/data/input_conv1d_variable_wb_1.npy differ diff --git a/testdata/dnn/onnx/data/input_conv1d_variable_wb_2.npy b/testdata/dnn/onnx/data/input_conv1d_variable_wb_2.npy new file mode 100644 index 000000000..8607ba974 Binary files /dev/null and b/testdata/dnn/onnx/data/input_conv1d_variable_wb_2.npy differ diff --git a/testdata/dnn/onnx/data/output_conv1d.npy b/testdata/dnn/onnx/data/output_conv1d.npy new file mode 100644 index 000000000..030f97bcd Binary files /dev/null and b/testdata/dnn/onnx/data/output_conv1d.npy differ 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 000000000..035122d27 Binary files /dev/null and b/testdata/dnn/onnx/data/output_conv1d_bias.npy differ 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 000000000..fd571a788 Binary files /dev/null and b/testdata/dnn/onnx/data/output_conv1d_variable_w.npy differ 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 000000000..ba9bf6827 Binary files /dev/null and b/testdata/dnn/onnx/data/output_conv1d_variable_wb.npy differ diff --git a/testdata/dnn/onnx/generate_onnx_models.py b/testdata/dnn/onnx/generate_onnx_models.py index bcae36d97..4458f3ea6 100644 --- a/testdata/dnn/onnx/generate_onnx_models.py +++ b/testdata/dnn/onnx/generate_onnx_models.py @@ -986,3 +986,40 @@ def forward(self, x): x = Variable(torch.randn(1, 3, 2, 2)) model = Scale() save_data_and_model("scale", x, model) + +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 new file mode 100644 index 000000000..ee23ef970 Binary files /dev/null and b/testdata/dnn/onnx/models/conv1d.onnx differ diff --git a/testdata/dnn/onnx/models/conv1d_bias.onnx b/testdata/dnn/onnx/models/conv1d_bias.onnx new file mode 100644 index 000000000..29adfb515 Binary files /dev/null and b/testdata/dnn/onnx/models/conv1d_bias.onnx differ diff --git a/testdata/dnn/onnx/models/conv1d_variable_w.onnx b/testdata/dnn/onnx/models/conv1d_variable_w.onnx new file mode 100644 index 000000000..4c964a1bf Binary files /dev/null and b/testdata/dnn/onnx/models/conv1d_variable_w.onnx differ 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 000000000..ba8a1da7f Binary files /dev/null and b/testdata/dnn/onnx/models/conv1d_variable_wb.onnx differ