diff --git a/testdata/dnn/onnx/data/input_gather_multi_output.npy b/testdata/dnn/onnx/data/input_gather_multi_output.npy new file mode 100644 index 000000000..b88e81dd3 Binary files /dev/null and b/testdata/dnn/onnx/data/input_gather_multi_output.npy differ diff --git a/testdata/dnn/onnx/data/output_gather_multi_output.npy b/testdata/dnn/onnx/data/output_gather_multi_output.npy new file mode 100644 index 000000000..b92aa732b Binary files /dev/null and b/testdata/dnn/onnx/data/output_gather_multi_output.npy differ diff --git a/testdata/dnn/onnx/generate_onnx_models.py b/testdata/dnn/onnx/generate_onnx_models.py index 4458f3ea6..9b6f45604 100644 --- a/testdata/dnn/onnx/generate_onnx_models.py +++ b/testdata/dnn/onnx/generate_onnx_models.py @@ -1023,3 +1023,20 @@ def forward(self, x, kernel, bias): bias = Variable(torch.randn(4)) model = Conv1dBias() save_data_and_model_multy_inputs("conv1d_variable_wb", model, x, kernel, bias) + +class GatherMultiOutput(nn.Module): + def __init__(self, in_dim = 2): + super(GatherMultiOutput, self).__init__() + self.in_dim = in_dim + self.lin_inp = nn.Linear(in_dim, 2, bias=False) + def forward(self, x): + x_projected = self.lin_inp(x).long() + x_gather = x_projected[:,0,:] + x_float1 = x_gather.float() + x_float2 = x_gather.float() + x_float3 = x_gather.float() + return x_float1+x_float2+x_float3 + +x = Variable(torch.zeros([1, 2, 2])) +model = GatherMultiOutput() +save_data_and_model("gather_multi_output", x, model) diff --git a/testdata/dnn/onnx/models/gather_multi_output.onnx b/testdata/dnn/onnx/models/gather_multi_output.onnx new file mode 100644 index 000000000..1b9195a43 Binary files /dev/null and b/testdata/dnn/onnx/models/gather_multi_output.onnx differ