blob: 5c5afcc44bdda895ae31d5e48b4456adfa818634 [file] [log] [blame]
Marat Dukhane252f922021-08-31 08:57:41 -07001// Copyright 2021 Google LLC
2//
3// This source code is licensed under the BSD-style license found in the
4// LICENSE file in the root directory of this source tree.
5
6#include <xnnpack.h>
7
8#include <array>
9#include <algorithm>
10#include <functional>
11#include <iostream>
12#include <limits>
13#include <random>
14
15#include "models/models.h"
16
17namespace models {
18
19ExecutionPlan QC8MobileNetV2(pthreadpool_t threadpool) {
20 alignas(16) static std::array<int8_t, 150528 + XNN_EXTRA_BYTES / sizeof(int8_t)> v0;
21 alignas(16) static std::array<int8_t, 401408> v1;
22 alignas(16) static std::array<int8_t, 401408> v2;
23 alignas(16) static std::array<int8_t, 200704> v3;
24 alignas(16) static std::array<int8_t, 1204224> v4;
25 alignas(16) static std::array<int8_t, 301056> v5;
26 alignas(16) static std::array<int8_t, 75264> v6;
27 alignas(16) static std::array<int8_t, 451584> v7;
28 alignas(16) static std::array<int8_t, 451584> v8;
29 alignas(16) static std::array<int8_t, 75264> v9;
30 alignas(16) static std::array<int8_t, 75264> v10;
31 alignas(16) static std::array<int8_t, 451584> v11;
32 alignas(16) static std::array<int8_t, 112896> v12;
33 alignas(16) static std::array<int8_t, 25088> v13;
34 alignas(16) static std::array<int8_t, 150528> v14;
35 alignas(16) static std::array<int8_t, 150528> v15;
36 alignas(16) static std::array<int8_t, 25088> v16;
37 alignas(16) static std::array<int8_t, 25088> v17;
38 alignas(16) static std::array<int8_t, 150528> v18;
39 alignas(16) static std::array<int8_t, 150528> v19;
40 alignas(16) static std::array<int8_t, 25088> v20;
41 alignas(16) static std::array<int8_t, 25088> v21;
42 alignas(16) static std::array<int8_t, 150528> v22;
43 alignas(16) static std::array<int8_t, 37632> v23;
44 alignas(16) static std::array<int8_t, 12544> v24;
45 alignas(16) static std::array<int8_t, 75264> v25;
46 alignas(16) static std::array<int8_t, 75264> v26;
47 alignas(16) static std::array<int8_t, 12544> v27;
48 alignas(16) static std::array<int8_t, 12544> v28;
49 alignas(16) static std::array<int8_t, 75264> v29;
50 alignas(16) static std::array<int8_t, 75264> v30;
51 alignas(16) static std::array<int8_t, 12544> v31;
52 alignas(16) static std::array<int8_t, 12544> v32;
53 alignas(16) static std::array<int8_t, 75264> v33;
54 alignas(16) static std::array<int8_t, 75264> v34;
55 alignas(16) static std::array<int8_t, 12544> v35;
56 alignas(16) static std::array<int8_t, 12544> v36;
57 alignas(16) static std::array<int8_t, 75264> v37;
58 alignas(16) static std::array<int8_t, 75264> v38;
59 alignas(16) static std::array<int8_t, 18816> v39;
60 alignas(16) static std::array<int8_t, 112896> v40;
61 alignas(16) static std::array<int8_t, 112896> v41;
62 alignas(16) static std::array<int8_t, 18816> v42;
63 alignas(16) static std::array<int8_t, 18816> v43;
64 alignas(16) static std::array<int8_t, 112896> v44;
65 alignas(16) static std::array<int8_t, 112896> v45;
66 alignas(16) static std::array<int8_t, 18816> v46;
67 alignas(16) static std::array<int8_t, 18816> v47;
68 alignas(16) static std::array<int8_t, 112896> v48;
69 alignas(16) static std::array<int8_t, 28224> v49;
70 alignas(16) static std::array<int8_t, 7840> v50;
71 alignas(16) static std::array<int8_t, 47040> v51;
72 alignas(16) static std::array<int8_t, 47040> v52;
73 alignas(16) static std::array<int8_t, 7840> v53;
74 alignas(16) static std::array<int8_t, 7840> v54;
75 alignas(16) static std::array<int8_t, 47040> v55;
76 alignas(16) static std::array<int8_t, 47040> v56;
77 alignas(16) static std::array<int8_t, 7840> v57;
78 alignas(16) static std::array<int8_t, 7840> v58;
79 alignas(16) static std::array<int8_t, 47040> v59;
80 alignas(16) static std::array<int8_t, 47040> v60;
81 alignas(16) static std::array<int8_t, 15680> v61;
82 alignas(16) static std::array<int8_t, 62720> v62;
83 alignas(16) static std::array<int8_t, 1280> v63;
84 alignas(16) static std::array<int8_t, 1001> v64;
85 alignas(16) static std::array<int8_t, 864> w65;
86 alignas(16) static std::array<float, 32> s65;
87 alignas(16) static std::array<int32_t, 32> w66;
88 alignas(16) static std::array<int8_t, 288> w67;
89 alignas(16) static std::array<float, 32> s67;
90 alignas(16) static std::array<int32_t, 32> w68;
91 alignas(16) static std::array<int8_t, 512> w69;
92 alignas(16) static std::array<float, 16> s69;
93 alignas(16) static std::array<int32_t, 16> w70;
94 alignas(16) static std::array<int8_t, 1536> w71;
95 alignas(16) static std::array<float, 96> s71;
96 alignas(16) static std::array<int32_t, 96> w72;
97 alignas(16) static std::array<int8_t, 864> w73;
98 alignas(16) static std::array<float, 96> s73;
99 alignas(16) static std::array<int32_t, 96> w74;
100 alignas(16) static std::array<int8_t, 2304> w75;
101 alignas(16) static std::array<float, 24> s75;
102 alignas(16) static std::array<int32_t, 24> w76;
103 alignas(16) static std::array<int8_t, 3456> w77;
104 alignas(16) static std::array<float, 144> s77;
105 alignas(16) static std::array<int32_t, 144> w78;
106 alignas(16) static std::array<int8_t, 1296> w79;
107 alignas(16) static std::array<float, 144> s79;
108 alignas(16) static std::array<int32_t, 144> w80;
109 alignas(16) static std::array<int8_t, 3456> w81;
110 alignas(16) static std::array<float, 24> s81;
111 alignas(16) static std::array<int32_t, 24> w82;
112 alignas(16) static std::array<int8_t, 3456> w83;
113 alignas(16) static std::array<float, 144> s83;
114 alignas(16) static std::array<int32_t, 144> w84;
115 alignas(16) static std::array<int8_t, 1296> w85;
116 alignas(16) static std::array<float, 144> s85;
117 alignas(16) static std::array<int32_t, 144> w86;
118 alignas(16) static std::array<int8_t, 4608> w87;
119 alignas(16) static std::array<float, 32> s87;
120 alignas(16) static std::array<int32_t, 32> w88;
121 alignas(16) static std::array<int8_t, 6144> w89;
122 alignas(16) static std::array<float, 192> s89;
123 alignas(16) static std::array<int32_t, 192> w90;
124 alignas(16) static std::array<int8_t, 1728> w91;
125 alignas(16) static std::array<float, 192> s91;
126 alignas(16) static std::array<int32_t, 192> w92;
127 alignas(16) static std::array<int8_t, 6144> w93;
128 alignas(16) static std::array<float, 32> s93;
129 alignas(16) static std::array<int32_t, 32> w94;
130 alignas(16) static std::array<int8_t, 6144> w95;
131 alignas(16) static std::array<float, 192> s95;
132 alignas(16) static std::array<int32_t, 192> w96;
133 alignas(16) static std::array<int8_t, 1728> w97;
134 alignas(16) static std::array<float, 192> s97;
135 alignas(16) static std::array<int32_t, 192> w98;
136 alignas(16) static std::array<int8_t, 6144> w99;
137 alignas(16) static std::array<float, 32> s99;
138 alignas(16) static std::array<int32_t, 32> w100;
139 alignas(16) static std::array<int8_t, 6144> w101;
140 alignas(16) static std::array<float, 192> s101;
141 alignas(16) static std::array<int32_t, 192> w102;
142 alignas(16) static std::array<int8_t, 1728> w103;
143 alignas(16) static std::array<float, 192> s103;
144 alignas(16) static std::array<int32_t, 192> w104;
145 alignas(16) static std::array<int8_t, 12288> w105;
146 alignas(16) static std::array<float, 64> s105;
147 alignas(16) static std::array<int32_t, 64> w106;
148 alignas(16) static std::array<int8_t, 24576> w107;
149 alignas(16) static std::array<float, 384> s107;
150 alignas(16) static std::array<int32_t, 384> w108;
151 alignas(16) static std::array<int8_t, 3456> w109;
152 alignas(16) static std::array<float, 384> s109;
153 alignas(16) static std::array<int32_t, 384> w110;
154 alignas(16) static std::array<int8_t, 24576> w111;
155 alignas(16) static std::array<float, 64> s111;
156 alignas(16) static std::array<int32_t, 64> w112;
157 alignas(16) static std::array<int8_t, 24576> w113;
158 alignas(16) static std::array<float, 384> s113;
159 alignas(16) static std::array<int32_t, 384> w114;
160 alignas(16) static std::array<int8_t, 3456> w115;
161 alignas(16) static std::array<float, 384> s115;
162 alignas(16) static std::array<int32_t, 384> w116;
163 alignas(16) static std::array<int8_t, 24576> w117;
164 alignas(16) static std::array<float, 64> s117;
165 alignas(16) static std::array<int32_t, 64> w118;
166 alignas(16) static std::array<int8_t, 24576> w119;
167 alignas(16) static std::array<float, 384> s119;
168 alignas(16) static std::array<int32_t, 384> w120;
169 alignas(16) static std::array<int8_t, 3456> w121;
170 alignas(16) static std::array<float, 384> s121;
171 alignas(16) static std::array<int32_t, 384> w122;
172 alignas(16) static std::array<int8_t, 24576> w123;
173 alignas(16) static std::array<float, 64> s123;
174 alignas(16) static std::array<int32_t, 64> w124;
175 alignas(16) static std::array<int8_t, 24576> w125;
176 alignas(16) static std::array<float, 384> s125;
177 alignas(16) static std::array<int32_t, 384> w126;
178 alignas(16) static std::array<int8_t, 3456> w127;
179 alignas(16) static std::array<float, 384> s127;
180 alignas(16) static std::array<int32_t, 384> w128;
181 alignas(16) static std::array<int8_t, 36864> w129;
182 alignas(16) static std::array<float, 96> s129;
183 alignas(16) static std::array<int32_t, 96> w130;
184 alignas(16) static std::array<int8_t, 55296> w131;
185 alignas(16) static std::array<float, 576> s131;
186 alignas(16) static std::array<int32_t, 576> w132;
187 alignas(16) static std::array<int8_t, 5184> w133;
188 alignas(16) static std::array<float, 576> s133;
189 alignas(16) static std::array<int32_t, 576> w134;
190 alignas(16) static std::array<int8_t, 55296> w135;
191 alignas(16) static std::array<float, 96> s135;
192 alignas(16) static std::array<int32_t, 96> w136;
193 alignas(16) static std::array<int8_t, 55296> w137;
194 alignas(16) static std::array<float, 576> s137;
195 alignas(16) static std::array<int32_t, 576> w138;
196 alignas(16) static std::array<int8_t, 5184> w139;
197 alignas(16) static std::array<float, 576> s139;
198 alignas(16) static std::array<int32_t, 576> w140;
199 alignas(16) static std::array<int8_t, 55296> w141;
200 alignas(16) static std::array<float, 96> s141;
201 alignas(16) static std::array<int32_t, 96> w142;
202 alignas(16) static std::array<int8_t, 55296> w143;
203 alignas(16) static std::array<float, 576> s143;
204 alignas(16) static std::array<int32_t, 576> w144;
205 alignas(16) static std::array<int8_t, 5184> w145;
206 alignas(16) static std::array<float, 576> s145;
207 alignas(16) static std::array<int32_t, 576> w146;
208 alignas(16) static std::array<int8_t, 92160> w147;
209 alignas(16) static std::array<float, 160> s147;
210 alignas(16) static std::array<int32_t, 160> w148;
211 alignas(16) static std::array<int8_t, 153600> w149;
212 alignas(16) static std::array<float, 960> s149;
213 alignas(16) static std::array<int32_t, 960> w150;
214 alignas(16) static std::array<int8_t, 8640> w151;
215 alignas(16) static std::array<float, 960> s151;
216 alignas(16) static std::array<int32_t, 960> w152;
217 alignas(16) static std::array<int8_t, 153600> w153;
218 alignas(16) static std::array<float, 160> s153;
219 alignas(16) static std::array<int32_t, 160> w154;
220 alignas(16) static std::array<int8_t, 153600> w155;
221 alignas(16) static std::array<float, 960> s155;
222 alignas(16) static std::array<int32_t, 960> w156;
223 alignas(16) static std::array<int8_t, 8640> w157;
224 alignas(16) static std::array<float, 960> s157;
225 alignas(16) static std::array<int32_t, 960> w158;
226 alignas(16) static std::array<int8_t, 153600> w159;
227 alignas(16) static std::array<float, 160> s159;
228 alignas(16) static std::array<int32_t, 160> w160;
229 alignas(16) static std::array<int8_t, 153600> w161;
230 alignas(16) static std::array<float, 960> s161;
231 alignas(16) static std::array<int32_t, 960> w162;
232 alignas(16) static std::array<int8_t, 8640> w163;
233 alignas(16) static std::array<float, 960> s163;
234 alignas(16) static std::array<int32_t, 960> w164;
235 alignas(16) static std::array<int8_t, 307200> w165;
236 alignas(16) static std::array<float, 320> s165;
237 alignas(16) static std::array<int32_t, 320> w166;
238 alignas(16) static std::array<int8_t, 409600> w167;
239 alignas(16) static std::array<float, 1280> s167;
240 alignas(16) static std::array<int32_t, 1280> w168;
241 alignas(16) static std::array<int8_t, 1281280> w169;
242 alignas(16) static std::array<float, 1001> s169;
243 alignas(16) static std::array<int32_t, 1001> w170;
244
245 std::random_device random_device;
246 auto rng = std::mt19937(random_device());
247 auto i8rng = std::bind(std::uniform_int_distribution<int32_t>(-127, 127), std::ref(rng));
248 auto i32rng = std::bind(std::uniform_int_distribution<int32_t>(-10000, 10000), std::ref(rng));
249 auto srng = std::bind(std::uniform_real_distribution<float>(0.5f, 0.75f), std::ref(rng));
250 std::generate(v0.begin(), v0.end(), std::ref(i8rng));
251 std::generate(v1.begin(), v1.end(), std::ref(i8rng));
252 std::generate(v2.begin(), v2.end(), std::ref(i8rng));
253 std::generate(v3.begin(), v3.end(), std::ref(i8rng));
254 std::generate(v4.begin(), v4.end(), std::ref(i8rng));
255 std::generate(v5.begin(), v5.end(), std::ref(i8rng));
256 std::generate(v6.begin(), v6.end(), std::ref(i8rng));
257 std::generate(v7.begin(), v7.end(), std::ref(i8rng));
258 std::generate(v8.begin(), v8.end(), std::ref(i8rng));
259 std::generate(v9.begin(), v9.end(), std::ref(i8rng));
260 std::generate(v10.begin(), v10.end(), std::ref(i8rng));
261 std::generate(v11.begin(), v11.end(), std::ref(i8rng));
262 std::generate(v12.begin(), v12.end(), std::ref(i8rng));
263 std::generate(v13.begin(), v13.end(), std::ref(i8rng));
264 std::generate(v14.begin(), v14.end(), std::ref(i8rng));
265 std::generate(v15.begin(), v15.end(), std::ref(i8rng));
266 std::generate(v16.begin(), v16.end(), std::ref(i8rng));
267 std::generate(v17.begin(), v17.end(), std::ref(i8rng));
268 std::generate(v18.begin(), v18.end(), std::ref(i8rng));
269 std::generate(v19.begin(), v19.end(), std::ref(i8rng));
270 std::generate(v20.begin(), v20.end(), std::ref(i8rng));
271 std::generate(v21.begin(), v21.end(), std::ref(i8rng));
272 std::generate(v22.begin(), v22.end(), std::ref(i8rng));
273 std::generate(v23.begin(), v23.end(), std::ref(i8rng));
274 std::generate(v24.begin(), v24.end(), std::ref(i8rng));
275 std::generate(v25.begin(), v25.end(), std::ref(i8rng));
276 std::generate(v26.begin(), v26.end(), std::ref(i8rng));
277 std::generate(v27.begin(), v27.end(), std::ref(i8rng));
278 std::generate(v28.begin(), v28.end(), std::ref(i8rng));
279 std::generate(v29.begin(), v29.end(), std::ref(i8rng));
280 std::generate(v30.begin(), v30.end(), std::ref(i8rng));
281 std::generate(v31.begin(), v31.end(), std::ref(i8rng));
282 std::generate(v32.begin(), v32.end(), std::ref(i8rng));
283 std::generate(v33.begin(), v33.end(), std::ref(i8rng));
284 std::generate(v34.begin(), v34.end(), std::ref(i8rng));
285 std::generate(v35.begin(), v35.end(), std::ref(i8rng));
286 std::generate(v36.begin(), v36.end(), std::ref(i8rng));
287 std::generate(v37.begin(), v37.end(), std::ref(i8rng));
288 std::generate(v38.begin(), v38.end(), std::ref(i8rng));
289 std::generate(v39.begin(), v39.end(), std::ref(i8rng));
290 std::generate(v40.begin(), v40.end(), std::ref(i8rng));
291 std::generate(v41.begin(), v41.end(), std::ref(i8rng));
292 std::generate(v42.begin(), v42.end(), std::ref(i8rng));
293 std::generate(v43.begin(), v43.end(), std::ref(i8rng));
294 std::generate(v44.begin(), v44.end(), std::ref(i8rng));
295 std::generate(v45.begin(), v45.end(), std::ref(i8rng));
296 std::generate(v46.begin(), v46.end(), std::ref(i8rng));
297 std::generate(v47.begin(), v47.end(), std::ref(i8rng));
298 std::generate(v48.begin(), v48.end(), std::ref(i8rng));
299 std::generate(v49.begin(), v49.end(), std::ref(i8rng));
300 std::generate(v50.begin(), v50.end(), std::ref(i8rng));
301 std::generate(v51.begin(), v51.end(), std::ref(i8rng));
302 std::generate(v52.begin(), v52.end(), std::ref(i8rng));
303 std::generate(v53.begin(), v53.end(), std::ref(i8rng));
304 std::generate(v54.begin(), v54.end(), std::ref(i8rng));
305 std::generate(v55.begin(), v55.end(), std::ref(i8rng));
306 std::generate(v56.begin(), v56.end(), std::ref(i8rng));
307 std::generate(v57.begin(), v57.end(), std::ref(i8rng));
308 std::generate(v58.begin(), v58.end(), std::ref(i8rng));
309 std::generate(v59.begin(), v59.end(), std::ref(i8rng));
310 std::generate(v60.begin(), v60.end(), std::ref(i8rng));
311 std::generate(v61.begin(), v61.end(), std::ref(i8rng));
312 std::generate(v62.begin(), v62.end(), std::ref(i8rng));
313 std::generate(v63.begin(), v63.end(), std::ref(i8rng));
314 std::generate(v64.begin(), v64.end(), std::ref(i8rng));
315 std::generate(w65.begin(), w65.end(), std::ref(i8rng));
316 std::generate(s65.begin(), s65.end(), std::ref(srng));
317 std::generate(w66.begin(), w66.end(), std::ref(i32rng));
318 std::generate(w67.begin(), w67.end(), std::ref(i8rng));
319 std::generate(s67.begin(), s67.end(), std::ref(srng));
320 std::generate(w68.begin(), w68.end(), std::ref(i32rng));
321 std::generate(w69.begin(), w69.end(), std::ref(i8rng));
322 std::generate(s69.begin(), s69.end(), std::ref(srng));
323 std::generate(w70.begin(), w70.end(), std::ref(i32rng));
324 std::generate(w71.begin(), w71.end(), std::ref(i8rng));
325 std::generate(s71.begin(), s71.end(), std::ref(srng));
326 std::generate(w72.begin(), w72.end(), std::ref(i32rng));
327 std::generate(w73.begin(), w73.end(), std::ref(i8rng));
328 std::generate(s73.begin(), s73.end(), std::ref(srng));
329 std::generate(w74.begin(), w74.end(), std::ref(i32rng));
330 std::generate(w75.begin(), w75.end(), std::ref(i8rng));
331 std::generate(s75.begin(), s75.end(), std::ref(srng));
332 std::generate(w76.begin(), w76.end(), std::ref(i32rng));
333 std::generate(w77.begin(), w77.end(), std::ref(i8rng));
334 std::generate(s77.begin(), s77.end(), std::ref(srng));
335 std::generate(w78.begin(), w78.end(), std::ref(i32rng));
336 std::generate(w79.begin(), w79.end(), std::ref(i8rng));
337 std::generate(s79.begin(), s79.end(), std::ref(srng));
338 std::generate(w80.begin(), w80.end(), std::ref(i32rng));
339 std::generate(w81.begin(), w81.end(), std::ref(i8rng));
340 std::generate(s81.begin(), s81.end(), std::ref(srng));
341 std::generate(w82.begin(), w82.end(), std::ref(i32rng));
342 std::generate(w83.begin(), w83.end(), std::ref(i8rng));
343 std::generate(s83.begin(), s83.end(), std::ref(srng));
344 std::generate(w84.begin(), w84.end(), std::ref(i32rng));
345 std::generate(w85.begin(), w85.end(), std::ref(i8rng));
346 std::generate(s85.begin(), s85.end(), std::ref(srng));
347 std::generate(w86.begin(), w86.end(), std::ref(i32rng));
348 std::generate(w87.begin(), w87.end(), std::ref(i8rng));
349 std::generate(s87.begin(), s87.end(), std::ref(srng));
350 std::generate(w88.begin(), w88.end(), std::ref(i32rng));
351 std::generate(w89.begin(), w89.end(), std::ref(i8rng));
352 std::generate(s89.begin(), s89.end(), std::ref(srng));
353 std::generate(w90.begin(), w90.end(), std::ref(i32rng));
354 std::generate(w91.begin(), w91.end(), std::ref(i8rng));
355 std::generate(s91.begin(), s91.end(), std::ref(srng));
356 std::generate(w92.begin(), w92.end(), std::ref(i32rng));
357 std::generate(w93.begin(), w93.end(), std::ref(i8rng));
358 std::generate(s93.begin(), s93.end(), std::ref(srng));
359 std::generate(w94.begin(), w94.end(), std::ref(i32rng));
360 std::generate(w95.begin(), w95.end(), std::ref(i8rng));
361 std::generate(s95.begin(), s95.end(), std::ref(srng));
362 std::generate(w96.begin(), w96.end(), std::ref(i32rng));
363 std::generate(w97.begin(), w97.end(), std::ref(i8rng));
364 std::generate(s97.begin(), s97.end(), std::ref(srng));
365 std::generate(w98.begin(), w98.end(), std::ref(i32rng));
366 std::generate(w99.begin(), w99.end(), std::ref(i8rng));
367 std::generate(s99.begin(), s99.end(), std::ref(srng));
368 std::generate(w100.begin(), w100.end(), std::ref(i32rng));
369 std::generate(w101.begin(), w101.end(), std::ref(i8rng));
370 std::generate(s101.begin(), s101.end(), std::ref(srng));
371 std::generate(w102.begin(), w102.end(), std::ref(i32rng));
372 std::generate(w103.begin(), w103.end(), std::ref(i8rng));
373 std::generate(s103.begin(), s103.end(), std::ref(srng));
374 std::generate(w104.begin(), w104.end(), std::ref(i32rng));
375 std::generate(w105.begin(), w105.end(), std::ref(i8rng));
376 std::generate(s105.begin(), s105.end(), std::ref(srng));
377 std::generate(w106.begin(), w106.end(), std::ref(i32rng));
378 std::generate(w107.begin(), w107.end(), std::ref(i8rng));
379 std::generate(s107.begin(), s107.end(), std::ref(srng));
380 std::generate(w108.begin(), w108.end(), std::ref(i32rng));
381 std::generate(w109.begin(), w109.end(), std::ref(i8rng));
382 std::generate(s109.begin(), s109.end(), std::ref(srng));
383 std::generate(w110.begin(), w110.end(), std::ref(i32rng));
384 std::generate(w111.begin(), w111.end(), std::ref(i8rng));
385 std::generate(s111.begin(), s111.end(), std::ref(srng));
386 std::generate(w112.begin(), w112.end(), std::ref(i32rng));
387 std::generate(w113.begin(), w113.end(), std::ref(i8rng));
388 std::generate(s113.begin(), s113.end(), std::ref(srng));
389 std::generate(w114.begin(), w114.end(), std::ref(i32rng));
390 std::generate(w115.begin(), w115.end(), std::ref(i8rng));
391 std::generate(s115.begin(), s115.end(), std::ref(srng));
392 std::generate(w116.begin(), w116.end(), std::ref(i32rng));
393 std::generate(w117.begin(), w117.end(), std::ref(i8rng));
394 std::generate(s117.begin(), s117.end(), std::ref(srng));
395 std::generate(w118.begin(), w118.end(), std::ref(i32rng));
396 std::generate(w119.begin(), w119.end(), std::ref(i8rng));
397 std::generate(s119.begin(), s119.end(), std::ref(srng));
398 std::generate(w120.begin(), w120.end(), std::ref(i32rng));
399 std::generate(w121.begin(), w121.end(), std::ref(i8rng));
400 std::generate(s121.begin(), s121.end(), std::ref(srng));
401 std::generate(w122.begin(), w122.end(), std::ref(i32rng));
402 std::generate(w123.begin(), w123.end(), std::ref(i8rng));
403 std::generate(s123.begin(), s123.end(), std::ref(srng));
404 std::generate(w124.begin(), w124.end(), std::ref(i32rng));
405 std::generate(w125.begin(), w125.end(), std::ref(i8rng));
406 std::generate(s125.begin(), s125.end(), std::ref(srng));
407 std::generate(w126.begin(), w126.end(), std::ref(i32rng));
408 std::generate(w127.begin(), w127.end(), std::ref(i8rng));
409 std::generate(s127.begin(), s127.end(), std::ref(srng));
410 std::generate(w128.begin(), w128.end(), std::ref(i32rng));
411 std::generate(w129.begin(), w129.end(), std::ref(i8rng));
412 std::generate(s129.begin(), s129.end(), std::ref(srng));
413 std::generate(w130.begin(), w130.end(), std::ref(i32rng));
414 std::generate(w131.begin(), w131.end(), std::ref(i8rng));
415 std::generate(s131.begin(), s131.end(), std::ref(srng));
416 std::generate(w132.begin(), w132.end(), std::ref(i32rng));
417 std::generate(w133.begin(), w133.end(), std::ref(i8rng));
418 std::generate(s133.begin(), s133.end(), std::ref(srng));
419 std::generate(w134.begin(), w134.end(), std::ref(i32rng));
420 std::generate(w135.begin(), w135.end(), std::ref(i8rng));
421 std::generate(s135.begin(), s135.end(), std::ref(srng));
422 std::generate(w136.begin(), w136.end(), std::ref(i32rng));
423 std::generate(w137.begin(), w137.end(), std::ref(i8rng));
424 std::generate(s137.begin(), s137.end(), std::ref(srng));
425 std::generate(w138.begin(), w138.end(), std::ref(i32rng));
426 std::generate(w139.begin(), w139.end(), std::ref(i8rng));
427 std::generate(s139.begin(), s139.end(), std::ref(srng));
428 std::generate(w140.begin(), w140.end(), std::ref(i32rng));
429 std::generate(w141.begin(), w141.end(), std::ref(i8rng));
430 std::generate(s141.begin(), s141.end(), std::ref(srng));
431 std::generate(w142.begin(), w142.end(), std::ref(i32rng));
432 std::generate(w143.begin(), w143.end(), std::ref(i8rng));
433 std::generate(s143.begin(), s143.end(), std::ref(srng));
434 std::generate(w144.begin(), w144.end(), std::ref(i32rng));
435 std::generate(w145.begin(), w145.end(), std::ref(i8rng));
436 std::generate(s145.begin(), s145.end(), std::ref(srng));
437 std::generate(w146.begin(), w146.end(), std::ref(i32rng));
438 std::generate(w147.begin(), w147.end(), std::ref(i8rng));
439 std::generate(s147.begin(), s147.end(), std::ref(srng));
440 std::generate(w148.begin(), w148.end(), std::ref(i32rng));
441 std::generate(w149.begin(), w149.end(), std::ref(i8rng));
442 std::generate(s149.begin(), s149.end(), std::ref(srng));
443 std::generate(w150.begin(), w150.end(), std::ref(i32rng));
444 std::generate(w151.begin(), w151.end(), std::ref(i8rng));
445 std::generate(s151.begin(), s151.end(), std::ref(srng));
446 std::generate(w152.begin(), w152.end(), std::ref(i32rng));
447 std::generate(w151.begin(), w151.end(), std::ref(i8rng));
448 std::generate(s153.begin(), s153.end(), std::ref(srng));
449 std::generate(w154.begin(), w154.end(), std::ref(i32rng));
450 std::generate(w155.begin(), w155.end(), std::ref(i8rng));
451 std::generate(s155.begin(), s155.end(), std::ref(srng));
452 std::generate(w156.begin(), w156.end(), std::ref(i32rng));
453 std::generate(w157.begin(), w157.end(), std::ref(i8rng));
454 std::generate(s157.begin(), s157.end(), std::ref(srng));
455 std::generate(w158.begin(), w158.end(), std::ref(i32rng));
456 std::generate(w159.begin(), w159.end(), std::ref(i8rng));
457 std::generate(s159.begin(), s159.end(), std::ref(srng));
458 std::generate(w160.begin(), w160.end(), std::ref(i32rng));
459 std::generate(w161.begin(), w161.end(), std::ref(i8rng));
460 std::generate(s161.begin(), s161.end(), std::ref(srng));
461 std::generate(w162.begin(), w162.end(), std::ref(i32rng));
462 std::generate(w163.begin(), w163.end(), std::ref(i8rng));
463 std::generate(s163.begin(), s163.end(), std::ref(srng));
464 std::generate(w164.begin(), w164.end(), std::ref(i32rng));
465 std::generate(w165.begin(), w165.end(), std::ref(i8rng));
466 std::generate(s165.begin(), s165.end(), std::ref(srng));
467 std::generate(w166.begin(), w166.end(), std::ref(i32rng));
468 std::generate(w167.begin(), w167.end(), std::ref(i8rng));
469 std::generate(s167.begin(), s167.end(), std::ref(srng));
470 std::generate(w168.begin(), w168.end(), std::ref(i32rng));
471 std::generate(w169.begin(), w169.end(), std::ref(i8rng));
472 std::generate(s169.begin(), s169.end(), std::ref(srng));
473 std::generate(w170.begin(), w170.end(), std::ref(i32rng));
474
475 ExecutionPlan operators;
476 xnn_status status;
477
478 xnn_operator_t op0 = nullptr;
479 status = xnn_create_convolution2d_nhwc_qc8(
480 0 /* top padding */, 1 /* right padding */,
481 1 /* bottom padding */, 0 /* left padding */,
482 3 /* kernel height */, 3 /* kernel width */,
483 2 /* subsampling height */, 2 /* subsampling width */,
484 1 /* dilation_height */, 1 /* dilation_width */,
485 1 /* groups */,
486 3 /* input channels per group */,
487 32 /* output_channels_per_group */,
488 3 /* input pixel stride */,
489 32 /* output pixel stride */,
490 -1 /* input zero point */, 0.5f /* input scale */,
491 s65.data(), w65.data(), w66.data(),
492 -1 /* output zero point */, 0.5f /* output scale */, -126 /* output min */, 126 /* output max */,
493 0 /* flags */,
494 &op0);
495 if (status != xnn_status_success) {
496 std::cerr << "failed to create operation #0" << std::endl;
497 return ExecutionPlan();
498 }
499 operators.emplace_back(op0, xnn_delete_operator);
500
501 xnn_operator_t op1 = nullptr;
502 status = xnn_create_convolution2d_nhwc_qc8(
503 1 /* top padding */, 1 /* right padding */,
504 1 /* bottom padding */, 1 /* left padding */,
505 3 /* kernel height */, 3 /* kernel width */,
506 1 /* subsampling height */, 1 /* subsampling width */,
507 1 /* dilation_height */, 1 /* dilation_width */,
508 32 /* groups */,
509 1 /* input channels per group */,
510 1 /* output_channels_per_group */,
511 32 /* input pixel stride */,
512 32 /* output pixel stride */,
513 -1 /* input zero point */, 0.5f /* input scale */,
514 s67.data(), w67.data(), w68.data(),
515 -1 /* output zero point */, 0.5f /* output scale */, -126 /* output min */, 126 /* output max */,
516 0 /* flags */,
517 &op1);
518 if (status != xnn_status_success) {
519 std::cerr << "failed to create operation #1" << std::endl;
520 return ExecutionPlan();
521 }
522 operators.emplace_back(op1, xnn_delete_operator);
523
524 xnn_operator_t op2 = nullptr;
525 status = xnn_create_convolution2d_nhwc_qc8(
526 0 /* top padding */, 0 /* right padding */,
527 0 /* bottom padding */, 0 /* left padding */,
528 1 /* kernel height */, 1 /* kernel width */,
529 1 /* subsampling height */, 1 /* subsampling width */,
530 1 /* dilation_height */, 1 /* dilation_width */,
531 1 /* groups */,
532 32 /* input channels per group */,
533 16 /* output_channels_per_group */,
534 32 /* input pixel stride */,
535 16 /* output pixel stride */,
536 -1 /* input zero point */, 0.5f /* input scale */,
537 s69.data(), w69.data(), w70.data(),
538 -1 /* output zero point */, 0.5f /* output scale */, -126 /* output min */, 126 /* output max */,
539 0 /* flags */,
540 &op2);
541 if (status != xnn_status_success) {
542 std::cerr << "failed to create operation #2" << std::endl;
543 return ExecutionPlan();
544 }
545 operators.emplace_back(op2, xnn_delete_operator);
546
547 xnn_operator_t op3 = nullptr;
548 status = xnn_create_convolution2d_nhwc_qc8(
549 0 /* top padding */, 0 /* right padding */,
550 0 /* bottom padding */, 0 /* left padding */,
551 1 /* kernel height */, 1 /* kernel width */,
552 1 /* subsampling height */, 1 /* subsampling width */,
553 1 /* dilation_height */, 1 /* dilation_width */,
554 1 /* groups */,
555 16 /* input channels per group */,
556 96 /* output_channels_per_group */,
557 16 /* input pixel stride */,
558 96 /* output pixel stride */,
559 -1 /* input zero point */, 0.5f /* input scale */,
560 s71.data(), w71.data(), w72.data(),
561 -1 /* output zero point */, 0.5f /* output scale */, -126 /* output min */, 126 /* output max */,
562 0 /* flags */,
563 &op3);
564 if (status != xnn_status_success) {
565 std::cerr << "failed to create operation #3" << std::endl;
566 return ExecutionPlan();
567 }
568 operators.emplace_back(op3, xnn_delete_operator);
569
570 xnn_operator_t op4 = nullptr;
571 status = xnn_create_convolution2d_nhwc_qc8(
572 0 /* top padding */, 1 /* right padding */,
573 1 /* bottom padding */, 0 /* left padding */,
574 3 /* kernel height */, 3 /* kernel width */,
575 2 /* subsampling height */, 2 /* subsampling width */,
576 1 /* dilation_height */, 1 /* dilation_width */,
577 96 /* groups */,
578 1 /* input channels per group */,
579 1 /* output_channels_per_group */,
580 96 /* input pixel stride */,
581 96 /* output pixel stride */,
582 -1 /* input zero point */, 0.5f /* input scale */,
583 s73.data(), w73.data(), w74.data(),
584 -1 /* output zero point */, 0.5f /* output scale */, -126 /* output min */, 126 /* output max */,
585 0 /* flags */,
586 &op4);
587 if (status != xnn_status_success) {
588 std::cerr << "failed to create operation #4" << std::endl;
589 return ExecutionPlan();
590 }
591 operators.emplace_back(op4, xnn_delete_operator);
592
593 xnn_operator_t op5 = nullptr;
594 status = xnn_create_convolution2d_nhwc_qc8(
595 0 /* top padding */, 0 /* right padding */,
596 0 /* bottom padding */, 0 /* left padding */,
597 1 /* kernel height */, 1 /* kernel width */,
598 1 /* subsampling height */, 1 /* subsampling width */,
599 1 /* dilation_height */, 1 /* dilation_width */,
600 1 /* groups */,
601 96 /* input channels per group */,
602 24 /* output_channels_per_group */,
603 96 /* input pixel stride */,
604 24 /* output pixel stride */,
605 -1 /* input zero point */, 0.5f /* input scale */,
606 s75.data(), w75.data(), w76.data(),
607 -1 /* output zero point */, 0.5f /* output scale */, -126 /* output min */, 126 /* output max */,
608 0 /* flags */,
609 &op5);
610 if (status != xnn_status_success) {
611 std::cerr << "failed to create operation #5" << std::endl;
612 return ExecutionPlan();
613 }
614 operators.emplace_back(op5, xnn_delete_operator);
615
616 xnn_operator_t op6 = nullptr;
617 status = xnn_create_convolution2d_nhwc_qc8(
618 0 /* top padding */, 0 /* right padding */,
619 0 /* bottom padding */, 0 /* left padding */,
620 1 /* kernel height */, 1 /* kernel width */,
621 1 /* subsampling height */, 1 /* subsampling width */,
622 1 /* dilation_height */, 1 /* dilation_width */,
623 1 /* groups */,
624 24 /* input channels per group */,
625 144 /* output_channels_per_group */,
626 24 /* input pixel stride */,
627 144 /* output pixel stride */,
628 -1 /* input zero point */, 0.5f /* input scale */,
629 s77.data(), w77.data(), w78.data(),
630 -1 /* output zero point */, 0.5f /* output scale */, -126 /* output min */, 126 /* output max */,
631 0 /* flags */,
632 &op6);
633 if (status != xnn_status_success) {
634 std::cerr << "failed to create operation #6" << std::endl;
635 return ExecutionPlan();
636 }
637 operators.emplace_back(op6, xnn_delete_operator);
638
639 xnn_operator_t op7 = nullptr;
640 status = xnn_create_convolution2d_nhwc_qc8(
641 1 /* top padding */, 1 /* right padding */,
642 1 /* bottom padding */, 1 /* left padding */,
643 3 /* kernel height */, 3 /* kernel width */,
644 1 /* subsampling height */, 1 /* subsampling width */,
645 1 /* dilation_height */, 1 /* dilation_width */,
646 144 /* groups */,
647 1 /* input channels per group */,
648 1 /* output_channels_per_group */,
649 144 /* input pixel stride */,
650 144 /* output pixel stride */,
651 -1 /* input zero point */, 0.5f /* input scale */,
652 s79.data(), w79.data(), w80.data(),
653 -1 /* output zero point */, 0.5f /* output scale */, -126 /* output min */, 126 /* output max */,
654 0 /* flags */,
655 &op7);
656 if (status != xnn_status_success) {
657 std::cerr << "failed to create operation #7" << std::endl;
658 return ExecutionPlan();
659 }
660 operators.emplace_back(op7, xnn_delete_operator);
661
662 xnn_operator_t op8 = nullptr;
663 status = xnn_create_convolution2d_nhwc_qc8(
664 0 /* top padding */, 0 /* right padding */,
665 0 /* bottom padding */, 0 /* left padding */,
666 1 /* kernel height */, 1 /* kernel width */,
667 1 /* subsampling height */, 1 /* subsampling width */,
668 1 /* dilation_height */, 1 /* dilation_width */,
669 1 /* groups */,
670 144 /* input channels per group */,
671 24 /* output_channels_per_group */,
672 144 /* input pixel stride */,
673 24 /* output pixel stride */,
674 -1 /* input zero point */, 0.5f /* input scale */,
675 s81.data(), w81.data(), w82.data(),
676 -1 /* output zero point */, 0.5f /* output scale */, -126 /* output min */, 126 /* output max */,
677 0 /* flags */,
678 &op8);
679 if (status != xnn_status_success) {
680 std::cerr << "failed to create operation #8" << std::endl;
681 return ExecutionPlan();
682 }
683 operators.emplace_back(op8, xnn_delete_operator);
684
685 xnn_operator_t op9 = nullptr;
686 status = xnn_create_add_nd_qs8(
687 -1 /* input1 zero point */, 0.5f /* input1 scale */,
688 -1 /* input2 zero point */, 0.5f /* input2 scale */,
689 -1 /* output zero point */, 1.0f /* output scale */, -126 /* output min */, 126 /* output max */,
690 0 /* flags */,
691 &op9);
692 if (status != xnn_status_success) {
693 std::cerr << "failed to create operation #9" << std::endl;
694 return ExecutionPlan();
695 }
696 operators.emplace_back(op9, xnn_delete_operator);
697
698 xnn_operator_t op10 = nullptr;
699 status = xnn_create_convolution2d_nhwc_qc8(
700 0 /* top padding */, 0 /* right padding */,
701 0 /* bottom padding */, 0 /* left padding */,
702 1 /* kernel height */, 1 /* kernel width */,
703 1 /* subsampling height */, 1 /* subsampling width */,
704 1 /* dilation_height */, 1 /* dilation_width */,
705 1 /* groups */,
706 24 /* input channels per group */,
707 144 /* output_channels_per_group */,
708 24 /* input pixel stride */,
709 144 /* output pixel stride */,
710 -1 /* input zero point */, 0.5f /* input scale */,
711 s83.data(), w83.data(), w84.data(),
712 -1 /* output zero point */, 0.5f /* output scale */, -126 /* output min */, 126 /* output max */,
713 0 /* flags */,
714 &op10);
715 if (status != xnn_status_success) {
716 std::cerr << "failed to create operation #10" << std::endl;
717 return ExecutionPlan();
718 }
719 operators.emplace_back(op10, xnn_delete_operator);
720
721 xnn_operator_t op11 = nullptr;
722 status = xnn_create_convolution2d_nhwc_qc8(
723 0 /* top padding */, 1 /* right padding */,
724 1 /* bottom padding */, 0 /* left padding */,
725 3 /* kernel height */, 3 /* kernel width */,
726 2 /* subsampling height */, 2 /* subsampling width */,
727 1 /* dilation_height */, 1 /* dilation_width */,
728 144 /* groups */,
729 1 /* input channels per group */,
730 1 /* output_channels_per_group */,
731 144 /* input pixel stride */,
732 144 /* output pixel stride */,
733 -1 /* input zero point */, 0.5f /* input scale */,
734 s85.data(), w85.data(), w86.data(),
735 -1 /* output zero point */, 0.5f /* output scale */, -126 /* output min */, 126 /* output max */,
736 0 /* flags */,
737 &op11);
738 if (status != xnn_status_success) {
739 std::cerr << "failed to create operation #11" << std::endl;
740 return ExecutionPlan();
741 }
742 operators.emplace_back(op11, xnn_delete_operator);
743
744 xnn_operator_t op12 = nullptr;
745 status = xnn_create_convolution2d_nhwc_qc8(
746 0 /* top padding */, 0 /* right padding */,
747 0 /* bottom padding */, 0 /* left padding */,
748 1 /* kernel height */, 1 /* kernel width */,
749 1 /* subsampling height */, 1 /* subsampling width */,
750 1 /* dilation_height */, 1 /* dilation_width */,
751 1 /* groups */,
752 144 /* input channels per group */,
753 32 /* output_channels_per_group */,
754 144 /* input pixel stride */,
755 32 /* output pixel stride */,
756 -1 /* input zero point */, 0.5f /* input scale */,
757 s87.data(), w87.data(), w88.data(),
758 -1 /* output zero point */, 0.5f /* output scale */, -126 /* output min */, 126 /* output max */,
759 0 /* flags */,
760 &op12);
761 if (status != xnn_status_success) {
762 std::cerr << "failed to create operation #12" << std::endl;
763 return ExecutionPlan();
764 }
765 operators.emplace_back(op12, xnn_delete_operator);
766
767 xnn_operator_t op13 = nullptr;
768 status = xnn_create_convolution2d_nhwc_qc8(
769 0 /* top padding */, 0 /* right padding */,
770 0 /* bottom padding */, 0 /* left padding */,
771 1 /* kernel height */, 1 /* kernel width */,
772 1 /* subsampling height */, 1 /* subsampling width */,
773 1 /* dilation_height */, 1 /* dilation_width */,
774 1 /* groups */,
775 32 /* input channels per group */,
776 192 /* output_channels_per_group */,
777 32 /* input pixel stride */,
778 192 /* output pixel stride */,
779 -1 /* input zero point */, 0.5f /* input scale */,
780 s89.data(), w89.data(), w90.data(),
781 -1 /* output zero point */, 0.5f /* output scale */, -126 /* output min */, 126 /* output max */,
782 0 /* flags */,
783 &op13);
784 if (status != xnn_status_success) {
785 std::cerr << "failed to create operation #13" << std::endl;
786 return ExecutionPlan();
787 }
788 operators.emplace_back(op13, xnn_delete_operator);
789
790 xnn_operator_t op14 = nullptr;
791 status = xnn_create_convolution2d_nhwc_qc8(
792 1 /* top padding */, 1 /* right padding */,
793 1 /* bottom padding */, 1 /* left padding */,
794 3 /* kernel height */, 3 /* kernel width */,
795 1 /* subsampling height */, 1 /* subsampling width */,
796 1 /* dilation_height */, 1 /* dilation_width */,
797 192 /* groups */,
798 1 /* input channels per group */,
799 1 /* output_channels_per_group */,
800 192 /* input pixel stride */,
801 192 /* output pixel stride */,
802 -1 /* input zero point */, 0.5f /* input scale */,
803 s91.data(), w91.data(), w92.data(),
804 -1 /* output zero point */, 0.5f /* output scale */, -126 /* output min */, 126 /* output max */,
805 0 /* flags */,
806 &op14);
807 if (status != xnn_status_success) {
808 std::cerr << "failed to create operation #14" << std::endl;
809 return ExecutionPlan();
810 }
811 operators.emplace_back(op14, xnn_delete_operator);
812
813 xnn_operator_t op15 = nullptr;
814 status = xnn_create_convolution2d_nhwc_qc8(
815 0 /* top padding */, 0 /* right padding */,
816 0 /* bottom padding */, 0 /* left padding */,
817 1 /* kernel height */, 1 /* kernel width */,
818 1 /* subsampling height */, 1 /* subsampling width */,
819 1 /* dilation_height */, 1 /* dilation_width */,
820 1 /* groups */,
821 192 /* input channels per group */,
822 32 /* output_channels_per_group */,
823 192 /* input pixel stride */,
824 32 /* output pixel stride */,
825 -1 /* input zero point */, 0.5f /* input scale */,
826 s93.data(), w93.data(), w94.data(),
827 -1 /* output zero point */, 0.5f /* output scale */, -126 /* output min */, 126 /* output max */,
828 0 /* flags */,
829 &op15);
830 if (status != xnn_status_success) {
831 std::cerr << "failed to create operation #15" << std::endl;
832 return ExecutionPlan();
833 }
834 operators.emplace_back(op15, xnn_delete_operator);
835
836 xnn_operator_t op16 = nullptr;
837 status = xnn_create_add_nd_qs8(
838 -1 /* input1 zero point */, 0.5f /* input1 scale */,
839 -1 /* input2 zero point */, 0.5f /* input2 scale */,
840 -1 /* output zero point */, 1.0f /* output scale */, -126 /* output min */, 126 /* output max */,
841 0 /* flags */,
842 &op16);
843 if (status != xnn_status_success) {
844 std::cerr << "failed to create operation #16" << std::endl;
845 return ExecutionPlan();
846 }
847 operators.emplace_back(op16, xnn_delete_operator);
848
849 xnn_operator_t op17 = nullptr;
850 status = xnn_create_convolution2d_nhwc_qc8(
851 0 /* top padding */, 0 /* right padding */,
852 0 /* bottom padding */, 0 /* left padding */,
853 1 /* kernel height */, 1 /* kernel width */,
854 1 /* subsampling height */, 1 /* subsampling width */,
855 1 /* dilation_height */, 1 /* dilation_width */,
856 1 /* groups */,
857 32 /* input channels per group */,
858 192 /* output_channels_per_group */,
859 32 /* input pixel stride */,
860 192 /* output pixel stride */,
861 -1 /* input zero point */, 0.5f /* input scale */,
862 s95.data(), w95.data(), w96.data(),
863 -1 /* output zero point */, 0.5f /* output scale */, -126 /* output min */, 126 /* output max */,
864 0 /* flags */,
865 &op17);
866 if (status != xnn_status_success) {
867 std::cerr << "failed to create operation #17" << std::endl;
868 return ExecutionPlan();
869 }
870 operators.emplace_back(op17, xnn_delete_operator);
871
872 xnn_operator_t op18 = nullptr;
873 status = xnn_create_convolution2d_nhwc_qc8(
874 1 /* top padding */, 1 /* right padding */,
875 1 /* bottom padding */, 1 /* left padding */,
876 3 /* kernel height */, 3 /* kernel width */,
877 1 /* subsampling height */, 1 /* subsampling width */,
878 1 /* dilation_height */, 1 /* dilation_width */,
879 192 /* groups */,
880 1 /* input channels per group */,
881 1 /* output_channels_per_group */,
882 192 /* input pixel stride */,
883 192 /* output pixel stride */,
884 -1 /* input zero point */, 0.5f /* input scale */,
885 s97.data(), w97.data(), w98.data(),
886 -1 /* output zero point */, 0.5f /* output scale */, -126 /* output min */, 126 /* output max */,
887 0 /* flags */,
888 &op18);
889 if (status != xnn_status_success) {
890 std::cerr << "failed to create operation #18" << std::endl;
891 return ExecutionPlan();
892 }
893 operators.emplace_back(op18, xnn_delete_operator);
894
895 xnn_operator_t op19 = nullptr;
896 status = xnn_create_convolution2d_nhwc_qc8(
897 0 /* top padding */, 0 /* right padding */,
898 0 /* bottom padding */, 0 /* left padding */,
899 1 /* kernel height */, 1 /* kernel width */,
900 1 /* subsampling height */, 1 /* subsampling width */,
901 1 /* dilation_height */, 1 /* dilation_width */,
902 1 /* groups */,
903 192 /* input channels per group */,
904 32 /* output_channels_per_group */,
905 192 /* input pixel stride */,
906 32 /* output pixel stride */,
907 -1 /* input zero point */, 0.5f /* input scale */,
908 s99.data(), w99.data(), w100.data(),
909 -1 /* output zero point */, 0.5f /* output scale */, -126 /* output min */, 126 /* output max */,
910 0 /* flags */,
911 &op19);
912 if (status != xnn_status_success) {
913 std::cerr << "failed to create operation #19" << std::endl;
914 return ExecutionPlan();
915 }
916 operators.emplace_back(op19, xnn_delete_operator);
917
918 xnn_operator_t op20 = nullptr;
919 status = xnn_create_add_nd_qs8(
920 -1 /* input1 zero point */, 0.5f /* input1 scale */,
921 -1 /* input2 zero point */, 0.5f /* input2 scale */,
922 -1 /* output zero point */, 1.0f /* output scale */, -126 /* output min */, 126 /* output max */,
923 0 /* flags */,
924 &op20);
925 if (status != xnn_status_success) {
926 std::cerr << "failed to create operation #20" << std::endl;
927 return ExecutionPlan();
928 }
929 operators.emplace_back(op20, xnn_delete_operator);
930
931 xnn_operator_t op21 = nullptr;
932 status = xnn_create_convolution2d_nhwc_qc8(
933 0 /* top padding */, 0 /* right padding */,
934 0 /* bottom padding */, 0 /* left padding */,
935 1 /* kernel height */, 1 /* kernel width */,
936 1 /* subsampling height */, 1 /* subsampling width */,
937 1 /* dilation_height */, 1 /* dilation_width */,
938 1 /* groups */,
939 32 /* input channels per group */,
940 192 /* output_channels_per_group */,
941 32 /* input pixel stride */,
942 192 /* output pixel stride */,
943 -1 /* input zero point */, 0.5f /* input scale */,
944 s101.data(), w101.data(), w102.data(),
945 -1 /* output zero point */, 0.5f /* output scale */, -126 /* output min */, 126 /* output max */,
946 0 /* flags */,
947 &op21);
948 if (status != xnn_status_success) {
949 std::cerr << "failed to create operation #21" << std::endl;
950 return ExecutionPlan();
951 }
952 operators.emplace_back(op21, xnn_delete_operator);
953
954 xnn_operator_t op22 = nullptr;
955 status = xnn_create_convolution2d_nhwc_qc8(
956 0 /* top padding */, 1 /* right padding */,
957 1 /* bottom padding */, 0 /* left padding */,
958 3 /* kernel height */, 3 /* kernel width */,
959 2 /* subsampling height */, 2 /* subsampling width */,
960 1 /* dilation_height */, 1 /* dilation_width */,
961 192 /* groups */,
962 1 /* input channels per group */,
963 1 /* output_channels_per_group */,
964 192 /* input pixel stride */,
965 192 /* output pixel stride */,
966 -1 /* input zero point */, 0.5f /* input scale */,
967 s103.data(), w103.data(), w104.data(),
968 -1 /* output zero point */, 0.5f /* output scale */, -126 /* output min */, 126 /* output max */,
969 0 /* flags */,
970 &op22);
971 if (status != xnn_status_success) {
972 std::cerr << "failed to create operation #22" << std::endl;
973 return ExecutionPlan();
974 }
975 operators.emplace_back(op22, xnn_delete_operator);
976
977 xnn_operator_t op23 = nullptr;
978 status = xnn_create_convolution2d_nhwc_qc8(
979 0 /* top padding */, 0 /* right padding */,
980 0 /* bottom padding */, 0 /* left padding */,
981 1 /* kernel height */, 1 /* kernel width */,
982 1 /* subsampling height */, 1 /* subsampling width */,
983 1 /* dilation_height */, 1 /* dilation_width */,
984 1 /* groups */,
985 192 /* input channels per group */,
986 64 /* output_channels_per_group */,
987 192 /* input pixel stride */,
988 64 /* output pixel stride */,
989 -1 /* input zero point */, 0.5f /* input scale */,
990 s105.data(), w105.data(), w106.data(),
991 -1 /* output zero point */, 0.5f /* output scale */, -126 /* output min */, 126 /* output max */,
992 0 /* flags */,
993 &op23);
994 if (status != xnn_status_success) {
995 std::cerr << "failed to create operation #23" << std::endl;
996 return ExecutionPlan();
997 }
998 operators.emplace_back(op23, xnn_delete_operator);
999
1000 xnn_operator_t op24 = nullptr;
1001 status = xnn_create_convolution2d_nhwc_qc8(
1002 0 /* top padding */, 0 /* right padding */,
1003 0 /* bottom padding */, 0 /* left padding */,
1004 1 /* kernel height */, 1 /* kernel width */,
1005 1 /* subsampling height */, 1 /* subsampling width */,
1006 1 /* dilation_height */, 1 /* dilation_width */,
1007 1 /* groups */,
1008 64 /* input channels per group */,
1009 384 /* output_channels_per_group */,
1010 64 /* input pixel stride */,
1011 384 /* output pixel stride */,
1012 -1 /* input zero point */, 0.5f /* input scale */,
1013 s107.data(), w107.data(), w108.data(),
1014 -1 /* output zero point */, 0.5f /* output scale */, -126 /* output min */, 126 /* output max */,
1015 0 /* flags */,
1016 &op24);
1017 if (status != xnn_status_success) {
1018 std::cerr << "failed to create operation #24" << std::endl;
1019 return ExecutionPlan();
1020 }
1021 operators.emplace_back(op24, xnn_delete_operator);
1022
1023 xnn_operator_t op25 = nullptr;
1024 status = xnn_create_convolution2d_nhwc_qc8(
1025 1 /* top padding */, 1 /* right padding */,
1026 1 /* bottom padding */, 1 /* left padding */,
1027 3 /* kernel height */, 3 /* kernel width */,
1028 1 /* subsampling height */, 1 /* subsampling width */,
1029 1 /* dilation_height */, 1 /* dilation_width */,
1030 384 /* groups */,
1031 1 /* input channels per group */,
1032 1 /* output_channels_per_group */,
1033 384 /* input pixel stride */,
1034 384 /* output pixel stride */,
1035 -1 /* input zero point */, 0.5f /* input scale */,
1036 s109.data(), w109.data(), w110.data(),
1037 -1 /* output zero point */, 0.5f /* output scale */, -126 /* output min */, 126 /* output max */,
1038 0 /* flags */,
1039 &op25);
1040 if (status != xnn_status_success) {
1041 std::cerr << "failed to create operation #25" << std::endl;
1042 return ExecutionPlan();
1043 }
1044 operators.emplace_back(op25, xnn_delete_operator);
1045
1046 xnn_operator_t op26 = nullptr;
1047 status = xnn_create_convolution2d_nhwc_qc8(
1048 0 /* top padding */, 0 /* right padding */,
1049 0 /* bottom padding */, 0 /* left padding */,
1050 1 /* kernel height */, 1 /* kernel width */,
1051 1 /* subsampling height */, 1 /* subsampling width */,
1052 1 /* dilation_height */, 1 /* dilation_width */,
1053 1 /* groups */,
1054 384 /* input channels per group */,
1055 64 /* output_channels_per_group */,
1056 384 /* input pixel stride */,
1057 64 /* output pixel stride */,
1058 -1 /* input zero point */, 0.5f /* input scale */,
1059 s111.data(), w111.data(), w112.data(),
1060 -1 /* output zero point */, 0.5f /* output scale */, -126 /* output min */, 126 /* output max */,
1061 0 /* flags */,
1062 &op26);
1063 if (status != xnn_status_success) {
1064 std::cerr << "failed to create operation #26" << std::endl;
1065 return ExecutionPlan();
1066 }
1067 operators.emplace_back(op26, xnn_delete_operator);
1068
1069 xnn_operator_t op27 = nullptr;
1070 status = xnn_create_add_nd_qs8(
1071 -1 /* input1 zero point */, 0.5f /* input1 scale */,
1072 -1 /* input2 zero point */, 0.5f /* input2 scale */,
1073 -1 /* output zero point */, 1.0f /* output scale */, -126 /* output min */, 126 /* output max */,
1074 0 /* flags */,
1075 &op27);
1076 if (status != xnn_status_success) {
1077 std::cerr << "failed to create operation #27" << std::endl;
1078 return ExecutionPlan();
1079 }
1080 operators.emplace_back(op27, xnn_delete_operator);
1081
1082 xnn_operator_t op28 = nullptr;
1083 status = xnn_create_convolution2d_nhwc_qc8(
1084 0 /* top padding */, 0 /* right padding */,
1085 0 /* bottom padding */, 0 /* left padding */,
1086 1 /* kernel height */, 1 /* kernel width */,
1087 1 /* subsampling height */, 1 /* subsampling width */,
1088 1 /* dilation_height */, 1 /* dilation_width */,
1089 1 /* groups */,
1090 64 /* input channels per group */,
1091 384 /* output_channels_per_group */,
1092 64 /* input pixel stride */,
1093 384 /* output pixel stride */,
1094 -1 /* input zero point */, 0.5f /* input scale */,
1095 s113.data(), w113.data(), w114.data(),
1096 -1 /* output zero point */, 0.5f /* output scale */, -126 /* output min */, 126 /* output max */,
1097 0 /* flags */,
1098 &op28);
1099 if (status != xnn_status_success) {
1100 std::cerr << "failed to create operation #28" << std::endl;
1101 return ExecutionPlan();
1102 }
1103 operators.emplace_back(op28, xnn_delete_operator);
1104
1105 xnn_operator_t op29 = nullptr;
1106 status = xnn_create_convolution2d_nhwc_qc8(
1107 1 /* top padding */, 1 /* right padding */,
1108 1 /* bottom padding */, 1 /* left padding */,
1109 3 /* kernel height */, 3 /* kernel width */,
1110 1 /* subsampling height */, 1 /* subsampling width */,
1111 1 /* dilation_height */, 1 /* dilation_width */,
1112 384 /* groups */,
1113 1 /* input channels per group */,
1114 1 /* output_channels_per_group */,
1115 384 /* input pixel stride */,
1116 384 /* output pixel stride */,
1117 -1 /* input zero point */, 0.5f /* input scale */,
1118 s115.data(), w115.data(), w116.data(),
1119 -1 /* output zero point */, 0.5f /* output scale */, -126 /* output min */, 126 /* output max */,
1120 0 /* flags */,
1121 &op29);
1122 if (status != xnn_status_success) {
1123 std::cerr << "failed to create operation #29" << std::endl;
1124 return ExecutionPlan();
1125 }
1126 operators.emplace_back(op29, xnn_delete_operator);
1127
1128 xnn_operator_t op30 = nullptr;
1129 status = xnn_create_convolution2d_nhwc_qc8(
1130 0 /* top padding */, 0 /* right padding */,
1131 0 /* bottom padding */, 0 /* left padding */,
1132 1 /* kernel height */, 1 /* kernel width */,
1133 1 /* subsampling height */, 1 /* subsampling width */,
1134 1 /* dilation_height */, 1 /* dilation_width */,
1135 1 /* groups */,
1136 384 /* input channels per group */,
1137 64 /* output_channels_per_group */,
1138 384 /* input pixel stride */,
1139 64 /* output pixel stride */,
1140 -1 /* input zero point */, 0.5f /* input scale */,
1141 s117.data(), w117.data(), w118.data(),
1142 -1 /* output zero point */, 0.5f /* output scale */, -126 /* output min */, 126 /* output max */,
1143 0 /* flags */,
1144 &op30);
1145 if (status != xnn_status_success) {
1146 std::cerr << "failed to create operation #30" << std::endl;
1147 return ExecutionPlan();
1148 }
1149 operators.emplace_back(op30, xnn_delete_operator);
1150
1151 xnn_operator_t op31 = nullptr;
1152 status = xnn_create_add_nd_qs8(
1153 -1 /* input1 zero point */, 0.5f /* input1 scale */,
1154 -1 /* input2 zero point */, 0.5f /* input2 scale */,
1155 -1 /* output zero point */, 1.0f /* output scale */, -126 /* output min */, 126 /* output max */,
1156 0 /* flags */,
1157 &op31);
1158 if (status != xnn_status_success) {
1159 std::cerr << "failed to create operation #31" << std::endl;
1160 return ExecutionPlan();
1161 }
1162 operators.emplace_back(op31, xnn_delete_operator);
1163
1164 xnn_operator_t op32 = nullptr;
1165 status = xnn_create_convolution2d_nhwc_qc8(
1166 0 /* top padding */, 0 /* right padding */,
1167 0 /* bottom padding */, 0 /* left padding */,
1168 1 /* kernel height */, 1 /* kernel width */,
1169 1 /* subsampling height */, 1 /* subsampling width */,
1170 1 /* dilation_height */, 1 /* dilation_width */,
1171 1 /* groups */,
1172 64 /* input channels per group */,
1173 384 /* output_channels_per_group */,
1174 64 /* input pixel stride */,
1175 384 /* output pixel stride */,
1176 -1 /* input zero point */, 0.5f /* input scale */,
1177 s119.data(), w119.data(), w120.data(),
1178 -1 /* output zero point */, 0.5f /* output scale */, -126 /* output min */, 126 /* output max */,
1179 0 /* flags */,
1180 &op32);
1181 if (status != xnn_status_success) {
1182 std::cerr << "failed to create operation #32" << std::endl;
1183 return ExecutionPlan();
1184 }
1185 operators.emplace_back(op32, xnn_delete_operator);
1186
1187 xnn_operator_t op33 = nullptr;
1188 status = xnn_create_convolution2d_nhwc_qc8(
1189 1 /* top padding */, 1 /* right padding */,
1190 1 /* bottom padding */, 1 /* left padding */,
1191 3 /* kernel height */, 3 /* kernel width */,
1192 1 /* subsampling height */, 1 /* subsampling width */,
1193 1 /* dilation_height */, 1 /* dilation_width */,
1194 384 /* groups */,
1195 1 /* input channels per group */,
1196 1 /* output_channels_per_group */,
1197 384 /* input pixel stride */,
1198 384 /* output pixel stride */,
1199 -1 /* input zero point */, 0.5f /* input scale */,
1200 s121.data(), w121.data(), w122.data(),
1201 -1 /* output zero point */, 0.5f /* output scale */, -126 /* output min */, 126 /* output max */,
1202 0 /* flags */,
1203 &op33);
1204 if (status != xnn_status_success) {
1205 std::cerr << "failed to create operation #33" << std::endl;
1206 return ExecutionPlan();
1207 }
1208 operators.emplace_back(op33, xnn_delete_operator);
1209
1210 xnn_operator_t op34 = nullptr;
1211 status = xnn_create_convolution2d_nhwc_qc8(
1212 0 /* top padding */, 0 /* right padding */,
1213 0 /* bottom padding */, 0 /* left padding */,
1214 1 /* kernel height */, 1 /* kernel width */,
1215 1 /* subsampling height */, 1 /* subsampling width */,
1216 1 /* dilation_height */, 1 /* dilation_width */,
1217 1 /* groups */,
1218 384 /* input channels per group */,
1219 64 /* output_channels_per_group */,
1220 384 /* input pixel stride */,
1221 64 /* output pixel stride */,
1222 -1 /* input zero point */, 0.5f /* input scale */,
1223 s123.data(), w123.data(), w124.data(),
1224 -1 /* output zero point */, 0.5f /* output scale */, -126 /* output min */, 126 /* output max */,
1225 0 /* flags */,
1226 &op34);
1227 if (status != xnn_status_success) {
1228 std::cerr << "failed to create operation #34" << std::endl;
1229 return ExecutionPlan();
1230 }
1231 operators.emplace_back(op34, xnn_delete_operator);
1232
1233 xnn_operator_t op35 = nullptr;
1234 status = xnn_create_add_nd_qs8(
1235 -1 /* input1 zero point */, 0.5f /* input1 scale */,
1236 -1 /* input2 zero point */, 0.5f /* input2 scale */,
1237 -1 /* output zero point */, 1.0f /* output scale */, -126 /* output min */, 126 /* output max */,
1238 0 /* flags */,
1239 &op35);
1240 if (status != xnn_status_success) {
1241 std::cerr << "failed to create operation #35" << std::endl;
1242 return ExecutionPlan();
1243 }
1244 operators.emplace_back(op35, xnn_delete_operator);
1245
1246 xnn_operator_t op36 = nullptr;
1247 status = xnn_create_convolution2d_nhwc_qc8(
1248 0 /* top padding */, 0 /* right padding */,
1249 0 /* bottom padding */, 0 /* left padding */,
1250 1 /* kernel height */, 1 /* kernel width */,
1251 1 /* subsampling height */, 1 /* subsampling width */,
1252 1 /* dilation_height */, 1 /* dilation_width */,
1253 1 /* groups */,
1254 64 /* input channels per group */,
1255 384 /* output_channels_per_group */,
1256 64 /* input pixel stride */,
1257 384 /* output pixel stride */,
1258 -1 /* input zero point */, 0.5f /* input scale */,
1259 s125.data(), w125.data(), w126.data(),
1260 -1 /* output zero point */, 0.5f /* output scale */, -126 /* output min */, 126 /* output max */,
1261 0 /* flags */,
1262 &op36);
1263 if (status != xnn_status_success) {
1264 std::cerr << "failed to create operation #36" << std::endl;
1265 return ExecutionPlan();
1266 }
1267 operators.emplace_back(op36, xnn_delete_operator);
1268
1269 xnn_operator_t op37 = nullptr;
1270 status = xnn_create_convolution2d_nhwc_qc8(
1271 1 /* top padding */, 1 /* right padding */,
1272 1 /* bottom padding */, 1 /* left padding */,
1273 3 /* kernel height */, 3 /* kernel width */,
1274 1 /* subsampling height */, 1 /* subsampling width */,
1275 1 /* dilation_height */, 1 /* dilation_width */,
1276 384 /* groups */,
1277 1 /* input channels per group */,
1278 1 /* output_channels_per_group */,
1279 384 /* input pixel stride */,
1280 384 /* output pixel stride */,
1281 -1 /* input zero point */, 0.5f /* input scale */,
1282 s127.data(), w127.data(), w128.data(),
1283 -1 /* output zero point */, 0.5f /* output scale */, -126 /* output min */, 126 /* output max */,
1284 0 /* flags */,
1285 &op37);
1286 if (status != xnn_status_success) {
1287 std::cerr << "failed to create operation #37" << std::endl;
1288 return ExecutionPlan();
1289 }
1290 operators.emplace_back(op37, xnn_delete_operator);
1291
1292 xnn_operator_t op38 = nullptr;
1293 status = xnn_create_convolution2d_nhwc_qc8(
1294 0 /* top padding */, 0 /* right padding */,
1295 0 /* bottom padding */, 0 /* left padding */,
1296 1 /* kernel height */, 1 /* kernel width */,
1297 1 /* subsampling height */, 1 /* subsampling width */,
1298 1 /* dilation_height */, 1 /* dilation_width */,
1299 1 /* groups */,
1300 384 /* input channels per group */,
1301 96 /* output_channels_per_group */,
1302 384 /* input pixel stride */,
1303 96 /* output pixel stride */,
1304 -1 /* input zero point */, 0.5f /* input scale */,
1305 s129.data(), w129.data(), w130.data(),
1306 -1 /* output zero point */, 0.5f /* output scale */, -126 /* output min */, 126 /* output max */,
1307 0 /* flags */,
1308 &op38);
1309 if (status != xnn_status_success) {
1310 std::cerr << "failed to create operation #38" << std::endl;
1311 return ExecutionPlan();
1312 }
1313 operators.emplace_back(op38, xnn_delete_operator);
1314
1315 xnn_operator_t op39 = nullptr;
1316 status = xnn_create_convolution2d_nhwc_qc8(
1317 0 /* top padding */, 0 /* right padding */,
1318 0 /* bottom padding */, 0 /* left padding */,
1319 1 /* kernel height */, 1 /* kernel width */,
1320 1 /* subsampling height */, 1 /* subsampling width */,
1321 1 /* dilation_height */, 1 /* dilation_width */,
1322 1 /* groups */,
1323 96 /* input channels per group */,
1324 576 /* output_channels_per_group */,
1325 96 /* input pixel stride */,
1326 576 /* output pixel stride */,
1327 -1 /* input zero point */, 0.5f /* input scale */,
1328 s131.data(), w131.data(), w132.data(),
1329 -1 /* output zero point */, 0.5f /* output scale */, -126 /* output min */, 126 /* output max */,
1330 0 /* flags */,
1331 &op39);
1332 if (status != xnn_status_success) {
1333 std::cerr << "failed to create operation #39" << std::endl;
1334 return ExecutionPlan();
1335 }
1336 operators.emplace_back(op39, xnn_delete_operator);
1337
1338 xnn_operator_t op40 = nullptr;
1339 status = xnn_create_convolution2d_nhwc_qc8(
1340 1 /* top padding */, 1 /* right padding */,
1341 1 /* bottom padding */, 1 /* left padding */,
1342 3 /* kernel height */, 3 /* kernel width */,
1343 1 /* subsampling height */, 1 /* subsampling width */,
1344 1 /* dilation_height */, 1 /* dilation_width */,
1345 576 /* groups */,
1346 1 /* input channels per group */,
1347 1 /* output_channels_per_group */,
1348 576 /* input pixel stride */,
1349 576 /* output pixel stride */,
1350 -1 /* input zero point */, 0.5f /* input scale */,
1351 s133.data(), w133.data(), w134.data(),
1352 -1 /* output zero point */, 0.5f /* output scale */, -126 /* output min */, 126 /* output max */,
1353 0 /* flags */,
1354 &op40);
1355 if (status != xnn_status_success) {
1356 std::cerr << "failed to create operation #40" << std::endl;
1357 return ExecutionPlan();
1358 }
1359 operators.emplace_back(op40, xnn_delete_operator);
1360
1361 xnn_operator_t op41 = nullptr;
1362 status = xnn_create_convolution2d_nhwc_qc8(
1363 0 /* top padding */, 0 /* right padding */,
1364 0 /* bottom padding */, 0 /* left padding */,
1365 1 /* kernel height */, 1 /* kernel width */,
1366 1 /* subsampling height */, 1 /* subsampling width */,
1367 1 /* dilation_height */, 1 /* dilation_width */,
1368 1 /* groups */,
1369 576 /* input channels per group */,
1370 96 /* output_channels_per_group */,
1371 576 /* input pixel stride */,
1372 96 /* output pixel stride */,
1373 -1 /* input zero point */, 0.5f /* input scale */,
1374 s135.data(), w135.data(), w136.data(),
1375 -1 /* output zero point */, 0.5f /* output scale */, -126 /* output min */, 126 /* output max */,
1376 0 /* flags */,
1377 &op41);
1378 if (status != xnn_status_success) {
1379 std::cerr << "failed to create operation #41" << std::endl;
1380 return ExecutionPlan();
1381 }
1382 operators.emplace_back(op41, xnn_delete_operator);
1383
1384 xnn_operator_t op42 = nullptr;
1385 status = xnn_create_add_nd_qs8(
1386 -1 /* input1 zero point */, 0.5f /* input1 scale */,
1387 -1 /* input2 zero point */, 0.5f /* input2 scale */,
1388 -1 /* output zero point */, 1.0f /* output scale */, -126 /* output min */, 126 /* output max */,
1389 0 /* flags */,
1390 &op42);
1391 if (status != xnn_status_success) {
1392 std::cerr << "failed to create operation #42" << std::endl;
1393 return ExecutionPlan();
1394 }
1395 operators.emplace_back(op42, xnn_delete_operator);
1396
1397 xnn_operator_t op43 = nullptr;
1398 status = xnn_create_convolution2d_nhwc_qc8(
1399 0 /* top padding */, 0 /* right padding */,
1400 0 /* bottom padding */, 0 /* left padding */,
1401 1 /* kernel height */, 1 /* kernel width */,
1402 1 /* subsampling height */, 1 /* subsampling width */,
1403 1 /* dilation_height */, 1 /* dilation_width */,
1404 1 /* groups */,
1405 96 /* input channels per group */,
1406 576 /* output_channels_per_group */,
1407 96 /* input pixel stride */,
1408 576 /* output pixel stride */,
1409 -1 /* input zero point */, 0.5f /* input scale */,
1410 s137.data(), w137.data(), w138.data(),
1411 -1 /* output zero point */, 0.5f /* output scale */, -126 /* output min */, 126 /* output max */,
1412 0 /* flags */,
1413 &op43);
1414 if (status != xnn_status_success) {
1415 std::cerr << "failed to create operation #43" << std::endl;
1416 return ExecutionPlan();
1417 }
1418 operators.emplace_back(op43, xnn_delete_operator);
1419
1420 xnn_operator_t op44 = nullptr;
1421 status = xnn_create_convolution2d_nhwc_qc8(
1422 1 /* top padding */, 1 /* right padding */,
1423 1 /* bottom padding */, 1 /* left padding */,
1424 3 /* kernel height */, 3 /* kernel width */,
1425 1 /* subsampling height */, 1 /* subsampling width */,
1426 1 /* dilation_height */, 1 /* dilation_width */,
1427 576 /* groups */,
1428 1 /* input channels per group */,
1429 1 /* output_channels_per_group */,
1430 576 /* input pixel stride */,
1431 576 /* output pixel stride */,
1432 -1 /* input zero point */, 0.5f /* input scale */,
1433 s139.data(), w139.data(), w140.data(),
1434 -1 /* output zero point */, 0.5f /* output scale */, -126 /* output min */, 126 /* output max */,
1435 0 /* flags */,
1436 &op44);
1437 if (status != xnn_status_success) {
1438 std::cerr << "failed to create operation #44" << std::endl;
1439 return ExecutionPlan();
1440 }
1441 operators.emplace_back(op44, xnn_delete_operator);
1442
1443 xnn_operator_t op45 = nullptr;
1444 status = xnn_create_convolution2d_nhwc_qc8(
1445 0 /* top padding */, 0 /* right padding */,
1446 0 /* bottom padding */, 0 /* left padding */,
1447 1 /* kernel height */, 1 /* kernel width */,
1448 1 /* subsampling height */, 1 /* subsampling width */,
1449 1 /* dilation_height */, 1 /* dilation_width */,
1450 1 /* groups */,
1451 576 /* input channels per group */,
1452 96 /* output_channels_per_group */,
1453 576 /* input pixel stride */,
1454 96 /* output pixel stride */,
1455 -1 /* input zero point */, 0.5f /* input scale */,
1456 s141.data(), w141.data(), w142.data(),
1457 -1 /* output zero point */, 0.5f /* output scale */, -126 /* output min */, 126 /* output max */,
1458 0 /* flags */,
1459 &op45);
1460 if (status != xnn_status_success) {
1461 std::cerr << "failed to create operation #45" << std::endl;
1462 return ExecutionPlan();
1463 }
1464 operators.emplace_back(op45, xnn_delete_operator);
1465
1466 xnn_operator_t op46 = nullptr;
1467 status = xnn_create_add_nd_qs8(
1468 -1 /* input1 zero point */, 0.5f /* input1 scale */,
1469 -1 /* input2 zero point */, 0.5f /* input2 scale */,
1470 -1 /* output zero point */, 1.0f /* output scale */, -126 /* output min */, 126 /* output max */,
1471 0 /* flags */,
1472 &op46);
1473 if (status != xnn_status_success) {
1474 std::cerr << "failed to create operation #46" << std::endl;
1475 return ExecutionPlan();
1476 }
1477 operators.emplace_back(op46, xnn_delete_operator);
1478
1479 xnn_operator_t op47 = nullptr;
1480 status = xnn_create_convolution2d_nhwc_qc8(
1481 0 /* top padding */, 0 /* right padding */,
1482 0 /* bottom padding */, 0 /* left padding */,
1483 1 /* kernel height */, 1 /* kernel width */,
1484 1 /* subsampling height */, 1 /* subsampling width */,
1485 1 /* dilation_height */, 1 /* dilation_width */,
1486 1 /* groups */,
1487 96 /* input channels per group */,
1488 576 /* output_channels_per_group */,
1489 96 /* input pixel stride */,
1490 576 /* output pixel stride */,
1491 -1 /* input zero point */, 0.5f /* input scale */,
1492 s143.data(), w143.data(), w144.data(),
1493 -1 /* output zero point */, 0.5f /* output scale */, -126 /* output min */, 126 /* output max */,
1494 0 /* flags */,
1495 &op47);
1496 if (status != xnn_status_success) {
1497 std::cerr << "failed to create operation #47" << std::endl;
1498 return ExecutionPlan();
1499 }
1500 operators.emplace_back(op47, xnn_delete_operator);
1501
1502 xnn_operator_t op48 = nullptr;
1503 status = xnn_create_convolution2d_nhwc_qc8(
1504 0 /* top padding */, 1 /* right padding */,
1505 1 /* bottom padding */, 0 /* left padding */,
1506 3 /* kernel height */, 3 /* kernel width */,
1507 2 /* subsampling height */, 2 /* subsampling width */,
1508 1 /* dilation_height */, 1 /* dilation_width */,
1509 576 /* groups */,
1510 1 /* input channels per group */,
1511 1 /* output_channels_per_group */,
1512 576 /* input pixel stride */,
1513 576 /* output pixel stride */,
1514 -1 /* input zero point */, 0.5f /* input scale */,
1515 s145.data(), w145.data(), w146.data(),
1516 -1 /* output zero point */, 0.5f /* output scale */, -126 /* output min */, 126 /* output max */,
1517 0 /* flags */,
1518 &op48);
1519 if (status != xnn_status_success) {
1520 std::cerr << "failed to create operation #48" << std::endl;
1521 return ExecutionPlan();
1522 }
1523 operators.emplace_back(op48, xnn_delete_operator);
1524
1525 xnn_operator_t op49 = nullptr;
1526 status = xnn_create_convolution2d_nhwc_qc8(
1527 0 /* top padding */, 0 /* right padding */,
1528 0 /* bottom padding */, 0 /* left padding */,
1529 1 /* kernel height */, 1 /* kernel width */,
1530 1 /* subsampling height */, 1 /* subsampling width */,
1531 1 /* dilation_height */, 1 /* dilation_width */,
1532 1 /* groups */,
1533 576 /* input channels per group */,
1534 160 /* output_channels_per_group */,
1535 576 /* input pixel stride */,
1536 160 /* output pixel stride */,
1537 -1 /* input zero point */, 0.5f /* input scale */,
1538 s147.data(), w147.data(), w148.data(),
1539 -1 /* output zero point */, 0.5f /* output scale */, -126 /* output min */, 126 /* output max */,
1540 0 /* flags */,
1541 &op49);
1542 if (status != xnn_status_success) {
1543 std::cerr << "failed to create operation #49" << std::endl;
1544 return ExecutionPlan();
1545 }
1546 operators.emplace_back(op49, xnn_delete_operator);
1547
1548 xnn_operator_t op50 = nullptr;
1549 status = xnn_create_convolution2d_nhwc_qc8(
1550 0 /* top padding */, 0 /* right padding */,
1551 0 /* bottom padding */, 0 /* left padding */,
1552 1 /* kernel height */, 1 /* kernel width */,
1553 1 /* subsampling height */, 1 /* subsampling width */,
1554 1 /* dilation_height */, 1 /* dilation_width */,
1555 1 /* groups */,
1556 160 /* input channels per group */,
1557 960 /* output_channels_per_group */,
1558 160 /* input pixel stride */,
1559 960 /* output pixel stride */,
1560 -1 /* input zero point */, 0.5f /* input scale */,
1561 s149.data(), w149.data(), w150.data(),
1562 -1 /* output zero point */, 0.5f /* output scale */, -126 /* output min */, 126 /* output max */,
1563 0 /* flags */,
1564 &op50);
1565 if (status != xnn_status_success) {
1566 std::cerr << "failed to create operation #50" << std::endl;
1567 return ExecutionPlan();
1568 }
1569 operators.emplace_back(op50, xnn_delete_operator);
1570
1571 xnn_operator_t op51 = nullptr;
1572 status = xnn_create_convolution2d_nhwc_qc8(
1573 1 /* top padding */, 1 /* right padding */,
1574 1 /* bottom padding */, 1 /* left padding */,
1575 3 /* kernel height */, 3 /* kernel width */,
1576 1 /* subsampling height */, 1 /* subsampling width */,
1577 1 /* dilation_height */, 1 /* dilation_width */,
1578 960 /* groups */,
1579 1 /* input channels per group */,
1580 1 /* output_channels_per_group */,
1581 960 /* input pixel stride */,
1582 960 /* output pixel stride */,
1583 -1 /* input zero point */, 0.5f /* input scale */,
1584 s151.data(), w151.data(), w152.data(),
1585 -1 /* output zero point */, 0.5f /* output scale */, -126 /* output min */, 126 /* output max */,
1586 0 /* flags */,
1587 &op51);
1588 if (status != xnn_status_success) {
1589 std::cerr << "failed to create operation #51" << std::endl;
1590 return ExecutionPlan();
1591 }
1592 operators.emplace_back(op51, xnn_delete_operator);
1593
1594 xnn_operator_t op52 = nullptr;
1595 status = xnn_create_convolution2d_nhwc_qc8(
1596 0 /* top padding */, 0 /* right padding */,
1597 0 /* bottom padding */, 0 /* left padding */,
1598 1 /* kernel height */, 1 /* kernel width */,
1599 1 /* subsampling height */, 1 /* subsampling width */,
1600 1 /* dilation_height */, 1 /* dilation_width */,
1601 1 /* groups */,
1602 960 /* input channels per group */,
1603 160 /* output_channels_per_group */,
1604 960 /* input pixel stride */,
1605 160 /* output pixel stride */,
1606 -1 /* input zero point */, 0.5f /* input scale */,
1607 s153.data(), w153.data(), w154.data(),
1608 -1 /* output zero point */, 0.5f /* output scale */, -126 /* output min */, 126 /* output max */,
1609 0 /* flags */,
1610 &op52);
1611 if (status != xnn_status_success) {
1612 std::cerr << "failed to create operation #52" << std::endl;
1613 return ExecutionPlan();
1614 }
1615 operators.emplace_back(op52, xnn_delete_operator);
1616
1617 xnn_operator_t op53 = nullptr;
1618 status = xnn_create_add_nd_qs8(
1619 -1 /* input1 zero point */, 0.5f /* input1 scale */,
1620 -1 /* input2 zero point */, 0.5f /* input2 scale */,
1621 -1 /* output zero point */, 1.0f /* output scale */, -126 /* output min */, 126 /* output max */,
1622 0 /* flags */,
1623 &op53);
1624 if (status != xnn_status_success) {
1625 std::cerr << "failed to create operation #53" << std::endl;
1626 return ExecutionPlan();
1627 }
1628 operators.emplace_back(op53, xnn_delete_operator);
1629
1630 xnn_operator_t op54 = nullptr;
1631 status = xnn_create_convolution2d_nhwc_qc8(
1632 0 /* top padding */, 0 /* right padding */,
1633 0 /* bottom padding */, 0 /* left padding */,
1634 1 /* kernel height */, 1 /* kernel width */,
1635 1 /* subsampling height */, 1 /* subsampling width */,
1636 1 /* dilation_height */, 1 /* dilation_width */,
1637 1 /* groups */,
1638 160 /* input channels per group */,
1639 960 /* output_channels_per_group */,
1640 160 /* input pixel stride */,
1641 960 /* output pixel stride */,
1642 -1 /* input zero point */, 0.5f /* input scale */,
1643 s155.data(), w155.data(), w156.data(),
1644 -1 /* output zero point */, 0.5f /* output scale */, -126 /* output min */, 126 /* output max */,
1645 0 /* flags */,
1646 &op54);
1647 if (status != xnn_status_success) {
1648 std::cerr << "failed to create operation #54" << std::endl;
1649 return ExecutionPlan();
1650 }
1651 operators.emplace_back(op54, xnn_delete_operator);
1652
1653 xnn_operator_t op55 = nullptr;
1654 status = xnn_create_convolution2d_nhwc_qc8(
1655 1 /* top padding */, 1 /* right padding */,
1656 1 /* bottom padding */, 1 /* left padding */,
1657 3 /* kernel height */, 3 /* kernel width */,
1658 1 /* subsampling height */, 1 /* subsampling width */,
1659 1 /* dilation_height */, 1 /* dilation_width */,
1660 960 /* groups */,
1661 1 /* input channels per group */,
1662 1 /* output_channels_per_group */,
1663 960 /* input pixel stride */,
1664 960 /* output pixel stride */,
1665 -1 /* input zero point */, 0.5f /* input scale */,
1666 s157.data(), w157.data(), w158.data(),
1667 -1 /* output zero point */, 0.5f /* output scale */, -126 /* output min */, 126 /* output max */,
1668 0 /* flags */,
1669 &op55);
1670 if (status != xnn_status_success) {
1671 std::cerr << "failed to create operation #55" << std::endl;
1672 return ExecutionPlan();
1673 }
1674 operators.emplace_back(op55, xnn_delete_operator);
1675
1676 xnn_operator_t op56 = nullptr;
1677 status = xnn_create_convolution2d_nhwc_qc8(
1678 0 /* top padding */, 0 /* right padding */,
1679 0 /* bottom padding */, 0 /* left padding */,
1680 1 /* kernel height */, 1 /* kernel width */,
1681 1 /* subsampling height */, 1 /* subsampling width */,
1682 1 /* dilation_height */, 1 /* dilation_width */,
1683 1 /* groups */,
1684 960 /* input channels per group */,
1685 160 /* output_channels_per_group */,
1686 960 /* input pixel stride */,
1687 160 /* output pixel stride */,
1688 -1 /* input zero point */, 0.5f /* input scale */,
1689 s159.data(), w159.data(), w160.data(),
1690 -1 /* output zero point */, 0.5f /* output scale */, -126 /* output min */, 126 /* output max */,
1691 0 /* flags */,
1692 &op56);
1693 if (status != xnn_status_success) {
1694 std::cerr << "failed to create operation #56" << std::endl;
1695 return ExecutionPlan();
1696 }
1697 operators.emplace_back(op56, xnn_delete_operator);
1698
1699 xnn_operator_t op57 = nullptr;
1700 status = xnn_create_add_nd_qs8(
1701 -1 /* input1 zero point */, 0.5f /* input1 scale */,
1702 -1 /* input2 zero point */, 0.5f /* input2 scale */,
1703 -1 /* output zero point */, 1.0f /* output scale */, -126 /* output min */, 126 /* output max */,
1704 0 /* flags */,
1705 &op57);
1706 if (status != xnn_status_success) {
1707 std::cerr << "failed to create operation #57" << std::endl;
1708 return ExecutionPlan();
1709 }
1710 operators.emplace_back(op57, xnn_delete_operator);
1711
1712 xnn_operator_t op58 = nullptr;
1713 status = xnn_create_convolution2d_nhwc_qc8(
1714 0 /* top padding */, 0 /* right padding */,
1715 0 /* bottom padding */, 0 /* left padding */,
1716 1 /* kernel height */, 1 /* kernel width */,
1717 1 /* subsampling height */, 1 /* subsampling width */,
1718 1 /* dilation_height */, 1 /* dilation_width */,
1719 1 /* groups */,
1720 160 /* input channels per group */,
1721 960 /* output_channels_per_group */,
1722 160 /* input pixel stride */,
1723 960 /* output pixel stride */,
1724 -1 /* input zero point */, 0.5f /* input scale */,
1725 s161.data(), w161.data(), w162.data(),
1726 -1 /* output zero point */, 0.5f /* output scale */, -126 /* output min */, 126 /* output max */,
1727 0 /* flags */,
1728 &op58);
1729 if (status != xnn_status_success) {
1730 std::cerr << "failed to create operation #58" << std::endl;
1731 return ExecutionPlan();
1732 }
1733 operators.emplace_back(op58, xnn_delete_operator);
1734
1735 xnn_operator_t op59 = nullptr;
1736 status = xnn_create_convolution2d_nhwc_qc8(
1737 1 /* top padding */, 1 /* right padding */,
1738 1 /* bottom padding */, 1 /* left padding */,
1739 3 /* kernel height */, 3 /* kernel width */,
1740 1 /* subsampling height */, 1 /* subsampling width */,
1741 1 /* dilation_height */, 1 /* dilation_width */,
1742 960 /* groups */,
1743 1 /* input channels per group */,
1744 1 /* output_channels_per_group */,
1745 960 /* input pixel stride */,
1746 960 /* output pixel stride */,
1747 -1 /* input zero point */, 0.5f /* input scale */,
1748 s163.data(), w163.data(), w164.data(),
1749 -1 /* output zero point */, 0.5f /* output scale */, -126 /* output min */, 126 /* output max */,
1750 0 /* flags */,
1751 &op59);
1752 if (status != xnn_status_success) {
1753 std::cerr << "failed to create operation #59" << std::endl;
1754 return ExecutionPlan();
1755 }
1756 operators.emplace_back(op59, xnn_delete_operator);
1757
1758 xnn_operator_t op60 = nullptr;
1759 status = xnn_create_convolution2d_nhwc_qc8(
1760 0 /* top padding */, 0 /* right padding */,
1761 0 /* bottom padding */, 0 /* left padding */,
1762 1 /* kernel height */, 1 /* kernel width */,
1763 1 /* subsampling height */, 1 /* subsampling width */,
1764 1 /* dilation_height */, 1 /* dilation_width */,
1765 1 /* groups */,
1766 960 /* input channels per group */,
1767 320 /* output_channels_per_group */,
1768 960 /* input pixel stride */,
1769 320 /* output pixel stride */,
1770 -1 /* input zero point */, 0.5f /* input scale */,
1771 s165.data(), w165.data(), w166.data(),
1772 -1 /* output zero point */, 0.5f /* output scale */, -126 /* output min */, 126 /* output max */,
1773 0 /* flags */,
1774 &op60);
1775 if (status != xnn_status_success) {
1776 std::cerr << "failed to create operation #60" << std::endl;
1777 return ExecutionPlan();
1778 }
1779 operators.emplace_back(op60, xnn_delete_operator);
1780
1781 xnn_operator_t op61 = nullptr;
1782 status = xnn_create_convolution2d_nhwc_qc8(
1783 0 /* top padding */, 0 /* right padding */,
1784 0 /* bottom padding */, 0 /* left padding */,
1785 1 /* kernel height */, 1 /* kernel width */,
1786 1 /* subsampling height */, 1 /* subsampling width */,
1787 1 /* dilation_height */, 1 /* dilation_width */,
1788 1 /* groups */,
1789 320 /* input channels per group */,
1790 1280 /* output_channels_per_group */,
1791 320 /* input pixel stride */,
1792 1280 /* output pixel stride */,
1793 -1 /* input zero point */, 0.5f /* input scale */,
1794 s167.data(), w167.data(), w168.data(),
1795 -1 /* output zero point */, 0.5f /* output scale */, -126 /* output min */, 126 /* output max */,
1796 0 /* flags */,
1797 &op61);
1798 if (status != xnn_status_success) {
1799 std::cerr << "failed to create operation #61" << std::endl;
1800 return ExecutionPlan();
1801 }
1802 operators.emplace_back(op61, xnn_delete_operator);
1803
1804 xnn_operator_t op62 = nullptr;
1805 status = xnn_create_global_average_pooling_nwc_qs8(
1806 1280 /* channels */, 1280 /* input stride */, 1280 /* output stride */,
1807 -1 /* input zero point */, 0.5f /* input scale */,
1808 -1 /* output zero point */, 0.5f /* output scale */, -126 /* output min */, 126 /* output max */,
1809 0 /* flags */,
1810 &op62);
1811 if (status != xnn_status_success) {
1812 std::cerr << "failed to create operation #62" << std::endl;
1813 return ExecutionPlan();
1814 }
1815 operators.emplace_back(op62, xnn_delete_operator);
1816
1817 xnn_operator_t op63 = nullptr;
1818 status = xnn_create_convolution2d_nhwc_qc8(
1819 0 /* top padding */, 0 /* right padding */,
1820 0 /* bottom padding */, 0 /* left padding */,
1821 1 /* kernel height */, 1 /* kernel width */,
1822 1 /* subsampling height */, 1 /* subsampling width */,
1823 1 /* dilation_height */, 1 /* dilation_width */,
1824 1 /* groups */,
1825 1280 /* input channels per group */,
1826 1001 /* output_channels_per_group */,
1827 1280 /* input pixel stride */,
1828 1001 /* output pixel stride */,
1829 -1 /* input zero point */, 0.5f /* input scale */,
1830 s169.data(), w169.data(), w170.data(),
1831 -1 /* output zero point */, 0.5f /* output scale */, -126 /* output min */, 126 /* output max */,
1832 0 /* flags */,
1833 &op63);
1834 if (status != xnn_status_success) {
1835 std::cerr << "failed to create operation #63" << std::endl;
1836 return ExecutionPlan();
1837 }
1838 operators.emplace_back(op63, xnn_delete_operator);
1839
1840
1841
1842 status = xnn_setup_convolution2d_nhwc_qc8(
1843 op0,
1844 1 /* batch size */, 224 /* input height */, 224 /* input width */,
1845 v0.data() /* input */, v1.data() /* output */,
1846 threadpool /* threadpool */);
1847 if (status != xnn_status_success) {
1848 std::cerr << "failed to setup operation #0" << std::endl;
1849 return ExecutionPlan();
1850 }
1851
1852 status = xnn_setup_convolution2d_nhwc_qc8(
1853 op1,
1854 1 /* batch size */, 112 /* input height */, 112 /* input width */,
1855 v1.data() /* input */, v2.data() /* output */,
1856 threadpool /* threadpool */);
1857 if (status != xnn_status_success) {
1858 std::cerr << "failed to setup operation #1" << std::endl;
1859 return ExecutionPlan();
1860 }
1861
1862 status = xnn_setup_convolution2d_nhwc_qc8(
1863 op2,
1864 1 /* batch size */, 112 /* input height */, 112 /* input width */,
1865 v2.data() /* input */, v3.data() /* output */,
1866 threadpool /* threadpool */);
1867 if (status != xnn_status_success) {
1868 std::cerr << "failed to setup operation #2" << std::endl;
1869 return ExecutionPlan();
1870 }
1871
1872 status = xnn_setup_convolution2d_nhwc_qc8(
1873 op3,
1874 1 /* batch size */, 112 /* input height */, 112 /* input width */,
1875 v3.data() /* input */, v4.data() /* output */,
1876 threadpool /* threadpool */);
1877 if (status != xnn_status_success) {
1878 std::cerr << "failed to setup operation #3" << std::endl;
1879 return ExecutionPlan();
1880 }
1881
1882 status = xnn_setup_convolution2d_nhwc_qc8(
1883 op4,
1884 1 /* batch size */, 112 /* input height */, 112 /* input width */,
1885 v4.data() /* input */, v5.data() /* output */,
1886 threadpool /* threadpool */);
1887 if (status != xnn_status_success) {
1888 std::cerr << "failed to setup operation #4" << std::endl;
1889 return ExecutionPlan();
1890 }
1891
1892 status = xnn_setup_convolution2d_nhwc_qc8(
1893 op5,
1894 1 /* batch size */, 56 /* input height */, 56 /* input width */,
1895 v5.data() /* input */, v6.data() /* output */,
1896 threadpool /* threadpool */);
1897 if (status != xnn_status_success) {
1898 std::cerr << "failed to setup operation #5" << std::endl;
1899 return ExecutionPlan();
1900 }
1901
1902 status = xnn_setup_convolution2d_nhwc_qc8(
1903 op6,
1904 1 /* batch size */, 56 /* input height */, 56 /* input width */,
1905 v6.data() /* input */, v7.data() /* output */,
1906 threadpool /* threadpool */);
1907 if (status != xnn_status_success) {
1908 std::cerr << "failed to setup operation #6" << std::endl;
1909 return ExecutionPlan();
1910 }
1911
1912 status = xnn_setup_convolution2d_nhwc_qc8(
1913 op7,
1914 1 /* batch size */, 56 /* input height */, 56 /* input width */,
1915 v7.data() /* input */, v8.data() /* output */,
1916 threadpool /* threadpool */);
1917 if (status != xnn_status_success) {
1918 std::cerr << "failed to setup operation #7" << std::endl;
1919 return ExecutionPlan();
1920 }
1921
1922 status = xnn_setup_convolution2d_nhwc_qc8(
1923 op8,
1924 1 /* batch size */, 56 /* input height */, 56 /* input width */,
1925 v8.data() /* input */, v9.data() /* output */,
1926 threadpool /* threadpool */);
1927 if (status != xnn_status_success) {
1928 std::cerr << "failed to setup operation #8" << std::endl;
1929 return ExecutionPlan();
1930 }
1931
1932 {
1933 const size_t a_shape[] = { 1, 56, 56, 24 };
1934 const size_t b_shape[] = { 1, 56, 56, 24 };
1935 status = xnn_setup_add_nd_qs8(
1936 op9,
1937 4, a_shape, 4, b_shape,
1938 v9.data() /* a */, v6.data() /* b */, v10.data() /* output */,
1939 threadpool /* threadpool */);
1940 }
1941 if (status != xnn_status_success) {
1942 std::cerr << "failed to setup operation #9" << std::endl;
1943 return ExecutionPlan();
1944 }
1945
1946 status = xnn_setup_convolution2d_nhwc_qc8(
1947 op10,
1948 1 /* batch size */, 56 /* input height */, 56 /* input width */,
1949 v10.data() /* input */, v11.data() /* output */,
1950 threadpool /* threadpool */);
1951 if (status != xnn_status_success) {
1952 std::cerr << "failed to setup operation #10" << std::endl;
1953 return ExecutionPlan();
1954 }
1955
1956 status = xnn_setup_convolution2d_nhwc_qc8(
1957 op11,
1958 1 /* batch size */, 56 /* input height */, 56 /* input width */,
1959 v11.data() /* input */, v12.data() /* output */,
1960 threadpool /* threadpool */);
1961 if (status != xnn_status_success) {
1962 std::cerr << "failed to setup operation #11" << std::endl;
1963 return ExecutionPlan();
1964 }
1965
1966 status = xnn_setup_convolution2d_nhwc_qc8(
1967 op12,
1968 1 /* batch size */, 28 /* input height */, 28 /* input width */,
1969 v12.data() /* input */, v13.data() /* output */,
1970 threadpool /* threadpool */);
1971 if (status != xnn_status_success) {
1972 std::cerr << "failed to setup operation #12" << std::endl;
1973 return ExecutionPlan();
1974 }
1975
1976 status = xnn_setup_convolution2d_nhwc_qc8(
1977 op13,
1978 1 /* batch size */, 28 /* input height */, 28 /* input width */,
1979 v13.data() /* input */, v14.data() /* output */,
1980 threadpool /* threadpool */);
1981 if (status != xnn_status_success) {
1982 std::cerr << "failed to setup operation #13" << std::endl;
1983 return ExecutionPlan();
1984 }
1985
1986 status = xnn_setup_convolution2d_nhwc_qc8(
1987 op14,
1988 1 /* batch size */, 28 /* input height */, 28 /* input width */,
1989 v14.data() /* input */, v15.data() /* output */,
1990 threadpool /* threadpool */);
1991 if (status != xnn_status_success) {
1992 std::cerr << "failed to setup operation #14" << std::endl;
1993 return ExecutionPlan();
1994 }
1995
1996 status = xnn_setup_convolution2d_nhwc_qc8(
1997 op15,
1998 1 /* batch size */, 28 /* input height */, 28 /* input width */,
1999 v15.data() /* input */, v16.data() /* output */,
2000 threadpool /* threadpool */);
2001 if (status != xnn_status_success) {
2002 std::cerr << "failed to setup operation #15" << std::endl;
2003 return ExecutionPlan();
2004 }
2005
2006 {
2007 const size_t a_shape[] = { 1, 28, 28, 32 };
2008 const size_t b_shape[] = { 1, 28, 28, 32 };
2009 status = xnn_setup_add_nd_qs8(
2010 op16,
2011 4, a_shape, 4, b_shape,
2012 v16.data() /* a */, v13.data() /* b */, v17.data() /* output */,
2013 threadpool /* threadpool */);
2014 }
2015 if (status != xnn_status_success) {
2016 std::cerr << "failed to setup operation #16" << std::endl;
2017 return ExecutionPlan();
2018 }
2019
2020 status = xnn_setup_convolution2d_nhwc_qc8(
2021 op17,
2022 1 /* batch size */, 28 /* input height */, 28 /* input width */,
2023 v17.data() /* input */, v18.data() /* output */,
2024 threadpool /* threadpool */);
2025 if (status != xnn_status_success) {
2026 std::cerr << "failed to setup operation #17" << std::endl;
2027 return ExecutionPlan();
2028 }
2029
2030 status = xnn_setup_convolution2d_nhwc_qc8(
2031 op18,
2032 1 /* batch size */, 28 /* input height */, 28 /* input width */,
2033 v18.data() /* input */, v19.data() /* output */,
2034 threadpool /* threadpool */);
2035 if (status != xnn_status_success) {
2036 std::cerr << "failed to setup operation #18" << std::endl;
2037 return ExecutionPlan();
2038 }
2039
2040 status = xnn_setup_convolution2d_nhwc_qc8(
2041 op19,
2042 1 /* batch size */, 28 /* input height */, 28 /* input width */,
2043 v19.data() /* input */, v20.data() /* output */,
2044 threadpool /* threadpool */);
2045 if (status != xnn_status_success) {
2046 std::cerr << "failed to setup operation #19" << std::endl;
2047 return ExecutionPlan();
2048 }
2049
2050 {
2051 const size_t a_shape[] = { 1, 28, 28, 32 };
2052 const size_t b_shape[] = { 1, 28, 28, 32 };
2053 status = xnn_setup_add_nd_qs8(
2054 op20,
2055 4, a_shape, 4, b_shape,
2056 v20.data() /* a */, v17.data() /* b */, v21.data() /* output */,
2057 threadpool /* threadpool */);
2058 }
2059 if (status != xnn_status_success) {
2060 std::cerr << "failed to setup operation #20" << std::endl;
2061 return ExecutionPlan();
2062 }
2063
2064 status = xnn_setup_convolution2d_nhwc_qc8(
2065 op21,
2066 1 /* batch size */, 28 /* input height */, 28 /* input width */,
2067 v21.data() /* input */, v22.data() /* output */,
2068 threadpool /* threadpool */);
2069 if (status != xnn_status_success) {
2070 std::cerr << "failed to setup operation #21" << std::endl;
2071 return ExecutionPlan();
2072 }
2073
2074 status = xnn_setup_convolution2d_nhwc_qc8(
2075 op22,
2076 1 /* batch size */, 28 /* input height */, 28 /* input width */,
2077 v22.data() /* input */, v23.data() /* output */,
2078 threadpool /* threadpool */);
2079 if (status != xnn_status_success) {
2080 std::cerr << "failed to setup operation #22" << std::endl;
2081 return ExecutionPlan();
2082 }
2083
2084 status = xnn_setup_convolution2d_nhwc_qc8(
2085 op23,
2086 1 /* batch size */, 14 /* input height */, 14 /* input width */,
2087 v23.data() /* input */, v24.data() /* output */,
2088 threadpool /* threadpool */);
2089 if (status != xnn_status_success) {
2090 std::cerr << "failed to setup operation #23" << std::endl;
2091 return ExecutionPlan();
2092 }
2093
2094 status = xnn_setup_convolution2d_nhwc_qc8(
2095 op24,
2096 1 /* batch size */, 14 /* input height */, 14 /* input width */,
2097 v24.data() /* input */, v25.data() /* output */,
2098 threadpool /* threadpool */);
2099 if (status != xnn_status_success) {
2100 std::cerr << "failed to setup operation #24" << std::endl;
2101 return ExecutionPlan();
2102 }
2103
2104 status = xnn_setup_convolution2d_nhwc_qc8(
2105 op25,
2106 1 /* batch size */, 14 /* input height */, 14 /* input width */,
2107 v25.data() /* input */, v26.data() /* output */,
2108 threadpool /* threadpool */);
2109 if (status != xnn_status_success) {
2110 std::cerr << "failed to setup operation #25" << std::endl;
2111 return ExecutionPlan();
2112 }
2113
2114 status = xnn_setup_convolution2d_nhwc_qc8(
2115 op26,
2116 1 /* batch size */, 14 /* input height */, 14 /* input width */,
2117 v26.data() /* input */, v27.data() /* output */,
2118 threadpool /* threadpool */);
2119 if (status != xnn_status_success) {
2120 std::cerr << "failed to setup operation #26" << std::endl;
2121 return ExecutionPlan();
2122 }
2123
2124 {
2125 const size_t a_shape[] = { 1, 14, 14, 64 };
2126 const size_t b_shape[] = { 1, 14, 14, 64 };
2127 status = xnn_setup_add_nd_qs8(
2128 op27,
2129 4, a_shape, 4, b_shape,
2130 v27.data() /* a */, v24.data() /* b */, v28.data() /* output */,
2131 threadpool /* threadpool */);
2132 }
2133 if (status != xnn_status_success) {
2134 std::cerr << "failed to setup operation #27" << std::endl;
2135 return ExecutionPlan();
2136 }
2137
2138 status = xnn_setup_convolution2d_nhwc_qc8(
2139 op28,
2140 1 /* batch size */, 14 /* input height */, 14 /* input width */,
2141 v28.data() /* input */, v29.data() /* output */,
2142 threadpool /* threadpool */);
2143 if (status != xnn_status_success) {
2144 std::cerr << "failed to setup operation #28" << std::endl;
2145 return ExecutionPlan();
2146 }
2147
2148 status = xnn_setup_convolution2d_nhwc_qc8(
2149 op29,
2150 1 /* batch size */, 14 /* input height */, 14 /* input width */,
2151 v29.data() /* input */, v30.data() /* output */,
2152 threadpool /* threadpool */);
2153 if (status != xnn_status_success) {
2154 std::cerr << "failed to setup operation #29" << std::endl;
2155 return ExecutionPlan();
2156 }
2157
2158 status = xnn_setup_convolution2d_nhwc_qc8(
2159 op30,
2160 1 /* batch size */, 14 /* input height */, 14 /* input width */,
2161 v30.data() /* input */, v31.data() /* output */,
2162 threadpool /* threadpool */);
2163 if (status != xnn_status_success) {
2164 std::cerr << "failed to setup operation #30" << std::endl;
2165 return ExecutionPlan();
2166 }
2167
2168 {
2169 const size_t a_shape[] = { 1, 14, 14, 64 };
2170 const size_t b_shape[] = { 1, 14, 14, 64 };
2171 status = xnn_setup_add_nd_qs8(
2172 op31,
2173 4, a_shape, 4, b_shape,
2174 v31.data() /* a */, v28.data() /* b */, v32.data() /* output */,
2175 threadpool /* threadpool */);
2176 }
2177 if (status != xnn_status_success) {
2178 std::cerr << "failed to setup operation #31" << std::endl;
2179 return ExecutionPlan();
2180 }
2181
2182 status = xnn_setup_convolution2d_nhwc_qc8(
2183 op32,
2184 1 /* batch size */, 14 /* input height */, 14 /* input width */,
2185 v32.data() /* input */, v33.data() /* output */,
2186 threadpool /* threadpool */);
2187 if (status != xnn_status_success) {
2188 std::cerr << "failed to setup operation #32" << std::endl;
2189 return ExecutionPlan();
2190 }
2191
2192 status = xnn_setup_convolution2d_nhwc_qc8(
2193 op33,
2194 1 /* batch size */, 14 /* input height */, 14 /* input width */,
2195 v33.data() /* input */, v34.data() /* output */,
2196 threadpool /* threadpool */);
2197 if (status != xnn_status_success) {
2198 std::cerr << "failed to setup operation #33" << std::endl;
2199 return ExecutionPlan();
2200 }
2201
2202 status = xnn_setup_convolution2d_nhwc_qc8(
2203 op34,
2204 1 /* batch size */, 14 /* input height */, 14 /* input width */,
2205 v34.data() /* input */, v35.data() /* output */,
2206 threadpool /* threadpool */);
2207 if (status != xnn_status_success) {
2208 std::cerr << "failed to setup operation #34" << std::endl;
2209 return ExecutionPlan();
2210 }
2211
2212 {
2213 const size_t a_shape[] = { 1, 14, 14, 64 };
2214 const size_t b_shape[] = { 1, 14, 14, 64 };
2215 status = xnn_setup_add_nd_qs8(
2216 op35,
2217 4, a_shape, 4, b_shape,
2218 v35.data() /* a */, v32.data() /* b */, v36.data() /* output */,
2219 threadpool /* threadpool */);
2220 }
2221 if (status != xnn_status_success) {
2222 std::cerr << "failed to setup operation #35" << std::endl;
2223 return ExecutionPlan();
2224 }
2225
2226 status = xnn_setup_convolution2d_nhwc_qc8(
2227 op36,
2228 1 /* batch size */, 14 /* input height */, 14 /* input width */,
2229 v36.data() /* input */, v37.data() /* output */,
2230 threadpool /* threadpool */);
2231 if (status != xnn_status_success) {
2232 std::cerr << "failed to setup operation #36" << std::endl;
2233 return ExecutionPlan();
2234 }
2235
2236 status = xnn_setup_convolution2d_nhwc_qc8(
2237 op37,
2238 1 /* batch size */, 14 /* input height */, 14 /* input width */,
2239 v37.data() /* input */, v38.data() /* output */,
2240 threadpool /* threadpool */);
2241 if (status != xnn_status_success) {
2242 std::cerr << "failed to setup operation #37" << std::endl;
2243 return ExecutionPlan();
2244 }
2245
2246 status = xnn_setup_convolution2d_nhwc_qc8(
2247 op38,
2248 1 /* batch size */, 14 /* input height */, 14 /* input width */,
2249 v38.data() /* input */, v39.data() /* output */,
2250 threadpool /* threadpool */);
2251 if (status != xnn_status_success) {
2252 std::cerr << "failed to setup operation #38" << std::endl;
2253 return ExecutionPlan();
2254 }
2255
2256 status = xnn_setup_convolution2d_nhwc_qc8(
2257 op39,
2258 1 /* batch size */, 14 /* input height */, 14 /* input width */,
2259 v39.data() /* input */, v40.data() /* output */,
2260 threadpool /* threadpool */);
2261 if (status != xnn_status_success) {
2262 std::cerr << "failed to setup operation #39" << std::endl;
2263 return ExecutionPlan();
2264 }
2265
2266 status = xnn_setup_convolution2d_nhwc_qc8(
2267 op40,
2268 1 /* batch size */, 14 /* input height */, 14 /* input width */,
2269 v40.data() /* input */, v41.data() /* output */,
2270 threadpool /* threadpool */);
2271 if (status != xnn_status_success) {
2272 std::cerr << "failed to setup operation #40" << std::endl;
2273 return ExecutionPlan();
2274 }
2275
2276 status = xnn_setup_convolution2d_nhwc_qc8(
2277 op41,
2278 1 /* batch size */, 14 /* input height */, 14 /* input width */,
2279 v41.data() /* input */, v42.data() /* output */,
2280 threadpool /* threadpool */);
2281 if (status != xnn_status_success) {
2282 std::cerr << "failed to setup operation #41" << std::endl;
2283 return ExecutionPlan();
2284 }
2285
2286 {
2287 const size_t a_shape[] = { 1, 14, 14, 96 };
2288 const size_t b_shape[] = { 1, 14, 14, 96 };
2289 status = xnn_setup_add_nd_qs8(
2290 op42,
2291 4, a_shape, 4, b_shape,
2292 v42.data() /* a */, v39.data() /* b */, v43.data() /* output */,
2293 threadpool /* threadpool */);
2294 }
2295 if (status != xnn_status_success) {
2296 std::cerr << "failed to setup operation #42" << std::endl;
2297 return ExecutionPlan();
2298 }
2299
2300 status = xnn_setup_convolution2d_nhwc_qc8(
2301 op43,
2302 1 /* batch size */, 14 /* input height */, 14 /* input width */,
2303 v43.data() /* input */, v44.data() /* output */,
2304 threadpool /* threadpool */);
2305 if (status != xnn_status_success) {
2306 std::cerr << "failed to setup operation #43" << std::endl;
2307 return ExecutionPlan();
2308 }
2309
2310 status = xnn_setup_convolution2d_nhwc_qc8(
2311 op44,
2312 1 /* batch size */, 14 /* input height */, 14 /* input width */,
2313 v44.data() /* input */, v45.data() /* output */,
2314 threadpool /* threadpool */);
2315 if (status != xnn_status_success) {
2316 std::cerr << "failed to setup operation #44" << std::endl;
2317 return ExecutionPlan();
2318 }
2319
2320 status = xnn_setup_convolution2d_nhwc_qc8(
2321 op45,
2322 1 /* batch size */, 14 /* input height */, 14 /* input width */,
2323 v45.data() /* input */, v46.data() /* output */,
2324 threadpool /* threadpool */);
2325 if (status != xnn_status_success) {
2326 std::cerr << "failed to setup operation #45" << std::endl;
2327 return ExecutionPlan();
2328 }
2329
2330 {
2331 const size_t a_shape[] = { 1, 14, 14, 96 };
2332 const size_t b_shape[] = { 1, 14, 14, 96 };
2333 status = xnn_setup_add_nd_qs8(
2334 op46,
2335 4, a_shape, 4, b_shape,
2336 v46.data() /* a */, v43.data() /* b */, v47.data() /* output */,
2337 threadpool /* threadpool */);
2338 }
2339 if (status != xnn_status_success) {
2340 std::cerr << "failed to setup operation #46" << std::endl;
2341 return ExecutionPlan();
2342 }
2343
2344 status = xnn_setup_convolution2d_nhwc_qc8(
2345 op47,
2346 1 /* batch size */, 14 /* input height */, 14 /* input width */,
2347 v47.data() /* input */, v48.data() /* output */,
2348 threadpool /* threadpool */);
2349 if (status != xnn_status_success) {
2350 std::cerr << "failed to setup operation #47" << std::endl;
2351 return ExecutionPlan();
2352 }
2353
2354 status = xnn_setup_convolution2d_nhwc_qc8(
2355 op48,
2356 1 /* batch size */, 14 /* input height */, 14 /* input width */,
2357 v48.data() /* input */, v49.data() /* output */,
2358 threadpool /* threadpool */);
2359 if (status != xnn_status_success) {
2360 std::cerr << "failed to setup operation #48" << std::endl;
2361 return ExecutionPlan();
2362 }
2363
2364 status = xnn_setup_convolution2d_nhwc_qc8(
2365 op49,
2366 1 /* batch size */, 7 /* input height */, 7 /* input width */,
2367 v49.data() /* input */, v50.data() /* output */,
2368 threadpool /* threadpool */);
2369 if (status != xnn_status_success) {
2370 std::cerr << "failed to setup operation #49" << std::endl;
2371 return ExecutionPlan();
2372 }
2373
2374 status = xnn_setup_convolution2d_nhwc_qc8(
2375 op50,
2376 1 /* batch size */, 7 /* input height */, 7 /* input width */,
2377 v50.data() /* input */, v51.data() /* output */,
2378 threadpool /* threadpool */);
2379 if (status != xnn_status_success) {
2380 std::cerr << "failed to setup operation #50" << std::endl;
2381 return ExecutionPlan();
2382 }
2383
2384 status = xnn_setup_convolution2d_nhwc_qc8(
2385 op51,
2386 1 /* batch size */, 7 /* input height */, 7 /* input width */,
2387 v51.data() /* input */, v52.data() /* output */,
2388 threadpool /* threadpool */);
2389 if (status != xnn_status_success) {
2390 std::cerr << "failed to setup operation #51" << std::endl;
2391 return ExecutionPlan();
2392 }
2393
2394 status = xnn_setup_convolution2d_nhwc_qc8(
2395 op52,
2396 1 /* batch size */, 7 /* input height */, 7 /* input width */,
2397 v52.data() /* input */, v53.data() /* output */,
2398 threadpool /* threadpool */);
2399 if (status != xnn_status_success) {
2400 std::cerr << "failed to setup operation #52" << std::endl;
2401 return ExecutionPlan();
2402 }
2403
2404 {
2405 const size_t a_shape[] = { 1, 7, 7, 160 };
2406 const size_t b_shape[] = { 1, 7, 7, 160 };
2407 status = xnn_setup_add_nd_qs8(
2408 op53,
2409 4, a_shape, 4, b_shape,
2410 v53.data() /* a */, v50.data() /* b */, v54.data() /* output */,
2411 threadpool /* threadpool */);
2412 }
2413 if (status != xnn_status_success) {
2414 std::cerr << "failed to setup operation #53" << std::endl;
2415 return ExecutionPlan();
2416 }
2417
2418 status = xnn_setup_convolution2d_nhwc_qc8(
2419 op54,
2420 1 /* batch size */, 7 /* input height */, 7 /* input width */,
2421 v54.data() /* input */, v55.data() /* output */,
2422 threadpool /* threadpool */);
2423 if (status != xnn_status_success) {
2424 std::cerr << "failed to setup operation #54" << std::endl;
2425 return ExecutionPlan();
2426 }
2427
2428 status = xnn_setup_convolution2d_nhwc_qc8(
2429 op55,
2430 1 /* batch size */, 7 /* input height */, 7 /* input width */,
2431 v55.data() /* input */, v56.data() /* output */,
2432 threadpool /* threadpool */);
2433 if (status != xnn_status_success) {
2434 std::cerr << "failed to setup operation #55" << std::endl;
2435 return ExecutionPlan();
2436 }
2437
2438 status = xnn_setup_convolution2d_nhwc_qc8(
2439 op56,
2440 1 /* batch size */, 7 /* input height */, 7 /* input width */,
2441 v56.data() /* input */, v57.data() /* output */,
2442 threadpool /* threadpool */);
2443 if (status != xnn_status_success) {
2444 std::cerr << "failed to setup operation #56" << std::endl;
2445 return ExecutionPlan();
2446 }
2447
2448 {
2449 const size_t a_shape[] = { 1, 7, 7, 160 };
2450 const size_t b_shape[] = { 1, 7, 7, 160 };
2451 status = xnn_setup_add_nd_qs8(
2452 op57,
2453 4, a_shape, 4, b_shape,
2454 v57.data() /* a */, v54.data() /* b */, v58.data() /* output */,
2455 threadpool /* threadpool */);
2456 }
2457 if (status != xnn_status_success) {
2458 std::cerr << "failed to setup operation #57" << std::endl;
2459 return ExecutionPlan();
2460 }
2461
2462 status = xnn_setup_convolution2d_nhwc_qc8(
2463 op58,
2464 1 /* batch size */, 7 /* input height */, 7 /* input width */,
2465 v58.data() /* input */, v59.data() /* output */,
2466 threadpool /* threadpool */);
2467 if (status != xnn_status_success) {
2468 std::cerr << "failed to setup operation #58" << std::endl;
2469 return ExecutionPlan();
2470 }
2471
2472 status = xnn_setup_convolution2d_nhwc_qc8(
2473 op59,
2474 1 /* batch size */, 7 /* input height */, 7 /* input width */,
2475 v59.data() /* input */, v60.data() /* output */,
2476 threadpool /* threadpool */);
2477 if (status != xnn_status_success) {
2478 std::cerr << "failed to setup operation #59" << std::endl;
2479 return ExecutionPlan();
2480 }
2481
2482 status = xnn_setup_convolution2d_nhwc_qc8(
2483 op60,
2484 1 /* batch size */, 7 /* input height */, 7 /* input width */,
2485 v60.data() /* input */, v61.data() /* output */,
2486 threadpool /* threadpool */);
2487 if (status != xnn_status_success) {
2488 std::cerr << "failed to setup operation #60" << std::endl;
2489 return ExecutionPlan();
2490 }
2491
2492 status = xnn_setup_convolution2d_nhwc_qc8(
2493 op61,
2494 1 /* batch size */, 7 /* input height */, 7 /* input width */,
2495 v61.data() /* input */, v62.data() /* output */,
2496 threadpool /* threadpool */);
2497 if (status != xnn_status_success) {
2498 std::cerr << "failed to setup operation #61" << std::endl;
2499 return ExecutionPlan();
2500 }
2501
2502 status = xnn_setup_global_average_pooling_nwc_qs8(
2503 op62,
2504 1 /* batch size */, 49 /* width */,
2505 v62.data() /* input */, v63.data() /* output */,
2506 threadpool /* threadpool */);
2507 if (status != xnn_status_success) {
2508 std::cerr << "failed to setup operation #62" << std::endl;
2509 return ExecutionPlan();
2510 }
2511
2512 status = xnn_setup_convolution2d_nhwc_qc8(
2513 op63,
2514 1 /* batch size */, 1 /* input height */, 1 /* input width */,
2515 v63.data() /* input */, v64.data() /* output */,
2516 threadpool /* threadpool */);
2517 if (status != xnn_status_success) {
2518 std::cerr << "failed to setup operation #63" << std::endl;
2519 return ExecutionPlan();
2520 }
2521
2522 #pragma clang diagnostic push
2523 #pragma clang diagnostic ignored "-Wpessimizing-move"
2524 return operators;
2525 #pragma clang diagnostic pop
2526}
2527
2528} // namespace models