diff --git a/testdata/cv/aruco/regression_2492.png b/testdata/cv/aruco/regression_2492.png new file mode 100644 index 000000000..e7f3b1cf8 Binary files /dev/null and b/testdata/cv/aruco/regression_2492.png differ diff --git a/testdata/cv/aruco/regression_3192.png b/testdata/cv/aruco/regression_3192.png new file mode 100644 index 000000000..017ba5d4b Binary files /dev/null and b/testdata/cv/aruco/regression_3192.png differ diff --git a/testdata/cv/aruco/trivial_board_detection.png b/testdata/cv/aruco/trivial_board_detection.png deleted file mode 100644 index 8fee7bb43..000000000 Binary files a/testdata/cv/aruco/trivial_board_detection.png and /dev/null differ diff --git a/testdata/dnn/onnx/data/input_lstm_cell_bidirectional.npy b/testdata/dnn/onnx/data/input_lstm_cell_bidirectional.npy new file mode 100644 index 000000000..c8157ca07 Binary files /dev/null and b/testdata/dnn/onnx/data/input_lstm_cell_bidirectional.npy differ diff --git a/testdata/dnn/onnx/data/input_lstm_cell_forward.npy b/testdata/dnn/onnx/data/input_lstm_cell_forward.npy new file mode 100644 index 000000000..79fec64e7 Binary files /dev/null and b/testdata/dnn/onnx/data/input_lstm_cell_forward.npy differ diff --git a/testdata/dnn/onnx/data/input_lstm_cell_with_peepholes.npy b/testdata/dnn/onnx/data/input_lstm_cell_with_peepholes.npy new file mode 100644 index 000000000..2078f9ab2 Binary files /dev/null and b/testdata/dnn/onnx/data/input_lstm_cell_with_peepholes.npy differ diff --git a/testdata/dnn/onnx/data/input_slice_neg_starts.npy b/testdata/dnn/onnx/data/input_slice_neg_starts.npy index 796895eaf..7360d81ac 100644 Binary files a/testdata/dnn/onnx/data/input_slice_neg_starts.npy and b/testdata/dnn/onnx/data/input_slice_neg_starts.npy differ diff --git a/testdata/dnn/onnx/data/output_lstm_cell_bidirectional.npy b/testdata/dnn/onnx/data/output_lstm_cell_bidirectional.npy new file mode 100644 index 000000000..6e3d96038 Binary files /dev/null and b/testdata/dnn/onnx/data/output_lstm_cell_bidirectional.npy differ diff --git a/testdata/dnn/onnx/data/output_lstm_cell_forward.npy b/testdata/dnn/onnx/data/output_lstm_cell_forward.npy new file mode 100644 index 000000000..c022b9fa2 Binary files /dev/null and b/testdata/dnn/onnx/data/output_lstm_cell_forward.npy differ diff --git a/testdata/dnn/onnx/data/output_lstm_cell_with_peepholes.npy b/testdata/dnn/onnx/data/output_lstm_cell_with_peepholes.npy new file mode 100644 index 000000000..a2d0e2777 Binary files /dev/null and b/testdata/dnn/onnx/data/output_lstm_cell_with_peepholes.npy differ diff --git a/testdata/dnn/onnx/data/output_slice_neg_starts.npy b/testdata/dnn/onnx/data/output_slice_neg_starts.npy index 796895eaf..eaba197b6 100644 Binary files a/testdata/dnn/onnx/data/output_slice_neg_starts.npy and b/testdata/dnn/onnx/data/output_slice_neg_starts.npy differ diff --git a/testdata/dnn/onnx/generate_onnx_models.py b/testdata/dnn/onnx/generate_onnx_models.py index efc42800f..fa63b2682 100644 --- a/testdata/dnn/onnx/generate_onnx_models.py +++ b/testdata/dnn/onnx/generate_onnx_models.py @@ -436,16 +436,49 @@ def forward(self, x): save_data_and_model("slice", input, model) save_data_and_model("slice_opset_11", input, model, version=11) -class SliceStarts(nn.Module): - def __init__(self, *args, **kwargs): - super(SliceStarts, self).__init__() +def generate_slice_neg_starts(): + x = np.random.randn(2, 3, 4, 3).astype(np.float32) + y = x[-1:2, -3:-1, 2:3, 1:-1] - def forward(self, x): - return x[-1:] + starts = np.array([-1, -3, 2, 1], dtype=np.int64) + starts = onnx.numpy_helper.from_array(starts, name='starts') + ends = np.array([ 2, -1, 3, -1], dtype=np.int64) + ends = onnx.numpy_helper.from_array(ends, name='ends') -model = SliceStarts() -input_ = Variable(torch.randn(1, 10, dtype=torch.float32)) -save_data_and_model("slice_neg_starts", input_, model) + node = onnx.helper.make_node( + 'Slice', + inputs=['X', 'starts', 'ends'], + outputs=['Y'], + ) + + X = onnx.helper.make_tensor_value_info('X', onnx.TensorProto.FLOAT, list(x.shape)) + Y = onnx.helper.make_tensor_value_info('Y', onnx.TensorProto.FLOAT, list(y.shape)) + + graph = onnx.helper.make_graph( + [node], # nodes + 'slice_neg_starts', # name + [X], # inputs + [Y], # outputs + ) + + graph.initializer.append(starts) + graph.initializer.append(ends) + + model = onnx.helper.make_model(graph, producer_name='onnx') + onnx.checker.check_model(model) + + name = 'slice_neg_starts' + + input_files = os.path.join("data", "input_" + name) + np.save(input_files, x.data) + + output_files = os.path.join("data", "output_" + name) + np.save(output_files, np.ascontiguousarray(y.data)) + + models_files = os.path.join("models", name + ".onnx") + onnx.save(model, models_files) + +generate_slice_neg_starts() input_2 = Variable(torch.randn(6, 6)) custom_slice_list = [ @@ -898,6 +931,39 @@ def forward(self, t): save_data_and_model("gru_bi", input, hidden_lstm, version=11, export_params=True) +batch = 5 +features = 4 +hidden = 3 +seq_len = 2 +num_layers=1 +bidirectional=True + +class LSTM(nn.Module): + + def __init__(self): + super(LSTM, self).__init__() + self.lstm = nn.LSTM(features, hidden, num_layers, bidirectional=bidirectional) + self.h0 = torch.from_numpy(np.ones((num_layers + int(bidirectional), batch, hidden), dtype=np.float32)) + self.c0 = torch.from_numpy(np.ones((num_layers + int(bidirectional), batch, hidden), dtype=np.float32)) + + def forward(self, x): + a, (b, c) = self.lstm(x, (self.h0, self.c0)) + if bidirectional: + return torch.cat((a, b, c), dim=2) + else: + return torch.cat((a, b, c), dim=0) + + +input_ = Variable(torch.randn(seq_len, batch, features)) +lstm = LSTM() +save_data_and_model("lstm_cell_bidirectional", input_, lstm, export_params=True) + +bidirectional = False +input_ = Variable(torch.randn(seq_len, batch, features)) +lstm = LSTM() +save_data_and_model("lstm_cell_forward", input_, lstm, export_params=True) + + class MatMul(nn.Module): def __init__(self): super(MatMul, self).__init__() diff --git a/testdata/dnn/onnx/models/lstm_cell_bidirectional.onnx b/testdata/dnn/onnx/models/lstm_cell_bidirectional.onnx new file mode 100644 index 000000000..dd848028f Binary files /dev/null and b/testdata/dnn/onnx/models/lstm_cell_bidirectional.onnx differ diff --git a/testdata/dnn/onnx/models/lstm_cell_forward.onnx b/testdata/dnn/onnx/models/lstm_cell_forward.onnx new file mode 100644 index 000000000..f80bb75f4 Binary files /dev/null and b/testdata/dnn/onnx/models/lstm_cell_forward.onnx differ diff --git a/testdata/dnn/onnx/models/lstm_cell_with_peepholes.onnx b/testdata/dnn/onnx/models/lstm_cell_with_peepholes.onnx new file mode 100644 index 000000000..32b019284 Binary files /dev/null and b/testdata/dnn/onnx/models/lstm_cell_with_peepholes.onnx differ diff --git a/testdata/dnn/onnx/models/slice_neg_starts.onnx b/testdata/dnn/onnx/models/slice_neg_starts.onnx index 07c0c9966..ac41c39ce 100644 Binary files a/testdata/dnn/onnx/models/slice_neg_starts.onnx and b/testdata/dnn/onnx/models/slice_neg_starts.onnx differ diff --git a/testdata/dnn/tensorflow/tf_graph_simplifier_buffer_overflow_net.pb b/testdata/dnn/tensorflow/tf_graph_simplifier_buffer_overflow_net.pb new file mode 100644 index 000000000..9a6c03d5b Binary files /dev/null and b/testdata/dnn/tensorflow/tf_graph_simplifier_buffer_overflow_net.pb differ diff --git a/testdata/highgui/readwrite/pattern_10uc1.tif b/testdata/highgui/readwrite/pattern_10uc1.tif new file mode 100644 index 000000000..03ed65c9e Binary files /dev/null and b/testdata/highgui/readwrite/pattern_10uc1.tif differ diff --git a/testdata/highgui/readwrite/pattern_10uc3.tif b/testdata/highgui/readwrite/pattern_10uc3.tif new file mode 100644 index 000000000..2b05cc8cd Binary files /dev/null and b/testdata/highgui/readwrite/pattern_10uc3.tif differ diff --git a/testdata/highgui/readwrite/pattern_10uc4.tif b/testdata/highgui/readwrite/pattern_10uc4.tif new file mode 100644 index 000000000..7ee0dc4a0 Binary files /dev/null and b/testdata/highgui/readwrite/pattern_10uc4.tif differ diff --git a/testdata/highgui/readwrite/pattern_12uc1.tif b/testdata/highgui/readwrite/pattern_12uc1.tif new file mode 100644 index 000000000..30beaf993 Binary files /dev/null and b/testdata/highgui/readwrite/pattern_12uc1.tif differ diff --git a/testdata/highgui/readwrite/pattern_12uc3.tif b/testdata/highgui/readwrite/pattern_12uc3.tif new file mode 100644 index 000000000..9a8b7dc51 Binary files /dev/null and b/testdata/highgui/readwrite/pattern_12uc3.tif differ diff --git a/testdata/highgui/readwrite/pattern_12uc4.tif b/testdata/highgui/readwrite/pattern_12uc4.tif new file mode 100644 index 000000000..00a7c4f03 Binary files /dev/null and b/testdata/highgui/readwrite/pattern_12uc4.tif differ diff --git a/testdata/highgui/readwrite/pattern_14uc1.tif b/testdata/highgui/readwrite/pattern_14uc1.tif new file mode 100644 index 000000000..9cabdc1a0 Binary files /dev/null and b/testdata/highgui/readwrite/pattern_14uc1.tif differ diff --git a/testdata/highgui/readwrite/pattern_14uc3.tif b/testdata/highgui/readwrite/pattern_14uc3.tif new file mode 100644 index 000000000..c5562c2d4 Binary files /dev/null and b/testdata/highgui/readwrite/pattern_14uc3.tif differ diff --git a/testdata/highgui/readwrite/pattern_14uc4.tif b/testdata/highgui/readwrite/pattern_14uc4.tif new file mode 100644 index 000000000..422d539f4 Binary files /dev/null and b/testdata/highgui/readwrite/pattern_14uc4.tif differ diff --git a/testdata/highgui/readwrite/pattern_16uc1.tif b/testdata/highgui/readwrite/pattern_16uc1.tif new file mode 100644 index 000000000..192e757ad Binary files /dev/null and b/testdata/highgui/readwrite/pattern_16uc1.tif differ diff --git a/testdata/highgui/readwrite/pattern_16uc3.tif b/testdata/highgui/readwrite/pattern_16uc3.tif new file mode 100644 index 000000000..eca4cfe04 Binary files /dev/null and b/testdata/highgui/readwrite/pattern_16uc3.tif differ diff --git a/testdata/highgui/readwrite/pattern_16uc4.tif b/testdata/highgui/readwrite/pattern_16uc4.tif new file mode 100644 index 000000000..ca23e2940 Binary files /dev/null and b/testdata/highgui/readwrite/pattern_16uc4.tif differ diff --git a/testdata/highgui/readwrite/pattern_8uc1.tif b/testdata/highgui/readwrite/pattern_8uc1.tif new file mode 100644 index 000000000..7ee7366eb Binary files /dev/null and b/testdata/highgui/readwrite/pattern_8uc1.tif differ diff --git a/testdata/highgui/readwrite/pattern_8uc3.tif b/testdata/highgui/readwrite/pattern_8uc3.tif new file mode 100644 index 000000000..e71047efd Binary files /dev/null and b/testdata/highgui/readwrite/pattern_8uc3.tif differ diff --git a/testdata/highgui/readwrite/pattern_8uc4.tif b/testdata/highgui/readwrite/pattern_8uc4.tif new file mode 100644 index 000000000..1647a7242 Binary files /dev/null and b/testdata/highgui/readwrite/pattern_8uc4.tif differ