From 2702fbcce31d9c96261422acc5a28d0c389ade02 Mon Sep 17 00:00:00 2001 From: rogday Date: Mon, 31 Jan 2022 00:52:19 +0300 Subject: [PATCH 1/6] add tests --- .../dnn/onnx/data/input_slice_neg_starts.npy | Bin 168 -> 416 bytes .../dnn/onnx/data/output_slice_neg_starts.npy | Bin 168 -> 136 bytes testdata/dnn/onnx/generate_onnx_models.py | 49 +++++++++++++++--- .../dnn/onnx/models/slice_neg_starts.onnx | Bin 165 -> 214 bytes 4 files changed, 41 insertions(+), 8 deletions(-) diff --git a/testdata/dnn/onnx/data/input_slice_neg_starts.npy b/testdata/dnn/onnx/data/input_slice_neg_starts.npy index 796895eaf4fe024771dfd342b3d2cb005fe6123f..7360d81acdb9d6778235e84fab0ef63b481cadc1 100644 GIT binary patch delta 319 zcmV-F0l@yK0iXkrJq|J~ATul=G%O%9DJ&p;kx?#@UEnwWu0D zGM3Q4TfqmwQ(x=9?7sUyj`2vohElOTCaSeRXC`ky*c`IIGk0D;1DZTOZt$+Yz5T{K z;n1T$v(A5FzvDp7K4Uo^ynPAgzjt6wzsA``K28s&KbJ`MpKz}dBqKUP6uJS!jUztZElzV##I8$Xb=%fHeqQ#(vshrbC`4!?8? R+dN|0J3c7|@xJ)0i#}21myQ4c delta 64 zcmV-G0KfmB1E>LzJqa-^ATcm0EFgW6Q7(~S3n>am_1!+{``y2!1FOHf7-K)&m_$EP W?`b_*Rb@ViO$|RAEEK=_Es;F_v>59E diff --git a/testdata/dnn/onnx/data/output_slice_neg_starts.npy b/testdata/dnn/onnx/data/output_slice_neg_starts.npy index 796895eaf4fe024771dfd342b3d2cb005fe6123f..eaba197b67f201933a55cbfddde14d6f113acee9 100644 GIT binary patch delta 34 ocmZ3%*ugl#f!jz&!4QZvbrfnR2I@^rVB_SPcA;VaGd`|;0HF^GrvLx| delta 61 zcmV-D0K)%>0jL3xKn5`|DJ&p;kx?#@U<)YHFQkqywwJx)@_W+?Yf^QtxR! TSyg2|h)oSY8!QyR`7Mz=*0mT^ diff --git a/testdata/dnn/onnx/generate_onnx_models.py b/testdata/dnn/onnx/generate_onnx_models.py index b930c84d2..47b1cc887 100644 --- a/testdata/dnn/onnx/generate_onnx_models.py +++ b/testdata/dnn/onnx/generate_onnx_models.py @@ -434,16 +434,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 = [ diff --git a/testdata/dnn/onnx/models/slice_neg_starts.onnx b/testdata/dnn/onnx/models/slice_neg_starts.onnx index 07c0c9966cd4d882eb8854de6b1035cc442c10c5..ac41c39cef100de6403d0751fc2011fa58a253fe 100644 GIT binary patch literal 214 zcmd90VN}mBpIO!Ks2KhlK?*e<1Ra4 literal 165 zcmd;J6Jjr@EXglQ&X8g@)U&keW8@0pVl)t9G?Zcw&dE$pjWikf0bBTX9KZQ3*o$KO<0FNC0esZdPWAZfZqAeo;x3Fvt!* bE*=g>Ar3Ak4n`p6N&*TRq6<1P32*`cy`?Ub From b840f46210d1d417c2e76b4170deaf3d1ccc8492 Mon Sep 17 00:00:00 2001 From: Egor Smirnov Date: Wed, 16 Feb 2022 19:00:40 +0300 Subject: [PATCH 2/6] add lstm tests --- .../data/input_lstm_cell_bidirectional.npy | Bin 0 -> 288 bytes .../dnn/onnx/data/input_lstm_cell_forward.npy | Bin 0 -> 288 bytes .../data/input_lstm_cell_with_peepholes.npy | Bin 0 -> 160 bytes .../data/output_lstm_cell_bidirectional.npy | Bin 0 -> 608 bytes .../onnx/data/output_lstm_cell_forward.npy | Bin 0 -> 368 bytes .../data/output_lstm_cell_with_peepholes.npy | Bin 0 -> 152 bytes testdata/dnn/onnx/generate_onnx_models.py | 33 ++++++++++++++++++ .../onnx/models/lstm_cell_bidirectional.onnx | Bin 0 -> 2336 bytes .../dnn/onnx/models/lstm_cell_forward.onnx | Bin 0 -> 1615 bytes .../onnx/models/lstm_cell_with_peepholes.onnx | Bin 0 -> 841 bytes 10 files changed, 33 insertions(+) create mode 100644 testdata/dnn/onnx/data/input_lstm_cell_bidirectional.npy create mode 100644 testdata/dnn/onnx/data/input_lstm_cell_forward.npy create mode 100644 testdata/dnn/onnx/data/input_lstm_cell_with_peepholes.npy create mode 100644 testdata/dnn/onnx/data/output_lstm_cell_bidirectional.npy create mode 100644 testdata/dnn/onnx/data/output_lstm_cell_forward.npy create mode 100644 testdata/dnn/onnx/data/output_lstm_cell_with_peepholes.npy create mode 100644 testdata/dnn/onnx/models/lstm_cell_bidirectional.onnx create mode 100644 testdata/dnn/onnx/models/lstm_cell_forward.onnx create mode 100644 testdata/dnn/onnx/models/lstm_cell_with_peepholes.onnx 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 0000000000000000000000000000000000000000..c8157ca079fb1dde90cd697dd8156466585853ba GIT binary patch literal 288 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+l>qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I$7Itr#b3MQI53bhL40j?dlT=q*?%-P?zL&$!@KO_5QiP?4&xP0uUTdE&W z*Xp&a(EhpiOVOtN$_vu>w>E9urxp{q@1k&oU6bYxdpEH>d)^al`vV$Q?H4|N)IQ(* zqFw0a%lm73|JWrL%kDRNz1+U2F=L-wkcNGT?WesylDhVK^Plg3;B9Cx5I@u2w{wL( m=e>6Oqi)Lk*$W=n-M?FAFPdJwUn7w7z}!!V?Ho>B+y?-Amt`0L literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..79fec64e7f2047a079adf4078515fe43e9a2ba2d GIT binary patch literal 288 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+l>qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I$7Itr#b3MQI53bhL40WMvSH~Ut8leW#QTDf1Alh1xlS=W9y-j)0QD0kbL z)OYV+(H>xb{xIJ@ANxJ~6186K(|BdEf5uWad*9gm`&QIA?o;Dy+rO+O&9048&;D*Q zyS>+C@BI;C3-?I|HtrV^-@R|EcI5tPJ9gT+uyEU-=-9sB{BYO)mzSCMiAL+~U$biY n{xtt1_J?yh_KUu}wlB8cWPiZv9y=ZZAG?QT_igu`3*Qd_J{f1+ literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..2078f9ab297198cf88e5156afb2bdd43cda060b3 GIT binary patch literal 160 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+l>qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= yXCxM+0{I$-ItoTQ3MQI53bhL40WJoH273ku1_vMl;szjI0K^A?_yG_zI0673uptTn literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..6e3d960389f7b1a65f5ddd7bd0c742cc5c905bde GIT binary patch literal 608 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+l>qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I$7Itr#b3Wi3SItsN4WC5-)g===Fo=fc0ouY2%@PN_2@3PchP4|=gwrt;J zEBboXzNo@xTSeY)b}_HQ_g6_~*qwOCZ+B}&mu+;#S6kisXEwak+V?sYsoNzlmbF{x z(ZtMUK6_vonwc49YX+CAKsyLaNDSX(A>6T4s0 zg8LK9)NB(NIP44LtM+pkde{Z*e{DBWdBNT{cC+^`dUf9}f?=ZFs_?9RZv<}G&5cyw zm%iO;Z&Gu+{fXdJ`wTTK_IaHVwEt6)x^II7tKA6&Vf&7NwRg zw#fb}Svk}0ajTf!0-bDIWWPT;WnjOB>7AWl_GJ`*oejTcm)w(NGvVTdeaL?2@JY4* MqoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I#yItr#b3dWi`3bhL40j|w&_uD2ueY5*j$`_lILsRT*7i;g8h+k-Xfa{)Z zw$o{=O$j1)Pt^?V7QE%(n-fuDYj{1{?n3e6y}xYc*oH81*%e=$w)f$K&Rus__u4(@ z3f${p_rmt^gpj=|<+(QN%iC?|Ja)BNJ=b{etBW3XijB>7_31bF&fKMIM~Pmsr+4jQ zGpqJ7l*;Tb-TlX|L;LIAB(7Gw7yBRWU42W{_J*Up-G`fVY*edP?vtOf+%7xer(KD_ L)qS;-H`xIIteBID literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..a2d0e27770c46465a3f908523486683315320476 GIT binary patch literal 152 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+l>qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= lXCxM+0{I$-ItoTQ3dWi`3bhL40WN;d19mVhAggB&!vHo#AejIF literal 0 HcmV?d00001 diff --git a/testdata/dnn/onnx/generate_onnx_models.py b/testdata/dnn/onnx/generate_onnx_models.py index b930c84d2..93e8874ff 100644 --- a/testdata/dnn/onnx/generate_onnx_models.py +++ b/testdata/dnn/onnx/generate_onnx_models.py @@ -859,6 +859,39 @@ def forward(self, t): save_data_and_model("hidden_lstm_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 0000000000000000000000000000000000000000..dd848028f3b5c04609940e635aa61dd85983ab42 GIT binary patch literal 2336 zcmd6oc~BE~6vwlhK$0aY*?8b09;w!vqGdzKf$UqvgUV1H6;IR{B@R&xND>9lsEj(^ z)lTsi)R9qXJ*c%K?r(K;)D9>jD)pFpwd#0`7Ke&CVnMN9VBSN#!v&Z-5#&Q?X}0~Rjs~ZJwb)cab)?NhNXmx zRE4PI;Y3QFOy=kR3o9ZNR4GA|Y)nwP?EgC5NGinT&hdF^GA@o$j>>f8IPFG#NRvaE zaIZP&D6v6DiD(6{30J152wC$d5$H6x2(T6sB&5>N52pox|qA0>f;dyv&ETbBnm*a3}*sc1|W{-N0%4}*y zWotzhhZn^$VXeZnv%xC;XI9;CJQFr)xtUS7uwvN&tbTY96EIsCO@NP`HU1+l4AzXn zzRx4LX8(qZm2gR^Sg=`X(!w(87F;Z@-QV%T$+IyOo{4808FdRVHZDNS-6Ae&>!$sU zk{3hCa0px(3np!e#fEie!RkvLmG*_5HR~0UV~C>E8LnLCG_Nb$t#32c6=*oJiU_%Z zrou8^85vHu-Q$|)jF3wO#OXKfXJ#~Mxem7{C)?w+vlhKN&@yN#MUFFfR-!DCOe7NV zDkYVSqg#TJS%Va2XjNEOe6=W3B3c9%_-SnUB;ohK;mz1^4J=lM8tL>j{he5wUfJSP z5-zMqifE;GKtSbhd14ZeP_75eVutZ*|}cBCF!P%2q%&xmMN!*;(a#~ zE>C;JUA}oRfvj7BzKuKsFSn`16$dKe;?{hWq~C#NRQX}ZZkhPBq*KEE{$)@QPxDXs z7aX}r1}C5G;Hb1a!lLz2f_9;nA6BveE%9@LHFpX6(Yi-)`FC&+^NZ2*BZHvV;zDli z=AWU*oifyR{?&y1q#Cqf_B+n^RVe>*idGDJLyOCLk)XU(1>=&}rc*F+z&N_a(p0-O3{2IHpMT0T$%<8nJP4;?458WUdC%H z@1yG#(a85`02D7E#I2g$@X6gRaD4P}P|Z1sPWYEW=kFGvS0ztj(99|%w6Bfdb6dfm zYoPh`{s$4i>k2pj;A$>n^C~nrDHT15)A5h2hfwx99UuBr8}Zs9x!ADo7?k#&%iYRS zag&bhK_55HMJsMcqp^Rq6S<1|giBqkxpKYiMDM2nzi=8piH(B&S>sTz;U4s&yMXGS zRHE!zNT}&vEf~-1L|@;!1d>^E^4{Ge+{PvMq33~i{HQ61P#2$0D7cq}3al#8)VUU| z`GMkXs6g-uyU-@45DHfehdUP#_o}Kb#9k+O#h9^Bznu_^H(o~zhc1PzkBYgg6G~y{ zg`Kb=c`uy3@dQOr$m8~}SMxU-_M!{(<@|_@NEp&k1+qa4(V*m&z=g`i$GtlW+l+&u zER}`EiLW7q)AEPrg!0_nb8x+;3PQi!EIgb3E2_y$M~1^>Q%Ue^DyhtvQbhWCbO*=U zi|A^nGu(`;i=pG&Of+IuJ){>$3Uj(Hhuq0D->{v5yOq}j_ot^}$*T}fJ<<-k3O_t= zr$y-%i{YsLCT#rPgrasAftl%p-W)F#R!_YkShX|DuZ^)I(?$w9SdJzPbd*EMs24(X zuUTB$vvhQG?Q2xWWkX?VA$RU<7OH-bj4JzVfQs!pv3j~n+%)(Y)V3Gk^zjg}+BF60 zs~@79x9`BQ^f2))>4b8aht}4Xq0PxI)aIMtQ1q~8$bauJ)FpfkwaaW!-;?HJ%e7+T z=WWH3Tj$}dRnFVG9D_Z}&qCJQ24wpE8a!SdCT`IwV0!Us)VXE`8b7(3o8-wvkNJJ0}Dl5}FEE5wwQFu(5?;Q%sG(H-nA-a72?thO7Sq D^y1*+ literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..f80bb75f48b6613869a32edfb3f8fac3d398afce GIT binary patch literal 1615 zcmcIkZERCj818Lv+uPG_l)Gq}OPr=LM4AkHy4x>VPsz+&s6dEgapCJy)~hYqy1I7F zT>K!!{eT|>KNtua2LuF_WQ#F#Zui`UC@gVt{LpNm=;q8OvY22r(`eB5($62@4-;?l zCht98&+|U-a}H|mgYUdfRfFAEirZdrGMshp3LhgDB8MD#0 zF4^@2$8bi@U}qwAI^DkTe~kf#)!=+(aQJ_QTZN2?WU4E}>pcO%+!T+dWXa<+-bs)M zqroyVwPj=+h1zX)bA)4bxlgO08o^l*L0(_$7P!V}CN6hMqSKViPz{1{n8Sj#IhlU0 zOO|_N$?LQfe_U3?M!V(odffnHMm|{TDI?)4BOw$>RC0_)!%#-!QKa`{fYQPPXLtpz zajnsen|u3EGVUI3JBJM zGbCJYlY2|`AmI5S09h>r&!G5PXpBEj&XpYfp z05}np6+v0AyHpFb^DedU_B(gJW^W=>BX_4dIy0^*2ClS?W9>{m@Q;i$hRHcP_GAUU z@B82A;r5S6X#E&nHk!lJ&p4>5|N&7 z+ea$Yzdy9n`s^(-e7P;OU~45mT$rJsAAg#>{Lm|kV^5{JbNLhEe(zi5=9&F;`^YHy z;OI2j^dqA#eATS%82^PNmt!Pu`GZuQh|ti=(-h;|WT-t$s^%-gOSiIg#iT;-KXy>L z<#eO~1gXXD3?e%p1exLUJ$t zYtTZEZP`$F^Q2k*W?^h}^UkDluyd>O>aHclXuCl!t-eNXv`o;cEeFWR^+nqF?w|DJ z$08YHt#xlN9H6c?kldls^SdLvPwb+~{AQE-bM!Mh(>qTG*;z_oKSy4yTovk&tZFYl ztJHo+>Gq{bdSyqPMEL8WtH({@Ia4*gcyT{DJ#mUQdi&|(r)dolnEmtL>pn5Q(ht$6QwWak*(hV+~s!U)0caUif4Uz%a_GlqJ--SQ8! CG}hh# literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..32b019284d731cdc857edb140010179231039055 GIT binary patch literal 841 zcmd;J7vf1uOwLZtOVKS!EiSRz#KslM#TdcG7|z8Q#Kq{u#aofPk{e&1S&|W7keXVMk)M-VtaXl&gOP)WgGGSRi80*k0OQ#+XKaTu)|vHiTDm~DFmZsw3X!(FByc$j zoAP8l%JqS!bAo&t;H5%Lnu-z!rhXwIE&&ckAs#L!4n`nm0%DdVNiI+V$0Eh-#3aB6 E0QpQgrT_o{ literal 0 HcmV?d00001 From 41513f88beeeaa49d513163fb7eb114ad8a4b1f6 Mon Sep 17 00:00:00 2001 From: Pierre Chatelier Date: Fri, 11 Mar 2022 19:07:03 +0100 Subject: [PATCH 3/6] Merge pull request #962 from chacha21:tiff_10_12_14 * add sample files for 21701 * added 10b and 14b sample TIFF * changed TIFF 8-10-12-14-16 patterns image size Using a 15x7 image size is more challenging for unpacking "incomplete" bit packets --- testdata/highgui/readwrite/pattern_10uc1.tif | Bin 0 -> 392 bytes testdata/highgui/readwrite/pattern_10uc3.tif | Bin 0 -> 664 bytes testdata/highgui/readwrite/pattern_10uc4.tif | Bin 0 -> 941 bytes testdata/highgui/readwrite/pattern_12uc1.tif | Bin 0 -> 420 bytes testdata/highgui/readwrite/pattern_12uc3.tif | Bin 0 -> 740 bytes testdata/highgui/readwrite/pattern_12uc4.tif | Bin 0 -> 1045 bytes testdata/highgui/readwrite/pattern_14uc1.tif | Bin 0 -> 448 bytes testdata/highgui/readwrite/pattern_14uc3.tif | Bin 0 -> 818 bytes testdata/highgui/readwrite/pattern_14uc4.tif | Bin 0 -> 1151 bytes testdata/highgui/readwrite/pattern_16uc1.tif | Bin 0 -> 468 bytes testdata/highgui/readwrite/pattern_16uc3.tif | Bin 0 -> 894 bytes testdata/highgui/readwrite/pattern_16uc4.tif | Bin 0 -> 1255 bytes testdata/highgui/readwrite/pattern_8uc1.tif | Bin 0 -> 276 bytes testdata/highgui/readwrite/pattern_8uc3.tif | Bin 0 -> 580 bytes testdata/highgui/readwrite/pattern_8uc4.tif | Bin 0 -> 835 bytes 15 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 testdata/highgui/readwrite/pattern_10uc1.tif create mode 100644 testdata/highgui/readwrite/pattern_10uc3.tif create mode 100644 testdata/highgui/readwrite/pattern_10uc4.tif create mode 100644 testdata/highgui/readwrite/pattern_12uc1.tif create mode 100644 testdata/highgui/readwrite/pattern_12uc3.tif create mode 100644 testdata/highgui/readwrite/pattern_12uc4.tif create mode 100644 testdata/highgui/readwrite/pattern_14uc1.tif create mode 100644 testdata/highgui/readwrite/pattern_14uc3.tif create mode 100644 testdata/highgui/readwrite/pattern_14uc4.tif create mode 100644 testdata/highgui/readwrite/pattern_16uc1.tif create mode 100644 testdata/highgui/readwrite/pattern_16uc3.tif create mode 100644 testdata/highgui/readwrite/pattern_16uc4.tif create mode 100644 testdata/highgui/readwrite/pattern_8uc1.tif create mode 100644 testdata/highgui/readwrite/pattern_8uc3.tif create mode 100644 testdata/highgui/readwrite/pattern_8uc4.tif diff --git a/testdata/highgui/readwrite/pattern_10uc1.tif b/testdata/highgui/readwrite/pattern_10uc1.tif new file mode 100644 index 0000000000000000000000000000000000000000..03ed65c9e1eb03652cb51be5f54829b1839de79b GIT binary patch literal 392 zcmebD)MDskU|_iMd2Q}e&%mi6Jw8dAw>ItBqC02f@@y@x>d3HA#l(b{Txp9|XKS3? ztaEdrd&sqxpGm2&X5Blw_3xX#>$9^?EnShh%dLI>^{E>Z!$eK8BBzyRdL-y-%WYiy z+B1`b;Q)h)uke(cCZRK`+NzMcefT^RTo7#Nuu z7=i8qvKSblY<3`<3CiXIvYDZ5kUBObHWw0GkdXy!4hK+;5R$kk5?c()2AMAoRo@C^ z%OI)I1hSccVnEk0*fFw#*%d&G?SX7Ipr{AP5kS!TIuJ-UFdY860>ouHd&UPuGeYPF a1}LAY|Ik;ExPZCT0uarl-461R0s{aN#8h?w literal 0 HcmV?d00001 diff --git a/testdata/highgui/readwrite/pattern_10uc3.tif b/testdata/highgui/readwrite/pattern_10uc3.tif new file mode 100644 index 0000000000000000000000000000000000000000..2b05cc8cd3c93e357aaa53ea67ad0d79b01e6cd8 GIT binary patch literal 664 zcmebD)MA*y$iQ%A>ps4B7dPthH$S)`*4pbBD59EZA13})w$An7g$Vy(k!NB_VawY6$+r${U$tiE+l7l>-#WEz-i?`GTNY?^u1$*$FD)(gzf$ry zAwrCet!4geKTdU7UI}SJ!*u!l{R-Rm|Bp*M;|0f(GKZX~>r-cD zhF+g~mqBRSl^6zbu`L@{%%3U!f9i&}@peBRtpERd?k4?znxL_Pgf={{~Qq_|FvzHI8=Q<&`=p9^_oC7$ZVi%80;8X!R!v8fIX1S z1{95eNHTDNVe9KapjZRL;jb$|TA0qB@d43{5W0Z@%4h07^c5s7U@o-)L^El(14Euc GfdK&D4Be{$ literal 0 HcmV?d00001 diff --git a/testdata/highgui/readwrite/pattern_10uc4.tif b/testdata/highgui/readwrite/pattern_10uc4.tif new file mode 100644 index 0000000000000000000000000000000000000000..7ee0dc4a08c7df133d372b97d047961283fc92e3 GIT binary patch literal 941 zcmZvaZAepL6vv-!=EPN6?1fZFFmS244}K69C=sMXt#oTsCzGX-@@2D@)EqHO(GNl^w49FcLw!g_nOUHzEco|ay@W(u?)m@DIsfO}b1zq+NFZV^ zA^x>j2QleN^1$bMSqz<4Y=I(A*bmhyQ3gz>HSvfGn@B;nQs_owue1sG`wa_t>`3rp z)S2kTyXQv)`0(pW7ls`}THLZ5n(%bU5sgbFfdJ~xYSvMauXdwWt$9JS-2Qy>IX`x(B`rFyyd%F+8*sjYn>e2T$CdAY3D(SRroy|q`6>>gKqb{dVi>o;jKa2(Q{irJN z`Eju*@(z@Rw`ajSpw2*AdBBF&u@?fo9;V-5^^-FK_?#pF7NtR0a`OcsBs2pY!kMLk z@X%)+PhrAwIIfXN4Azqd3|g&m@HTRl_&s;VhRwNFJ%0F9eyq=n^w^kh?Z-^h`zhG# zsgE8jWkLfUw2S%w4L!Ej06N>|+}okcCYsujZgu}TON4}Qc!X|9BIwOwnNOKZIfQBq zkFL+w8DA*N^j9L`JL-EmT%w@0GV0&Q3E7$%M)UnUJR+8vxnh=?XGvK99y&CNvuo?@ zZaOELWg+F59do2C(=s_snc0PIPtvHLVHItpQx2tkh;kn5-}Vubl47HskiQyEwy*0; zxwLL2lWPN13HR-rY(_cTY9(yWZJAhO>XE5Y-HdV*Z-!HeB_|B$b+IPng_=^GJht3y zu9nMWrN+uiW0fh{VyG}w>dFiy$;KMJjLBq-U4BxfPAyjHOy=qmvsqVDm0Vq=Cw~A& C>TziR literal 0 HcmV?d00001 diff --git a/testdata/highgui/readwrite/pattern_12uc1.tif b/testdata/highgui/readwrite/pattern_12uc1.tif new file mode 100644 index 0000000000000000000000000000000000000000..30beaf9937f69af4143f325e18df47db6337e005 GIT binary patch literal 420 zcmebD)M8l0z`$_h&YNr3rg^%gga#S;cy!F2b!yLEo|_jouDrQvg+_H*SZYd3Vur

B}p1Rb-gX7YfnvJWgw`^U?!C=6^U}EfSX`F0gn%dq`(a=%R+4{`fxY@#> zq}&~h)bq=}7nFU^FINX~3mEtr7#Nuu7=dmDvKSblY<3`<3CiXHvYDZ5kUBObHWw0G zkdXy!4hK+;5R$kk5?c()2AMAoRlg9(mO)aZ31l+?#elA1uw!Hev!?(pwgp&pcz;O8M3J{m+>=_>r%?P0z7@&Nn{zG3u;sWMU3qUlJb~_i4QeXf8j6!3l literal 0 HcmV?d00001 diff --git a/testdata/highgui/readwrite/pattern_12uc3.tif b/testdata/highgui/readwrite/pattern_12uc3.tif new file mode 100644 index 0000000000000000000000000000000000000000..9a8b7dc519d1bafc54eda75e64bec0af0e02c1d4 GIT binary patch literal 740 zcmebD)M9wT$iQ&rZ0>{GyDy&cd2o;S!8NvwG&4sR7bn+Nd)LfFBDd+WmXU8_zX-@b6hj=j6Jwr$_u*?zsH zgQKHuTUy$+^3toN#b4Z=za*rwC1gmnv_J3ac+t}FV)~39lV|>%G4to@Rh&y!b1hyl ze;)6aUBB+%(cZJK?$MQ$n9!}dMvtY`!Yoa%E|@Z9*HGKpUp)W+|KHyKA13taZryqF;Z4ttYv0OfS-p9t=H}1$>B-dxx4JBC z*BV(_b#;0D`Skh!zjOLlTK_*e`A17>+vJoN3;+M2p>1W=&@`#6ASZ2GWm#HgYH4M8 zIRnd*+{8i#)}z@;hgU3rK5_p4sdKEa-ud(6hsOW^>*vnt`Ty(G#A$9G9vTb`3~32K z;v*0N@T z(xAx5u+Y?*Q$wR8D?>t4r%hE2iu@Uu#_D0-~q$d*MUH>28P35SAeuIojv0N fq8TA{0|S)L)PLwJNL;{NY5|C5(r)JhQVI+J5_Jkp literal 0 HcmV?d00001 diff --git a/testdata/highgui/readwrite/pattern_12uc4.tif b/testdata/highgui/readwrite/pattern_12uc4.tif new file mode 100644 index 0000000000000000000000000000000000000000..00a7c4f030cffba3d065c6a51623da78b5a9196f GIT binary patch literal 1045 zcmZ{iTSydf6vqF1X|<57D5D!m7rNp`JqTN57b&-_rQDRRqvUF)>zK2y73D}}t&vSo zi*~WuC`H${&4(T$WzDPyFKkf}Mj_p!5QAFE628vtP9a1LeCPK+^UZh83}ZIWXJuN( zp1ric>chR()UF_&^w^*F!ItwNmxnp|*g6ZWX&qJ$f@6HKh?z4M&om-6xnsQrl`fY{ zLhbq9S{XiX=XF0??sT;T@Te!|VGzA9YkT|9?EQ2<2-nFAH8O5C&2RSO;Qsw(BFaju zMG^Tqarr!)C2psPl;m@3Ey&D?%j9v?m2yOaR5?kKP;$s^;s_Y+NNZdyt? zb-w;P0o?HQ2Lia&>gxz1BV$e$kEGh+SP*D0=}eTp9pV5gU^q) z+m*D{<4)7#Al^Oy`MM8-zkdAyFjPPyRaMcHi?xSOOK9-f6O(YdYA0>Aa>Fv3l9D=f zQO2enFSc;FR8u3%`0#et=K=J;)i?U_?M(+w@n1cAH-LkJFa(qdX?1>x!s^2!c&BqO zkHQ@11`Y>Gqef0gT6+C7BXoxJY#z(knGT3>%L8X5baofehTlHU{W1UyMz;k>&Ga=& z9oBLQj4|?S7^7!NSuE;3i*#Yt$D+wo9y1+{o)yutr19EVbhWRVZNyM$%T^A9AzM0! zFYhMM4&Or+#6LoH+c-RI|GF>UEQUtVSQs zjHdIrVV(&pE4gthE3+o5ekX-a){F>0>!6$|Djy=AIxJ_d%G74_h?QMvd$yeX3b)XW zBw_>cDdNqlKjLF-$&zZiqyJlDSmdhsyovhd>|UsWD%19Krz%wwspU*PYo+#((jSvJ z*`rkLf)k^t#IrSd1-5vBFDc$_GsW+5IEqY0<8Iz==L>~|(!BgUyDd8}D}gW0H7X~g aVmEEHrYCY%o8TzQayV?og$YH4x$HN`@~t2M literal 0 HcmV?d00001 diff --git a/testdata/highgui/readwrite/pattern_14uc1.tif b/testdata/highgui/readwrite/pattern_14uc1.tif new file mode 100644 index 0000000000000000000000000000000000000000..9cabdc1a0e2b47815d7f6de5c5e32bc09478bb5e GIT binary patch literal 448 zcmebD)M7Zsz`$_hy0vX?RFtQuq-dzeNgqEY&6}^a_Uv}Ho!hW+Q(3jP!h-6`snf!O zgc6hZI62kQ7A@MgTbtqJX=9x`x1`)XeZ$)N`;(I5qGqjqd-QmG?Arr-_kH`FowH`? zvbN5hOH$ff|9+o7TRJf@G1b%|D|6x_8@KY#Ij#j{pOMiOGe_ zlY4tjOd}&I5+61+$w|zZKHc2n!Q3j9cKdcg;ofcE?#uxTIxz4v zFfcMRFarGnWHB&8+3Y|z6O_#dWHUqAAa!g=Y%V0WAR`Od91frwAtZ58B(@lo4KiOG zs(vq!ErX;+6Ub%)iUD22V8_S`W^VvmY!76!0Yw`?jsSwz*MUH?f#LAi6(BCt*)u*M fnh`=bFhKcC{fEAS#0AWy7Jz6b?RG98rN96H$CGY5 literal 0 HcmV?d00001 diff --git a/testdata/highgui/readwrite/pattern_14uc3.tif b/testdata/highgui/readwrite/pattern_14uc3.tif new file mode 100644 index 0000000000000000000000000000000000000000..c5562c2d4df4b12c470dbe2a035450be00dadaea GIT binary patch literal 818 zcmebD)M7AVVqmy(IXaH_-MfpIh52}Ym_NAN*w!}VhNGjPh>Dn)y<=kf_luY6YGM*E z9&PmxG&Fhg_;GKamF3Il>htF9+O=zS_MTm@UZ38w<-&Py-@V&RZ{66wZPl7R^X@HN zq^EuR&6;gn-@ceJKfa}niKAoIt+dpw+snhlOH2N;l=NRnNNj9lQ%GoO{rO|X;>9g( zR+g2?k0(#6tL$9_$=%)2>FEz21w~7nZpM4NhMW80{rbYe5AH2mJbBwTBcr~K6)QFW{Md8; z|8FaOqptq{CprCtjvd)_z>Dl5s!UAuhx%$b>)vEkF_-eq9a zRJ(Tc7z1Nr*|u)(6)S)Kl(hdpbvi$9Z1LwG-?;ey|JyfrzOwxP*IE-NPMp%RU;zUI z16!H{khB323=B(_00~V^Ai*`Ofq|QE+Xe;(hpk(Hd~-7afrR}3mx7X$|9^RM`O2q{ zp3aN++eJh=`v1Qnk(yp!bm&CK4vMn-0aObH6AD}8!HV)@dg z%dWj#nV!0ERaWH9^b`hu1_nlE21cMIKo$cdl+6xgGXdGmK>7_ZJuySYLF(9`Y@jd$ z7m~OjBMaCZ4xqRYlDH_84Khm%$_AM)4ppxSG)M+Xy(W+iG8^a`20KPpFk1kX{Oi!g86(}qm53iEp+8Q(C z8IFZ1AMJl$hWWL{OTPy8G(4TQTOiO}?Y#ng+1?qtAkf`)=k|cW<-wK9X8~8P*&G3Z zj?S*`H)ZT@Xl>gg@KyVTfh3OY+ZQB^0z2Ou8Jz&i>~;001*$!g%_hTWT9o1z*lew< zkLCFAgE@(59DZM(@gDH;p)Gc=j3b}<8gv{dLS0=nwxjb$#q-z~H8p1i+E3Qh+y_p5 zQ&w)~Sa13MyLlXZ#j>R-93{o+sZ`b1nT$b!SB=+i91w6ithNM>P$(ngD$v{WRyoBT z{Mom6ImgJ&o}NsO$X^fOmjNU_Ne{ojbR&&De7I!8Eg*QjsK6!Q^RHh=aaXK--ArSR ztNDv(1lAU0FSE$_q&YP`0*sE#jPDT`8`J0x3EUkYpP;cPPu%z|nGWRL>wo+tuye=I z)r~Ub9hZiOLCFFKTLmf{fdfN;*L$vapFn}7t>rQh71MYyPeyL8Z&#B*W7GY}Ob$BR zWD0-xj&6251%2?c`7s6ZH_*{-^UO_*<6w-%(mD-e8ge0EjHC7FEd6uxB)lZ!c+gV0`r^G|}G_ck4?Z2C<@;}Yk6STo7rtEJv z-5Qn8Ag(1IP565hV^L~f(Z#Bqeh#La){oa{nTdKY(4xmR(UYEWRL_~FnX7Wecb>|X zSqZBCS2CTiiJ4sc3(ZYZ`Ay=<(|poYPHmP>T**S|SuW`no=O8a@mS)2k|4H&s!F9C!#i$wWlmOBsng+bR=6^^*~{z>>213;(^+N9QmQOPp0lQKU3N*KBD1o>#{L26CF3Lj literal 0 HcmV?d00001 diff --git a/testdata/highgui/readwrite/pattern_16uc1.tif b/testdata/highgui/readwrite/pattern_16uc1.tif new file mode 100644 index 0000000000000000000000000000000000000000..192e757adf06a53257e08ec1cbdacada514cac3e GIT binary patch literal 468 zcmebD)MB{Bz`$_h#<_FXu4QI=db+uVhAJ!j_;hs4ox5huo;?>X+`PGQ zSEmAjheu*!bMu4=GiNSZw07;LO(##DIdk@GMuxk4aBxP3on2DW^yw>CZr^_N==JOO z?(GGFZQC|&TDo-M!r8MYPHb@fl zQ1zF9Y#Agqnm{%aPz>lA20KPpF#8D5VtXK)4JbMVWeH{oS8yF6MT>;`Uojv0N fq8TA{0|S)L)PLwJNL;{NY5|C5(r)JhQVI+JUc`J+ literal 0 HcmV?d00001 diff --git a/testdata/highgui/readwrite/pattern_16uc3.tif b/testdata/highgui/readwrite/pattern_16uc3.tif new file mode 100644 index 0000000000000000000000000000000000000000..eca4cfe043488d2eaa57ff3cb3ce17aa5d02c008 GIT binary patch literal 894 zcmYjPTSy{d82v}vZK;Rch0Tb9B_e3;f)VW2LsEogRJKwnWFdLUn%uXNh|I)gyO1W` zDH}^k&Fn@u$_gqXXqPTjL|IxdJ!}sl1QEi&|G2_-emLjM;hQtx55wVn1}X{wr>E!V zUhn$)@$v4iHvo}HE*FclvvYHEas&bvOCV@%&C64%==9jw$Ve`?u&}sTukY^G>Bh!J zN5{ryW*iQu)8$%QbGc4Vj*d=FuC6XFE-zPBrlt-Knw!VRySg?u78aJ5o0~g2T3WPP zwYt3>$7M2wLaD5*Y-nJy^72?LQ2=diTCGae*{RcMwL0D4pkCkGOAtdt1mSR)Ocu-B zoY_neUhm@K?5xMLz3p<{-{0M_*+OAOMRIaVN_4bTnvqdiX)fxLh6&gvZAa;o<_qo}RnAr6r^B_O`EYe*WerCdO=j zc&M&svmYOQzM>+p*JjJexV%hDGn+d*Ef&8&H5I~#ht$-G2?*okx!n1A24inesbn%C z)MywCvstZ9Ol)kdugCGGCYh|Zmd|f$QYrx`C{QTqbO3}x98XHJ*;Fcn0mAbZQF6 z>+2m3a(BDEu1+eo+i_ejx7id31R;@BR~rm`K9ASmUyd+5Tvk?5F*sOST3$Xdz(XL2 zsw$DlYOSqRC?+RsYUFZ~YiiKy7!_dXd*mgspbtf!f;<)JS47lcPR_jzdi2YJuvhte zEF{qL4&@(Sa@kpass4 qKi`m7gPkWE8B%`#DkK&Ar)m&V^BC`s}qCbl#Wf&lMC8fK4g+HI<`Fs1<`{9J{TEDU+2u+%9mxo%e~)s&i#Jp zo^#+z(mwHV| z_U-WSn>WCxPotyD%OFfl@G}^E`I7tS?w*?q1b~5oWYTB^0)g3Co+B?Wk>EZ|rsvPQ zy8*L#YO16JxOJ<&y|)*5_bxwwVF7sm{>YJN6j)ly&gMRbhYufq^oaLnG_I`h-VPn= z>jRpa4j#OCk^8mVYiawJvTHQJ=)w12m+s1sf6Hq%t8SD{Tf1=wOZir zUA=zYIv^U=YV~?%H368M+_h`>ZeV4lq@=u@_f|>(78lKC?)T%zvNDdBmwzV!)6)jS z{{6gvosQ3QU7aq?TsIQ268@iW->x74Jw1OAzH@Ky8N&DY>-(?%|Em9s5Gsw};eVoA zrRX0?t4V8#OX;Ce^6b+oT1|TGs{DGDT1b@ZA^*=RZK|f8;*G03n-tA;H!GUIwMFrp z=+EA&`XP1p7@4*y`XuS?tLp4gG}*;o(%cJmFLKDwIzawh(mK)=q>B}Q+9$+;16}k+ z`;9k<^mS#yO!;Op{$YSvsHdKtU{Q@onUca|@@3u`#7tWs8USFA$7!jP6mLBENaOwEQ?OUQam>En=EX_>9+S?o2JLAkP zEJ{G2C_ld-KfegbV&G+9U}R=s1lq|D#EeijJCMx;Wpe=8%uqH+9UBsx3yCer$O1M8 jq+SR~Toj2d24#cH7l*3P1hQq2)Mx_POh7T9YrrG`Md&uS literal 0 HcmV?d00001 diff --git a/testdata/highgui/readwrite/pattern_8uc3.tif b/testdata/highgui/readwrite/pattern_8uc3.tif new file mode 100644 index 0000000000000000000000000000000000000000..e71047efd9e407d09d0a6ed1a396668e7d75130c GIT binary patch literal 580 zcmebD)M9X9WMH^*?ZNJgM;<(QkdTq==;9P%A5rgKCoU`I@8j3s+c$5{ymhPB?%B2H z(uGU6Z`|6x>U8zO?!B9~Rd?35G<0OA<(9{m+Pm8)BqTJp)OGc>^iA)dJb%Xg)eDwv zSUms1mi6}!?RoylEhbu5Pb$?ic7f+ILp77+xa767ckN$(`~IdozxLe!fARnS8~-Of z+B)~)l#Taf7Qaby`|!#4!3xV;MvJ?a{L%maMt{+N75|Oe$I1==H)$_!&@9Wzu1w1e zuPkTq$`xmb$<|p>H}U_}!&lG$X!`$a?uq|vCZ>2aF)*YtFz_=lFf0M1l?>c#85p-R zFx(N4`0ttg-_QS3kky}vfd2`pcXgC@Ffi<6Vcg5izA8Isbx!umtkjj+87p#g=cgo1 z3=f(b7B(|9dU{CMw4k8*aS6*abC;!OEK5%Z8PCYf01QO1MT}53JCM%=WHSTle?UoQ zs5nR+8t_Gx|~kEiWH3$?%qa5DFql0zW8eNdKOr2N}fSIsf1DfB*0EK3eTb=I0oj zoBfL6>2XZY&Oj(NL90oDE=~tWq8(9DQAka_ga)@8?d|R8_4^SF2JvZf67%!(2=tA@ z?Q6x0fdH!Nt5NN$L5Z;h71I zc=crjSM5e5q$Qys#fUo@jYw8&Va+N>Ph&5JT1PSEox=D2Z&({#1;zl+XFuBJn$SI~ zM$?P|iBlucd~8GdL?#|Kbl^wQB7U9sVL7fG{pa4IO1+Nivt6h;a|2dWF)XGuxNJLc zr8ojIp$PF_7w-RU#{02REY~do%|pOF4=OLzg0UiSEP{&RnM_6{$8+UQ_~c6Xcpl?N zk6}GC8*6$!meSMkJ4=t%oE%K5PNPS`Q&vHxgx6sBuO8>;<56zzMs?)nZL#Qw=Jzwk z$rx?Gc2jW@Zztx7<)i~VV=~DXa|(&cW?>=zE{3yH9A&VTpT)kA%!QF0qX6o*))?q3u~b9RIYAus`-t%rn^!KR4J4NMB)rXNpvWw Date: Thu, 24 Mar 2022 12:25:10 +0300 Subject: [PATCH 4/6] Merge pull request #965 from AleksandrPanov:fix_filterTooCloseCandidates * add regression_3192 test * add regression_2492 test --- testdata/cv/aruco/regression_2492.png | Bin 0 -> 36618 bytes testdata/cv/aruco/regression_3192.png | Bin 0 -> 32250 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 testdata/cv/aruco/regression_2492.png create mode 100644 testdata/cv/aruco/regression_3192.png diff --git a/testdata/cv/aruco/regression_2492.png b/testdata/cv/aruco/regression_2492.png new file mode 100644 index 0000000000000000000000000000000000000000..e7f3b1cf8c6fcbdac9c084966ea18ad096f85c63 GIT binary patch literal 36618 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

Fu*oMiYmB=YKl4U+8pHO*6KaYyA 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 literal 0 HcmV?d00001 From d261aa5097582341522a83f3309b99d4a553b7e1 Mon Sep 17 00:00:00 2001 From: AleksandrPanov Date: Mon, 11 Apr 2022 18:08:58 +0300 Subject: [PATCH 5/6] remove trivial_board_detection.png --- testdata/cv/aruco/trivial_board_detection.png | Bin 26512 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 testdata/cv/aruco/trivial_board_detection.png diff --git a/testdata/cv/aruco/trivial_board_detection.png b/testdata/cv/aruco/trivial_board_detection.png deleted file mode 100644 index 8fee7bb43c4499f7a03eb206a9b7edf7166611e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26512 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 Date: Wed, 13 Apr 2022 15:57:24 +0300 Subject: [PATCH 6/6] add broken tf model to test tf simplifier buffer overflow --- .../tf_graph_simplifier_buffer_overflow_net.pb | Bin 0 -> 6 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 testdata/dnn/tensorflow/tf_graph_simplifier_buffer_overflow_net.pb 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 0000000000000000000000000000000000000000..9a6c03d5b66464b27dd121a656dca6906d433eae GIT binary patch literal 6 Ncmd