1 // Copyright 2020 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 <xnnpack/cache.h>
16
17 #include <fp16/fp16.h>
18
19 #include "models/models.h"
20
21 namespace models {
22
FP16MobileNetV3Large(pthreadpool_t threadpool)23 ExecutionPlan FP16MobileNetV3Large(pthreadpool_t threadpool) {
24 alignas(16) static std::array<uint16_t, 150528 + XNN_EXTRA_BYTES / sizeof(uint16_t)> v0;
25 alignas(16) static std::array<uint16_t, 200704> v1;
26 alignas(16) static std::array<uint16_t, 200704> v2;
27 alignas(16) static std::array<uint16_t, 200704> v3;
28 alignas(16) static std::array<uint16_t, 200704> v4;
29 alignas(16) static std::array<uint16_t, 200704> v5;
30 alignas(16) static std::array<uint16_t, 802816> v6;
31 alignas(16) static std::array<uint16_t, 200704> v7;
32 alignas(16) static std::array<uint16_t, 75264> v8;
33 alignas(16) static std::array<uint16_t, 225792> v9;
34 alignas(16) static std::array<uint16_t, 225792> v10;
35 alignas(16) static std::array<uint16_t, 75264> v11;
36 alignas(16) static std::array<uint16_t, 75264> v12;
37 alignas(16) static std::array<uint16_t, 225792> v13;
38 alignas(16) static std::array<uint16_t, 56448> v14;
39 alignas(16) static std::array<uint16_t, 72> v15;
40 alignas(16) static std::array<uint16_t, 24> v16;
41 alignas(16) static std::array<uint16_t, 72> v17;
42 alignas(16) static std::array<uint16_t, 56448> v18;
43 alignas(16) static std::array<uint16_t, 31360> v19;
44 alignas(16) static std::array<uint16_t, 94080> v20;
45 alignas(16) static std::array<uint16_t, 94080> v21;
46 alignas(16) static std::array<uint16_t, 120> v22;
47 alignas(16) static std::array<uint16_t, 32> v23;
48 alignas(16) static std::array<uint16_t, 120> v24;
49 alignas(16) static std::array<uint16_t, 94080> v25;
50 alignas(16) static std::array<uint16_t, 31360> v26;
51 alignas(16) static std::array<uint16_t, 31360> v27;
52 alignas(16) static std::array<uint16_t, 94080> v28;
53 alignas(16) static std::array<uint16_t, 94080> v29;
54 alignas(16) static std::array<uint16_t, 120> v30;
55 alignas(16) static std::array<uint16_t, 32> v31;
56 alignas(16) static std::array<uint16_t, 120> v32;
57 alignas(16) static std::array<uint16_t, 94080> v33;
58 alignas(16) static std::array<uint16_t, 31360> v34;
59 alignas(16) static std::array<uint16_t, 31360> v35;
60 alignas(16) static std::array<uint16_t, 188160> v36;
61 alignas(16) static std::array<uint16_t, 188160> v37;
62 alignas(16) static std::array<uint16_t, 47040> v38;
63 alignas(16) static std::array<uint16_t, 47040> v39;
64 alignas(16) static std::array<uint16_t, 15680> v40;
65 alignas(16) static std::array<uint16_t, 39200> v41;
66 alignas(16) static std::array<uint16_t, 39200> v42;
67 alignas(16) static std::array<uint16_t, 39200> v43;
68 alignas(16) static std::array<uint16_t, 39200> v44;
69 alignas(16) static std::array<uint16_t, 15680> v45;
70 alignas(16) static std::array<uint16_t, 15680> v46;
71 alignas(16) static std::array<uint16_t, 36064> v47;
72 alignas(16) static std::array<uint16_t, 36064> v48;
73 alignas(16) static std::array<uint16_t, 36064> v49;
74 alignas(16) static std::array<uint16_t, 36064> v50;
75 alignas(16) static std::array<uint16_t, 15680> v51;
76 alignas(16) static std::array<uint16_t, 15680> v52;
77 alignas(16) static std::array<uint16_t, 36064> v53;
78 alignas(16) static std::array<uint16_t, 36064> v54;
79 alignas(16) static std::array<uint16_t, 36064> v55;
80 alignas(16) static std::array<uint16_t, 36064> v56;
81 alignas(16) static std::array<uint16_t, 15680> v57;
82 alignas(16) static std::array<uint16_t, 15680> v58;
83 alignas(16) static std::array<uint16_t, 94080> v59;
84 alignas(16) static std::array<uint16_t, 94080> v60;
85 alignas(16) static std::array<uint16_t, 94080> v61;
86 alignas(16) static std::array<uint16_t, 94080> v62;
87 alignas(16) static std::array<uint16_t, 480> v63;
88 alignas(16) static std::array<uint16_t, 120> v64;
89 alignas(16) static std::array<uint16_t, 480> v65;
90 alignas(16) static std::array<uint16_t, 94080> v66;
91 alignas(16) static std::array<uint16_t, 21952> v67;
92 alignas(16) static std::array<uint16_t, 131712> v68;
93 alignas(16) static std::array<uint16_t, 131712> v69;
94 alignas(16) static std::array<uint16_t, 131712> v70;
95 alignas(16) static std::array<uint16_t, 131712> v71;
96 alignas(16) static std::array<uint16_t, 672> v72;
97 alignas(16) static std::array<uint16_t, 168> v73;
98 alignas(16) static std::array<uint16_t, 672> v74;
99 alignas(16) static std::array<uint16_t, 131712> v75;
100 alignas(16) static std::array<uint16_t, 21952> v76;
101 alignas(16) static std::array<uint16_t, 21952> v77;
102 alignas(16) static std::array<uint16_t, 131712> v78;
103 alignas(16) static std::array<uint16_t, 131712> v79;
104 alignas(16) static std::array<uint16_t, 32928> v80;
105 alignas(16) static std::array<uint16_t, 32928> v81;
106 alignas(16) static std::array<uint16_t, 672> v82;
107 alignas(16) static std::array<uint16_t, 168> v83;
108 alignas(16) static std::array<uint16_t, 672> v84;
109 alignas(16) static std::array<uint16_t, 32928> v85;
110 alignas(16) static std::array<uint16_t, 7840> v86;
111 alignas(16) static std::array<uint16_t, 47040> v87;
112 alignas(16) static std::array<uint16_t, 47040> v88;
113 alignas(16) static std::array<uint16_t, 47040> v89;
114 alignas(16) static std::array<uint16_t, 47040> v90;
115 alignas(16) static std::array<uint16_t, 960> v91;
116 alignas(16) static std::array<uint16_t, 240> v92;
117 alignas(16) static std::array<uint16_t, 960> v93;
118 alignas(16) static std::array<uint16_t, 47040> v94;
119 alignas(16) static std::array<uint16_t, 7840> v95;
120 alignas(16) static std::array<uint16_t, 7840> v96;
121 alignas(16) static std::array<uint16_t, 47040> v97;
122 alignas(16) static std::array<uint16_t, 47040> v98;
123 alignas(16) static std::array<uint16_t, 47040> v99;
124 alignas(16) static std::array<uint16_t, 47040> v100;
125 alignas(16) static std::array<uint16_t, 960> v101;
126 alignas(16) static std::array<uint16_t, 240> v102;
127 alignas(16) static std::array<uint16_t, 960> v103;
128 alignas(16) static std::array<uint16_t, 47040> v104;
129 alignas(16) static std::array<uint16_t, 7840> v105;
130 alignas(16) static std::array<uint16_t, 7840> v106;
131 alignas(16) static std::array<uint16_t, 47040> v107;
132 alignas(16) static std::array<uint16_t, 47040> v108;
133 alignas(16) static std::array<uint16_t, 960> v109;
134 alignas(16) static std::array<uint16_t, 1280> v110;
135 alignas(16) static std::array<uint16_t, 1280> v111;
136 alignas(16) static std::array<uint16_t, 1280> v112;
137 alignas(16) static std::array<uint16_t, 1001> v113;
138 alignas(16) static std::array<uint16_t, 432> w114;
139 alignas(16) static std::array<uint16_t, 16> w115;
140 alignas(16) static std::array<uint16_t, 144> w116;
141 alignas(16) static std::array<uint16_t, 16> w117;
142 alignas(16) static std::array<uint16_t, 256> w118;
143 alignas(16) static std::array<uint16_t, 16> w119;
144 alignas(16) static std::array<uint16_t, 1024> w120;
145 alignas(16) static std::array<uint16_t, 64> w121;
146 alignas(16) static std::array<uint16_t, 576> w122;
147 alignas(16) static std::array<uint16_t, 64> w123;
148 alignas(16) static std::array<uint16_t, 1536> w124;
149 alignas(16) static std::array<uint16_t, 24> w125;
150 alignas(16) static std::array<uint16_t, 1728> w126;
151 alignas(16) static std::array<uint16_t, 72> w127;
152 alignas(16) static std::array<uint16_t, 648> w128;
153 alignas(16) static std::array<uint16_t, 72> w129;
154 alignas(16) static std::array<uint16_t, 1728> w130;
155 alignas(16) static std::array<uint16_t, 24> w131;
156 alignas(16) static std::array<uint16_t, 1728> w132;
157 alignas(16) static std::array<uint16_t, 72> w133;
158 alignas(16) static std::array<uint16_t, 1800> w134;
159 alignas(16) static std::array<uint16_t, 72> w135;
160 alignas(16) static std::array<uint16_t, 1728> w136;
161 alignas(16) static std::array<uint16_t, 24> w137;
162 alignas(16) static std::array<uint16_t, 1728> w138;
163 alignas(16) static std::array<uint16_t, 72> w139;
164 alignas(16) static std::array<uint16_t, 2880> w140;
165 alignas(16) static std::array<uint16_t, 40> w141;
166 alignas(16) static std::array<uint16_t, 4800> w142;
167 alignas(16) static std::array<uint16_t, 120> w143;
168 alignas(16) static std::array<uint16_t, 3000> w144;
169 alignas(16) static std::array<uint16_t, 120> w145;
170 alignas(16) static std::array<uint16_t, 3840> w146;
171 alignas(16) static std::array<uint16_t, 32> w147;
172 alignas(16) static std::array<uint16_t, 3840> w148;
173 alignas(16) static std::array<uint16_t, 120> w149;
174 alignas(16) static std::array<uint16_t, 4800> w150;
175 alignas(16) static std::array<uint16_t, 40> w151;
176 alignas(16) static std::array<uint16_t, 4800> w152;
177 alignas(16) static std::array<uint16_t, 120> w153;
178 alignas(16) static std::array<uint16_t, 3000> w154;
179 alignas(16) static std::array<uint16_t, 120> w155;
180 alignas(16) static std::array<uint16_t, 3840> w156;
181 alignas(16) static std::array<uint16_t, 32> w157;
182 alignas(16) static std::array<uint16_t, 3840> w158;
183 alignas(16) static std::array<uint16_t, 120> w159;
184 alignas(16) static std::array<uint16_t, 4800> w160;
185 alignas(16) static std::array<uint16_t, 40> w161;
186 alignas(16) static std::array<uint16_t, 9600> w162;
187 alignas(16) static std::array<uint16_t, 240> w163;
188 alignas(16) static std::array<uint16_t, 2160> w164;
189 alignas(16) static std::array<uint16_t, 240> w165;
190 alignas(16) static std::array<uint16_t, 19200> w166;
191 alignas(16) static std::array<uint16_t, 80> w167;
192 alignas(16) static std::array<uint16_t, 16000> w168;
193 alignas(16) static std::array<uint16_t, 200> w169;
194 alignas(16) static std::array<uint16_t, 1800> w170;
195 alignas(16) static std::array<uint16_t, 200> w171;
196 alignas(16) static std::array<uint16_t, 16000> w172;
197 alignas(16) static std::array<uint16_t, 80> w173;
198 alignas(16) static std::array<uint16_t, 14720> w174;
199 alignas(16) static std::array<uint16_t, 184> w175;
200 alignas(16) static std::array<uint16_t, 1656> w176;
201 alignas(16) static std::array<uint16_t, 184> w177;
202 alignas(16) static std::array<uint16_t, 14720> w178;
203 alignas(16) static std::array<uint16_t, 80> w179;
204 alignas(16) static std::array<uint16_t, 14720> w180;
205 alignas(16) static std::array<uint16_t, 184> w181;
206 alignas(16) static std::array<uint16_t, 1656> w182;
207 alignas(16) static std::array<uint16_t, 184> w183;
208 alignas(16) static std::array<uint16_t, 14720> w184;
209 alignas(16) static std::array<uint16_t, 80> w185;
210 alignas(16) static std::array<uint16_t, 38400> w186;
211 alignas(16) static std::array<uint16_t, 480> w187;
212 alignas(16) static std::array<uint16_t, 4320> w188;
213 alignas(16) static std::array<uint16_t, 480> w189;
214 alignas(16) static std::array<uint16_t, 57600> w190;
215 alignas(16) static std::array<uint16_t, 120> w191;
216 alignas(16) static std::array<uint16_t, 57600> w192;
217 alignas(16) static std::array<uint16_t, 480> w193;
218 alignas(16) static std::array<uint16_t, 53760> w194;
219 alignas(16) static std::array<uint16_t, 112> w195;
220 alignas(16) static std::array<uint16_t, 75264> w196;
221 alignas(16) static std::array<uint16_t, 672> w197;
222 alignas(16) static std::array<uint16_t, 6048> w198;
223 alignas(16) static std::array<uint16_t, 672> w199;
224 alignas(16) static std::array<uint16_t, 112896> w200;
225 alignas(16) static std::array<uint16_t, 168> w201;
226 alignas(16) static std::array<uint16_t, 112896> w202;
227 alignas(16) static std::array<uint16_t, 672> w203;
228 alignas(16) static std::array<uint16_t, 75264> w204;
229 alignas(16) static std::array<uint16_t, 112> w205;
230 alignas(16) static std::array<uint16_t, 75264> w206;
231 alignas(16) static std::array<uint16_t, 672> w207;
232 alignas(16) static std::array<uint16_t, 16800> w208;
233 alignas(16) static std::array<uint16_t, 672> w209;
234 alignas(16) static std::array<uint16_t, 112896> w210;
235 alignas(16) static std::array<uint16_t, 168> w211;
236 alignas(16) static std::array<uint16_t, 112896> w212;
237 alignas(16) static std::array<uint16_t, 672> w213;
238 alignas(16) static std::array<uint16_t, 107520> w214;
239 alignas(16) static std::array<uint16_t, 160> w215;
240 alignas(16) static std::array<uint16_t, 153600> w216;
241 alignas(16) static std::array<uint16_t, 960> w217;
242 alignas(16) static std::array<uint16_t, 24000> w218;
243 alignas(16) static std::array<uint16_t, 960> w219;
244 alignas(16) static std::array<uint16_t, 230400> w220;
245 alignas(16) static std::array<uint16_t, 240> w221;
246 alignas(16) static std::array<uint16_t, 230400> w222;
247 alignas(16) static std::array<uint16_t, 960> w223;
248 alignas(16) static std::array<uint16_t, 153600> w224;
249 alignas(16) static std::array<uint16_t, 160> w225;
250 alignas(16) static std::array<uint16_t, 153600> w226;
251 alignas(16) static std::array<uint16_t, 960> w227;
252 alignas(16) static std::array<uint16_t, 24000> w228;
253 alignas(16) static std::array<uint16_t, 960> w229;
254 alignas(16) static std::array<uint16_t, 230400> w230;
255 alignas(16) static std::array<uint16_t, 240> w231;
256 alignas(16) static std::array<uint16_t, 230400> w232;
257 alignas(16) static std::array<uint16_t, 960> w233;
258 alignas(16) static std::array<uint16_t, 153600> w234;
259 alignas(16) static std::array<uint16_t, 160> w235;
260 alignas(16) static std::array<uint16_t, 153600> w236;
261 alignas(16) static std::array<uint16_t, 960> w237;
262 alignas(16) static std::array<uint16_t, 1228800> w238;
263 alignas(16) static std::array<uint16_t, 1280> w239;
264 alignas(16) static std::array<uint16_t, 1281280> w240;
265 alignas(16) static std::array<uint16_t, 1001> w241;
266
267 std::random_device random_device;
268 auto rng = std::mt19937(random_device());
269 auto f32rng = std::bind(std::uniform_real_distribution<float>(-1.0f, +1.0f), std::ref(rng));
270 auto f16rng = std::bind(fp16_ieee_from_fp32_value, f32rng);
271 std::generate(v0.begin(), v0.end(), std::ref(f16rng));
272 std::generate(v1.begin(), v1.end(), std::ref(f16rng));
273 std::generate(v2.begin(), v2.end(), std::ref(f16rng));
274 std::generate(v3.begin(), v3.end(), std::ref(f16rng));
275 std::generate(v4.begin(), v4.end(), std::ref(f16rng));
276 std::generate(v5.begin(), v5.end(), std::ref(f16rng));
277 std::generate(v6.begin(), v6.end(), std::ref(f16rng));
278 std::generate(v7.begin(), v7.end(), std::ref(f16rng));
279 std::generate(v8.begin(), v8.end(), std::ref(f16rng));
280 std::generate(v9.begin(), v9.end(), std::ref(f16rng));
281 std::generate(v10.begin(), v10.end(), std::ref(f16rng));
282 std::generate(v11.begin(), v11.end(), std::ref(f16rng));
283 std::generate(v12.begin(), v12.end(), std::ref(f16rng));
284 std::generate(v13.begin(), v13.end(), std::ref(f16rng));
285 std::generate(v14.begin(), v14.end(), std::ref(f16rng));
286 std::generate(v15.begin(), v15.end(), std::ref(f16rng));
287 std::generate(v16.begin(), v16.end(), std::ref(f16rng));
288 std::generate(v17.begin(), v17.end(), std::ref(f16rng));
289 std::generate(v18.begin(), v18.end(), std::ref(f16rng));
290 std::generate(v19.begin(), v19.end(), std::ref(f16rng));
291 std::generate(v20.begin(), v20.end(), std::ref(f16rng));
292 std::generate(v21.begin(), v21.end(), std::ref(f16rng));
293 std::generate(v22.begin(), v22.end(), std::ref(f16rng));
294 std::generate(v23.begin(), v23.end(), std::ref(f16rng));
295 std::generate(v24.begin(), v24.end(), std::ref(f16rng));
296 std::generate(v25.begin(), v25.end(), std::ref(f16rng));
297 std::generate(v26.begin(), v26.end(), std::ref(f16rng));
298 std::generate(v27.begin(), v27.end(), std::ref(f16rng));
299 std::generate(v28.begin(), v28.end(), std::ref(f16rng));
300 std::generate(v29.begin(), v29.end(), std::ref(f16rng));
301 std::generate(v30.begin(), v30.end(), std::ref(f16rng));
302 std::generate(v31.begin(), v31.end(), std::ref(f16rng));
303 std::generate(v32.begin(), v32.end(), std::ref(f16rng));
304 std::generate(v33.begin(), v33.end(), std::ref(f16rng));
305 std::generate(v34.begin(), v34.end(), std::ref(f16rng));
306 std::generate(v35.begin(), v35.end(), std::ref(f16rng));
307 std::generate(v36.begin(), v36.end(), std::ref(f16rng));
308 std::generate(v37.begin(), v37.end(), std::ref(f16rng));
309 std::generate(v38.begin(), v38.end(), std::ref(f16rng));
310 std::generate(v39.begin(), v39.end(), std::ref(f16rng));
311 std::generate(v40.begin(), v40.end(), std::ref(f16rng));
312 std::generate(v41.begin(), v41.end(), std::ref(f16rng));
313 std::generate(v42.begin(), v42.end(), std::ref(f16rng));
314 std::generate(v43.begin(), v43.end(), std::ref(f16rng));
315 std::generate(v44.begin(), v44.end(), std::ref(f16rng));
316 std::generate(v45.begin(), v45.end(), std::ref(f16rng));
317 std::generate(v46.begin(), v46.end(), std::ref(f16rng));
318 std::generate(v47.begin(), v47.end(), std::ref(f16rng));
319 std::generate(v48.begin(), v48.end(), std::ref(f16rng));
320 std::generate(v49.begin(), v49.end(), std::ref(f16rng));
321 std::generate(v50.begin(), v50.end(), std::ref(f16rng));
322 std::generate(v51.begin(), v51.end(), std::ref(f16rng));
323 std::generate(v52.begin(), v52.end(), std::ref(f16rng));
324 std::generate(v53.begin(), v53.end(), std::ref(f16rng));
325 std::generate(v54.begin(), v54.end(), std::ref(f16rng));
326 std::generate(v55.begin(), v55.end(), std::ref(f16rng));
327 std::generate(v56.begin(), v56.end(), std::ref(f16rng));
328 std::generate(v57.begin(), v57.end(), std::ref(f16rng));
329 std::generate(v58.begin(), v58.end(), std::ref(f16rng));
330 std::generate(v59.begin(), v59.end(), std::ref(f16rng));
331 std::generate(v60.begin(), v60.end(), std::ref(f16rng));
332 std::generate(v61.begin(), v61.end(), std::ref(f16rng));
333 std::generate(v62.begin(), v62.end(), std::ref(f16rng));
334 std::generate(v63.begin(), v63.end(), std::ref(f16rng));
335 std::generate(v64.begin(), v64.end(), std::ref(f16rng));
336 std::generate(v65.begin(), v65.end(), std::ref(f16rng));
337 std::generate(v66.begin(), v66.end(), std::ref(f16rng));
338 std::generate(v67.begin(), v67.end(), std::ref(f16rng));
339 std::generate(v68.begin(), v68.end(), std::ref(f16rng));
340 std::generate(v69.begin(), v69.end(), std::ref(f16rng));
341 std::generate(v70.begin(), v70.end(), std::ref(f16rng));
342 std::generate(v71.begin(), v71.end(), std::ref(f16rng));
343 std::generate(v72.begin(), v72.end(), std::ref(f16rng));
344 std::generate(v73.begin(), v73.end(), std::ref(f16rng));
345 std::generate(v74.begin(), v74.end(), std::ref(f16rng));
346 std::generate(v75.begin(), v75.end(), std::ref(f16rng));
347 std::generate(v76.begin(), v76.end(), std::ref(f16rng));
348 std::generate(v77.begin(), v77.end(), std::ref(f16rng));
349 std::generate(v78.begin(), v78.end(), std::ref(f16rng));
350 std::generate(v79.begin(), v79.end(), std::ref(f16rng));
351 std::generate(v80.begin(), v80.end(), std::ref(f16rng));
352 std::generate(v81.begin(), v81.end(), std::ref(f16rng));
353 std::generate(v82.begin(), v82.end(), std::ref(f16rng));
354 std::generate(v83.begin(), v83.end(), std::ref(f16rng));
355 std::generate(v84.begin(), v84.end(), std::ref(f16rng));
356 std::generate(v85.begin(), v85.end(), std::ref(f16rng));
357 std::generate(v86.begin(), v86.end(), std::ref(f16rng));
358 std::generate(v87.begin(), v87.end(), std::ref(f16rng));
359 std::generate(v88.begin(), v88.end(), std::ref(f16rng));
360 std::generate(v89.begin(), v89.end(), std::ref(f16rng));
361 std::generate(v90.begin(), v90.end(), std::ref(f16rng));
362 std::generate(v91.begin(), v91.end(), std::ref(f16rng));
363 std::generate(v92.begin(), v92.end(), std::ref(f16rng));
364 std::generate(v93.begin(), v93.end(), std::ref(f16rng));
365 std::generate(v94.begin(), v94.end(), std::ref(f16rng));
366 std::generate(v95.begin(), v95.end(), std::ref(f16rng));
367 std::generate(v96.begin(), v96.end(), std::ref(f16rng));
368 std::generate(v97.begin(), v97.end(), std::ref(f16rng));
369 std::generate(v98.begin(), v98.end(), std::ref(f16rng));
370 std::generate(v99.begin(), v99.end(), std::ref(f16rng));
371 std::generate(v100.begin(), v100.end(), std::ref(f16rng));
372 std::generate(v101.begin(), v101.end(), std::ref(f16rng));
373 std::generate(v102.begin(), v102.end(), std::ref(f16rng));
374 std::generate(v103.begin(), v103.end(), std::ref(f16rng));
375 std::generate(v104.begin(), v104.end(), std::ref(f16rng));
376 std::generate(v105.begin(), v105.end(), std::ref(f16rng));
377 std::generate(v106.begin(), v106.end(), std::ref(f16rng));
378 std::generate(v107.begin(), v107.end(), std::ref(f16rng));
379 std::generate(v108.begin(), v108.end(), std::ref(f16rng));
380 std::generate(v109.begin(), v109.end(), std::ref(f16rng));
381 std::generate(v110.begin(), v110.end(), std::ref(f16rng));
382 std::generate(v111.begin(), v111.end(), std::ref(f16rng));
383 std::generate(v112.begin(), v112.end(), std::ref(f16rng));
384 std::generate(v113.begin(), v113.end(), std::ref(f16rng));
385 std::generate(w114.begin(), w114.end(), std::ref(f16rng));
386 std::generate(w115.begin(), w115.end(), std::ref(f16rng));
387 std::generate(w116.begin(), w116.end(), std::ref(f16rng));
388 std::generate(w117.begin(), w117.end(), std::ref(f16rng));
389 std::generate(w118.begin(), w118.end(), std::ref(f16rng));
390 std::generate(w119.begin(), w119.end(), std::ref(f16rng));
391 std::generate(w120.begin(), w120.end(), std::ref(f16rng));
392 std::generate(w121.begin(), w121.end(), std::ref(f16rng));
393 std::generate(w122.begin(), w122.end(), std::ref(f16rng));
394 std::generate(w123.begin(), w123.end(), std::ref(f16rng));
395 std::generate(w124.begin(), w124.end(), std::ref(f16rng));
396 std::generate(w125.begin(), w125.end(), std::ref(f16rng));
397 std::generate(w126.begin(), w126.end(), std::ref(f16rng));
398 std::generate(w127.begin(), w127.end(), std::ref(f16rng));
399 std::generate(w128.begin(), w128.end(), std::ref(f16rng));
400 std::generate(w129.begin(), w129.end(), std::ref(f16rng));
401 std::generate(w130.begin(), w130.end(), std::ref(f16rng));
402 std::generate(w131.begin(), w131.end(), std::ref(f16rng));
403 std::generate(w132.begin(), w132.end(), std::ref(f16rng));
404 std::generate(w133.begin(), w133.end(), std::ref(f16rng));
405 std::generate(w134.begin(), w134.end(), std::ref(f16rng));
406 std::generate(w135.begin(), w135.end(), std::ref(f16rng));
407 std::generate(w136.begin(), w136.end(), std::ref(f16rng));
408 std::generate(w137.begin(), w137.end(), std::ref(f16rng));
409 std::generate(w138.begin(), w138.end(), std::ref(f16rng));
410 std::generate(w139.begin(), w139.end(), std::ref(f16rng));
411 std::generate(w140.begin(), w140.end(), std::ref(f16rng));
412 std::generate(w141.begin(), w141.end(), std::ref(f16rng));
413 std::generate(w142.begin(), w142.end(), std::ref(f16rng));
414 std::generate(w143.begin(), w143.end(), std::ref(f16rng));
415 std::generate(w144.begin(), w144.end(), std::ref(f16rng));
416 std::generate(w145.begin(), w145.end(), std::ref(f16rng));
417 std::generate(w146.begin(), w146.end(), std::ref(f16rng));
418 std::generate(w147.begin(), w147.end(), std::ref(f16rng));
419 std::generate(w148.begin(), w148.end(), std::ref(f16rng));
420 std::generate(w149.begin(), w149.end(), std::ref(f16rng));
421 std::generate(w150.begin(), w150.end(), std::ref(f16rng));
422 std::generate(w151.begin(), w151.end(), std::ref(f16rng));
423 std::generate(w152.begin(), w152.end(), std::ref(f16rng));
424 std::generate(w153.begin(), w153.end(), std::ref(f16rng));
425 std::generate(w154.begin(), w154.end(), std::ref(f16rng));
426 std::generate(w155.begin(), w155.end(), std::ref(f16rng));
427 std::generate(w156.begin(), w156.end(), std::ref(f16rng));
428 std::generate(w157.begin(), w157.end(), std::ref(f16rng));
429 std::generate(w158.begin(), w158.end(), std::ref(f16rng));
430 std::generate(w159.begin(), w159.end(), std::ref(f16rng));
431 std::generate(w160.begin(), w160.end(), std::ref(f16rng));
432 std::generate(w161.begin(), w161.end(), std::ref(f16rng));
433 std::generate(w162.begin(), w162.end(), std::ref(f16rng));
434 std::generate(w163.begin(), w163.end(), std::ref(f16rng));
435 std::generate(w164.begin(), w164.end(), std::ref(f16rng));
436 std::generate(w165.begin(), w165.end(), std::ref(f16rng));
437 std::generate(w166.begin(), w166.end(), std::ref(f16rng));
438 std::generate(w167.begin(), w167.end(), std::ref(f16rng));
439 std::generate(w168.begin(), w168.end(), std::ref(f16rng));
440 std::generate(w169.begin(), w169.end(), std::ref(f16rng));
441 std::generate(w170.begin(), w170.end(), std::ref(f16rng));
442 std::generate(w171.begin(), w171.end(), std::ref(f16rng));
443 std::generate(w172.begin(), w172.end(), std::ref(f16rng));
444 std::generate(w173.begin(), w173.end(), std::ref(f16rng));
445 std::generate(w174.begin(), w174.end(), std::ref(f16rng));
446 std::generate(w175.begin(), w175.end(), std::ref(f16rng));
447 std::generate(w176.begin(), w176.end(), std::ref(f16rng));
448 std::generate(w177.begin(), w177.end(), std::ref(f16rng));
449 std::generate(w178.begin(), w178.end(), std::ref(f16rng));
450 std::generate(w179.begin(), w179.end(), std::ref(f16rng));
451 std::generate(w180.begin(), w180.end(), std::ref(f16rng));
452 std::generate(w181.begin(), w181.end(), std::ref(f16rng));
453 std::generate(w182.begin(), w182.end(), std::ref(f16rng));
454 std::generate(w183.begin(), w183.end(), std::ref(f16rng));
455 std::generate(w184.begin(), w184.end(), std::ref(f16rng));
456 std::generate(w185.begin(), w185.end(), std::ref(f16rng));
457 std::generate(w186.begin(), w186.end(), std::ref(f16rng));
458 std::generate(w187.begin(), w187.end(), std::ref(f16rng));
459 std::generate(w188.begin(), w188.end(), std::ref(f16rng));
460 std::generate(w189.begin(), w189.end(), std::ref(f16rng));
461 std::generate(w190.begin(), w190.end(), std::ref(f16rng));
462 std::generate(w191.begin(), w191.end(), std::ref(f16rng));
463 std::generate(w192.begin(), w192.end(), std::ref(f16rng));
464 std::generate(w193.begin(), w193.end(), std::ref(f16rng));
465 std::generate(w194.begin(), w194.end(), std::ref(f16rng));
466 std::generate(w195.begin(), w195.end(), std::ref(f16rng));
467 std::generate(w196.begin(), w196.end(), std::ref(f16rng));
468 std::generate(w197.begin(), w197.end(), std::ref(f16rng));
469 std::generate(w198.begin(), w198.end(), std::ref(f16rng));
470 std::generate(w199.begin(), w199.end(), std::ref(f16rng));
471 std::generate(w200.begin(), w200.end(), std::ref(f16rng));
472 std::generate(w201.begin(), w201.end(), std::ref(f16rng));
473 std::generate(w202.begin(), w202.end(), std::ref(f16rng));
474 std::generate(w203.begin(), w203.end(), std::ref(f16rng));
475 std::generate(w204.begin(), w204.end(), std::ref(f16rng));
476 std::generate(w205.begin(), w205.end(), std::ref(f16rng));
477 std::generate(w206.begin(), w206.end(), std::ref(f16rng));
478 std::generate(w207.begin(), w207.end(), std::ref(f16rng));
479 std::generate(w208.begin(), w208.end(), std::ref(f16rng));
480 std::generate(w209.begin(), w209.end(), std::ref(f16rng));
481 std::generate(w210.begin(), w210.end(), std::ref(f16rng));
482 std::generate(w211.begin(), w211.end(), std::ref(f16rng));
483 std::generate(w212.begin(), w212.end(), std::ref(f16rng));
484 std::generate(w213.begin(), w213.end(), std::ref(f16rng));
485 std::generate(w214.begin(), w214.end(), std::ref(f16rng));
486 std::generate(w215.begin(), w215.end(), std::ref(f16rng));
487 std::generate(w216.begin(), w216.end(), std::ref(f16rng));
488 std::generate(w217.begin(), w217.end(), std::ref(f16rng));
489 std::generate(w218.begin(), w218.end(), std::ref(f16rng));
490 std::generate(w219.begin(), w219.end(), std::ref(f16rng));
491 std::generate(w220.begin(), w220.end(), std::ref(f16rng));
492 std::generate(w221.begin(), w221.end(), std::ref(f16rng));
493 std::generate(w222.begin(), w222.end(), std::ref(f16rng));
494 std::generate(w223.begin(), w223.end(), std::ref(f16rng));
495 std::generate(w224.begin(), w224.end(), std::ref(f16rng));
496 std::generate(w225.begin(), w225.end(), std::ref(f16rng));
497 std::generate(w226.begin(), w226.end(), std::ref(f16rng));
498 std::generate(w227.begin(), w227.end(), std::ref(f16rng));
499 std::generate(w228.begin(), w228.end(), std::ref(f16rng));
500 std::generate(w229.begin(), w229.end(), std::ref(f16rng));
501 std::generate(w230.begin(), w230.end(), std::ref(f16rng));
502 std::generate(w231.begin(), w231.end(), std::ref(f16rng));
503 std::generate(w232.begin(), w232.end(), std::ref(f16rng));
504 std::generate(w233.begin(), w233.end(), std::ref(f16rng));
505 std::generate(w234.begin(), w234.end(), std::ref(f16rng));
506 std::generate(w235.begin(), w235.end(), std::ref(f16rng));
507 std::generate(w236.begin(), w236.end(), std::ref(f16rng));
508 std::generate(w237.begin(), w237.end(), std::ref(f16rng));
509 std::generate(w238.begin(), w238.end(), std::ref(f16rng));
510 std::generate(w239.begin(), w239.end(), std::ref(f16rng));
511 std::generate(w240.begin(), w240.end(), std::ref(f16rng));
512 std::generate(w241.begin(), w241.end(), std::ref(f16rng));
513
514 ExecutionPlan operators;
515 xnn_status status;
516 xnn_code_cache code_cache;
517 #if XNN_PLATFORM_JIT
518 xnn_init_code_cache(&code_cache);
519 #endif
520 xnn_caches caches = { 0 };
521 caches.code_cache = &code_cache;
522
523 xnn_operator_t op0 = nullptr;
524 status = xnn_create_convolution2d_nhwc_f16(
525 0 /* top padding */, 1 /* right padding */,
526 1 /* bottom padding */, 0 /* left padding */,
527 3 /* kernel height */, 3 /* kernel width */,
528 2 /* subsampling height */, 2 /* subsampling width */,
529 1 /* dilation_height */, 1 /* dilation_width */,
530 1 /* groups */,
531 3 /* input channels per group */,
532 16 /* output_channels_per_group */,
533 3 /* input pixel stride */,
534 16 /* output pixel stride */,
535 w114.data(), w115.data(),
536 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
537 0 /* flags */,
538 &caches,
539 &op0);
540 if (status != xnn_status_success) {
541 std::cerr << "failed to create operation #0" << std::endl;
542 return ExecutionPlan();
543 }
544 operators.emplace_back(op0, xnn_delete_operator);
545
546 xnn_operator_t op1 = nullptr;
547 status = xnn_create_hardswish_nc_f16(
548 16 /* channels */,
549 16 /* input stride */,
550 16 /* output stride */,
551 0 /* flags */,
552 &op1);
553 if (status != xnn_status_success) {
554 std::cerr << "failed to create operation #1" << std::endl;
555 return ExecutionPlan();
556 }
557 operators.emplace_back(op1, xnn_delete_operator);
558
559 xnn_operator_t op2 = nullptr;
560 status = xnn_create_convolution2d_nhwc_f16(
561 1 /* top padding */, 1 /* right padding */,
562 1 /* bottom padding */, 1 /* left padding */,
563 3 /* kernel height */, 3 /* kernel width */,
564 1 /* subsampling height */, 1 /* subsampling width */,
565 1 /* dilation_height */, 1 /* dilation_width */,
566 16 /* groups */,
567 1 /* input channels per group */,
568 1 /* output_channels_per_group */,
569 16 /* input pixel stride */,
570 16 /* output pixel stride */,
571 w116.data(), w117.data(),
572 0.0f /* output min */, std::numeric_limits<float>::infinity() /* output max */,
573 0 /* flags */,
574 &caches,
575 &op2);
576 if (status != xnn_status_success) {
577 std::cerr << "failed to create operation #2" << std::endl;
578 return ExecutionPlan();
579 }
580 operators.emplace_back(op2, xnn_delete_operator);
581
582 xnn_operator_t op3 = nullptr;
583 status = xnn_create_convolution2d_nhwc_f16(
584 0 /* top padding */, 0 /* right padding */,
585 0 /* bottom padding */, 0 /* left padding */,
586 1 /* kernel height */, 1 /* kernel width */,
587 1 /* subsampling height */, 1 /* subsampling width */,
588 1 /* dilation_height */, 1 /* dilation_width */,
589 1 /* groups */,
590 16 /* input channels per group */,
591 16 /* output_channels_per_group */,
592 16 /* input pixel stride */,
593 16 /* output pixel stride */,
594 w118.data(), w119.data(),
595 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
596 0 /* flags */,
597 &caches,
598 &op3);
599 if (status != xnn_status_success) {
600 std::cerr << "failed to create operation #3" << std::endl;
601 return ExecutionPlan();
602 }
603 operators.emplace_back(op3, xnn_delete_operator);
604
605 xnn_operator_t op4 = nullptr;
606 status = xnn_create_add_nd_f16(
607 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
608 0 /* flags */,
609 &op4);
610 if (status != xnn_status_success) {
611 std::cerr << "failed to create operation #4" << std::endl;
612 return ExecutionPlan();
613 }
614 operators.emplace_back(op4, xnn_delete_operator);
615
616 xnn_operator_t op5 = nullptr;
617 status = xnn_create_convolution2d_nhwc_f16(
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 16 /* input channels per group */,
625 64 /* output_channels_per_group */,
626 16 /* input pixel stride */,
627 64 /* output pixel stride */,
628 w120.data(), w121.data(),
629 0.0f /* output min */, std::numeric_limits<float>::infinity() /* output max */,
630 0 /* flags */,
631 &caches,
632 &op5);
633 if (status != xnn_status_success) {
634 std::cerr << "failed to create operation #5" << std::endl;
635 return ExecutionPlan();
636 }
637 operators.emplace_back(op5, xnn_delete_operator);
638
639 xnn_operator_t op6 = nullptr;
640 status = xnn_create_convolution2d_nhwc_f16(
641 0 /* top padding */, 1 /* right padding */,
642 1 /* bottom padding */, 0 /* left padding */,
643 3 /* kernel height */, 3 /* kernel width */,
644 2 /* subsampling height */, 2 /* subsampling width */,
645 1 /* dilation_height */, 1 /* dilation_width */,
646 64 /* groups */,
647 1 /* input channels per group */,
648 1 /* output_channels_per_group */,
649 64 /* input pixel stride */,
650 64 /* output pixel stride */,
651 w122.data(), w123.data(),
652 0.0f /* output min */, std::numeric_limits<float>::infinity() /* output max */,
653 0 /* flags */,
654 &caches,
655 &op6);
656 if (status != xnn_status_success) {
657 std::cerr << "failed to create operation #6" << std::endl;
658 return ExecutionPlan();
659 }
660 operators.emplace_back(op6, xnn_delete_operator);
661
662 xnn_operator_t op7 = nullptr;
663 status = xnn_create_convolution2d_nhwc_f16(
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 64 /* input channels per group */,
671 24 /* output_channels_per_group */,
672 64 /* input pixel stride */,
673 24 /* output pixel stride */,
674 w124.data(), w125.data(),
675 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
676 0 /* flags */,
677 &caches,
678 &op7);
679 if (status != xnn_status_success) {
680 std::cerr << "failed to create operation #7" << std::endl;
681 return ExecutionPlan();
682 }
683 operators.emplace_back(op7, xnn_delete_operator);
684
685 xnn_operator_t op8 = nullptr;
686 status = xnn_create_convolution2d_nhwc_f16(
687 0 /* top padding */, 0 /* right padding */,
688 0 /* bottom padding */, 0 /* left padding */,
689 1 /* kernel height */, 1 /* kernel width */,
690 1 /* subsampling height */, 1 /* subsampling width */,
691 1 /* dilation_height */, 1 /* dilation_width */,
692 1 /* groups */,
693 24 /* input channels per group */,
694 72 /* output_channels_per_group */,
695 24 /* input pixel stride */,
696 72 /* output pixel stride */,
697 w126.data(), w127.data(),
698 0.0f /* output min */, std::numeric_limits<float>::infinity() /* output max */,
699 0 /* flags */,
700 &caches,
701 &op8);
702 if (status != xnn_status_success) {
703 std::cerr << "failed to create operation #8" << std::endl;
704 return ExecutionPlan();
705 }
706 operators.emplace_back(op8, xnn_delete_operator);
707
708 xnn_operator_t op9 = nullptr;
709 status = xnn_create_convolution2d_nhwc_f16(
710 1 /* top padding */, 1 /* right padding */,
711 1 /* bottom padding */, 1 /* left padding */,
712 3 /* kernel height */, 3 /* kernel width */,
713 1 /* subsampling height */, 1 /* subsampling width */,
714 1 /* dilation_height */, 1 /* dilation_width */,
715 72 /* groups */,
716 1 /* input channels per group */,
717 1 /* output_channels_per_group */,
718 72 /* input pixel stride */,
719 72 /* output pixel stride */,
720 w128.data(), w129.data(),
721 0.0f /* output min */, std::numeric_limits<float>::infinity() /* output max */,
722 0 /* flags */,
723 &caches,
724 &op9);
725 if (status != xnn_status_success) {
726 std::cerr << "failed to create operation #9" << std::endl;
727 return ExecutionPlan();
728 }
729 operators.emplace_back(op9, xnn_delete_operator);
730
731 xnn_operator_t op10 = nullptr;
732 status = xnn_create_convolution2d_nhwc_f16(
733 0 /* top padding */, 0 /* right padding */,
734 0 /* bottom padding */, 0 /* left padding */,
735 1 /* kernel height */, 1 /* kernel width */,
736 1 /* subsampling height */, 1 /* subsampling width */,
737 1 /* dilation_height */, 1 /* dilation_width */,
738 1 /* groups */,
739 72 /* input channels per group */,
740 24 /* output_channels_per_group */,
741 72 /* input pixel stride */,
742 24 /* output pixel stride */,
743 w130.data(), w131.data(),
744 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
745 0 /* flags */,
746 &caches,
747 &op10);
748 if (status != xnn_status_success) {
749 std::cerr << "failed to create operation #10" << std::endl;
750 return ExecutionPlan();
751 }
752 operators.emplace_back(op10, xnn_delete_operator);
753
754 xnn_operator_t op11 = nullptr;
755 status = xnn_create_add_nd_f16(
756 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
757 0 /* flags */,
758 &op11);
759 if (status != xnn_status_success) {
760 std::cerr << "failed to create operation #11" << std::endl;
761 return ExecutionPlan();
762 }
763 operators.emplace_back(op11, xnn_delete_operator);
764
765 xnn_operator_t op12 = nullptr;
766 status = xnn_create_convolution2d_nhwc_f16(
767 0 /* top padding */, 0 /* right padding */,
768 0 /* bottom padding */, 0 /* left padding */,
769 1 /* kernel height */, 1 /* kernel width */,
770 1 /* subsampling height */, 1 /* subsampling width */,
771 1 /* dilation_height */, 1 /* dilation_width */,
772 1 /* groups */,
773 24 /* input channels per group */,
774 72 /* output_channels_per_group */,
775 24 /* input pixel stride */,
776 72 /* output pixel stride */,
777 w132.data(), w133.data(),
778 0.0f /* output min */, std::numeric_limits<float>::infinity() /* output max */,
779 0 /* flags */,
780 &caches,
781 &op12);
782 if (status != xnn_status_success) {
783 std::cerr << "failed to create operation #12" << std::endl;
784 return ExecutionPlan();
785 }
786 operators.emplace_back(op12, xnn_delete_operator);
787
788 xnn_operator_t op13 = nullptr;
789 status = xnn_create_convolution2d_nhwc_f16(
790 1 /* top padding */, 2 /* right padding */,
791 2 /* bottom padding */, 1 /* left padding */,
792 5 /* kernel height */, 5 /* kernel width */,
793 2 /* subsampling height */, 2 /* subsampling width */,
794 1 /* dilation_height */, 1 /* dilation_width */,
795 72 /* groups */,
796 1 /* input channels per group */,
797 1 /* output_channels_per_group */,
798 72 /* input pixel stride */,
799 72 /* output pixel stride */,
800 w134.data(), w135.data(),
801 0.0f /* output min */, std::numeric_limits<float>::infinity() /* output max */,
802 0 /* flags */,
803 &caches,
804 &op13);
805 if (status != xnn_status_success) {
806 std::cerr << "failed to create operation #13" << std::endl;
807 return ExecutionPlan();
808 }
809 operators.emplace_back(op13, xnn_delete_operator);
810
811 xnn_operator_t op14 = nullptr;
812 status = xnn_create_global_average_pooling_nwc_f16(
813 72 /* channels */, 72 /* input stride */, 72 /* output stride */,
814 -std::numeric_limits<float>::infinity(), std::numeric_limits<float>::infinity(),
815 0 /* flags */,
816 &op14);
817 if (status != xnn_status_success) {
818 std::cerr << "failed to create operation #14" << std::endl;
819 return ExecutionPlan();
820 }
821 operators.emplace_back(op14, xnn_delete_operator);
822
823 xnn_operator_t op15 = nullptr;
824 status = xnn_create_convolution2d_nhwc_f16(
825 0 /* top padding */, 0 /* right padding */,
826 0 /* bottom padding */, 0 /* left padding */,
827 1 /* kernel height */, 1 /* kernel width */,
828 1 /* subsampling height */, 1 /* subsampling width */,
829 1 /* dilation_height */, 1 /* dilation_width */,
830 1 /* groups */,
831 72 /* input channels per group */,
832 24 /* output_channels_per_group */,
833 72 /* input pixel stride */,
834 24 /* output pixel stride */,
835 w136.data(), w137.data(),
836 0.0f /* output min */, std::numeric_limits<float>::infinity() /* output max */,
837 0 /* flags */,
838 &caches,
839 &op15);
840 if (status != xnn_status_success) {
841 std::cerr << "failed to create operation #15" << std::endl;
842 return ExecutionPlan();
843 }
844 operators.emplace_back(op15, xnn_delete_operator);
845
846 xnn_operator_t op16 = nullptr;
847 status = xnn_create_convolution2d_nhwc_f16(
848 0 /* top padding */, 0 /* right padding */,
849 0 /* bottom padding */, 0 /* left padding */,
850 1 /* kernel height */, 1 /* kernel width */,
851 1 /* subsampling height */, 1 /* subsampling width */,
852 1 /* dilation_height */, 1 /* dilation_width */,
853 1 /* groups */,
854 24 /* input channels per group */,
855 72 /* output_channels_per_group */,
856 24 /* input pixel stride */,
857 72 /* output pixel stride */,
858 w138.data(), w139.data(),
859 0.0f /* output min */, +0x1.00014Fp+0 /* output max */,
860 0 /* flags */,
861 &caches,
862 &op16);
863 if (status != xnn_status_success) {
864 std::cerr << "failed to create operation #16" << std::endl;
865 return ExecutionPlan();
866 }
867 operators.emplace_back(op16, xnn_delete_operator);
868
869 xnn_operator_t op17 = nullptr;
870 status = xnn_create_multiply_nd_f16(
871 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
872 0 /* flags */,
873 &op17);
874 if (status != xnn_status_success) {
875 std::cerr << "failed to create operation #17" << std::endl;
876 return ExecutionPlan();
877 }
878 operators.emplace_back(op17, xnn_delete_operator);
879
880 xnn_operator_t op18 = nullptr;
881 status = xnn_create_convolution2d_nhwc_f16(
882 0 /* top padding */, 0 /* right padding */,
883 0 /* bottom padding */, 0 /* left padding */,
884 1 /* kernel height */, 1 /* kernel width */,
885 1 /* subsampling height */, 1 /* subsampling width */,
886 1 /* dilation_height */, 1 /* dilation_width */,
887 1 /* groups */,
888 72 /* input channels per group */,
889 40 /* output_channels_per_group */,
890 72 /* input pixel stride */,
891 40 /* output pixel stride */,
892 w140.data(), w141.data(),
893 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
894 0 /* flags */,
895 &caches,
896 &op18);
897 if (status != xnn_status_success) {
898 std::cerr << "failed to create operation #18" << std::endl;
899 return ExecutionPlan();
900 }
901 operators.emplace_back(op18, xnn_delete_operator);
902
903 xnn_operator_t op19 = nullptr;
904 status = xnn_create_convolution2d_nhwc_f16(
905 0 /* top padding */, 0 /* right padding */,
906 0 /* bottom padding */, 0 /* left padding */,
907 1 /* kernel height */, 1 /* kernel width */,
908 1 /* subsampling height */, 1 /* subsampling width */,
909 1 /* dilation_height */, 1 /* dilation_width */,
910 1 /* groups */,
911 40 /* input channels per group */,
912 120 /* output_channels_per_group */,
913 40 /* input pixel stride */,
914 120 /* output pixel stride */,
915 w142.data(), w143.data(),
916 0.0f /* output min */, std::numeric_limits<float>::infinity() /* output max */,
917 0 /* flags */,
918 &caches,
919 &op19);
920 if (status != xnn_status_success) {
921 std::cerr << "failed to create operation #19" << std::endl;
922 return ExecutionPlan();
923 }
924 operators.emplace_back(op19, xnn_delete_operator);
925
926 xnn_operator_t op20 = nullptr;
927 status = xnn_create_convolution2d_nhwc_f16(
928 2 /* top padding */, 2 /* right padding */,
929 2 /* bottom padding */, 2 /* left padding */,
930 5 /* kernel height */, 5 /* kernel width */,
931 1 /* subsampling height */, 1 /* subsampling width */,
932 1 /* dilation_height */, 1 /* dilation_width */,
933 120 /* groups */,
934 1 /* input channels per group */,
935 1 /* output_channels_per_group */,
936 120 /* input pixel stride */,
937 120 /* output pixel stride */,
938 w144.data(), w145.data(),
939 0.0f /* output min */, std::numeric_limits<float>::infinity() /* output max */,
940 0 /* flags */,
941 &caches,
942 &op20);
943 if (status != xnn_status_success) {
944 std::cerr << "failed to create operation #20" << std::endl;
945 return ExecutionPlan();
946 }
947 operators.emplace_back(op20, xnn_delete_operator);
948
949 xnn_operator_t op21 = nullptr;
950 status = xnn_create_global_average_pooling_nwc_f16(
951 120 /* channels */, 120 /* input stride */, 120 /* output stride */,
952 -std::numeric_limits<float>::infinity(), std::numeric_limits<float>::infinity(),
953 0 /* flags */,
954 &op21);
955 if (status != xnn_status_success) {
956 std::cerr << "failed to create operation #21" << std::endl;
957 return ExecutionPlan();
958 }
959 operators.emplace_back(op21, xnn_delete_operator);
960
961 xnn_operator_t op22 = nullptr;
962 status = xnn_create_convolution2d_nhwc_f16(
963 0 /* top padding */, 0 /* right padding */,
964 0 /* bottom padding */, 0 /* left padding */,
965 1 /* kernel height */, 1 /* kernel width */,
966 1 /* subsampling height */, 1 /* subsampling width */,
967 1 /* dilation_height */, 1 /* dilation_width */,
968 1 /* groups */,
969 120 /* input channels per group */,
970 32 /* output_channels_per_group */,
971 120 /* input pixel stride */,
972 32 /* output pixel stride */,
973 w146.data(), w147.data(),
974 0.0f /* output min */, std::numeric_limits<float>::infinity() /* output max */,
975 0 /* flags */,
976 &caches,
977 &op22);
978 if (status != xnn_status_success) {
979 std::cerr << "failed to create operation #22" << std::endl;
980 return ExecutionPlan();
981 }
982 operators.emplace_back(op22, xnn_delete_operator);
983
984 xnn_operator_t op23 = nullptr;
985 status = xnn_create_convolution2d_nhwc_f16(
986 0 /* top padding */, 0 /* right padding */,
987 0 /* bottom padding */, 0 /* left padding */,
988 1 /* kernel height */, 1 /* kernel width */,
989 1 /* subsampling height */, 1 /* subsampling width */,
990 1 /* dilation_height */, 1 /* dilation_width */,
991 1 /* groups */,
992 32 /* input channels per group */,
993 120 /* output_channels_per_group */,
994 32 /* input pixel stride */,
995 120 /* output pixel stride */,
996 w148.data(), w149.data(),
997 0.0f /* output min */, +0x1.00014Fp+0 /* output max */,
998 0 /* flags */,
999 &caches,
1000 &op23);
1001 if (status != xnn_status_success) {
1002 std::cerr << "failed to create operation #23" << std::endl;
1003 return ExecutionPlan();
1004 }
1005 operators.emplace_back(op23, xnn_delete_operator);
1006
1007 xnn_operator_t op24 = nullptr;
1008 status = xnn_create_multiply_nd_f16(
1009 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1010 0 /* flags */,
1011 &op24);
1012 if (status != xnn_status_success) {
1013 std::cerr << "failed to create operation #24" << std::endl;
1014 return ExecutionPlan();
1015 }
1016 operators.emplace_back(op24, xnn_delete_operator);
1017
1018 xnn_operator_t op25 = nullptr;
1019 status = xnn_create_convolution2d_nhwc_f16(
1020 0 /* top padding */, 0 /* right padding */,
1021 0 /* bottom padding */, 0 /* left padding */,
1022 1 /* kernel height */, 1 /* kernel width */,
1023 1 /* subsampling height */, 1 /* subsampling width */,
1024 1 /* dilation_height */, 1 /* dilation_width */,
1025 1 /* groups */,
1026 120 /* input channels per group */,
1027 40 /* output_channels_per_group */,
1028 120 /* input pixel stride */,
1029 40 /* output pixel stride */,
1030 w150.data(), w151.data(),
1031 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1032 0 /* flags */,
1033 &caches,
1034 &op25);
1035 if (status != xnn_status_success) {
1036 std::cerr << "failed to create operation #25" << std::endl;
1037 return ExecutionPlan();
1038 }
1039 operators.emplace_back(op25, xnn_delete_operator);
1040
1041 xnn_operator_t op26 = nullptr;
1042 status = xnn_create_add_nd_f16(
1043 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1044 0 /* flags */,
1045 &op26);
1046 if (status != xnn_status_success) {
1047 std::cerr << "failed to create operation #26" << std::endl;
1048 return ExecutionPlan();
1049 }
1050 operators.emplace_back(op26, xnn_delete_operator);
1051
1052 xnn_operator_t op27 = nullptr;
1053 status = xnn_create_convolution2d_nhwc_f16(
1054 0 /* top padding */, 0 /* right padding */,
1055 0 /* bottom padding */, 0 /* left padding */,
1056 1 /* kernel height */, 1 /* kernel width */,
1057 1 /* subsampling height */, 1 /* subsampling width */,
1058 1 /* dilation_height */, 1 /* dilation_width */,
1059 1 /* groups */,
1060 40 /* input channels per group */,
1061 120 /* output_channels_per_group */,
1062 40 /* input pixel stride */,
1063 120 /* output pixel stride */,
1064 w152.data(), w153.data(),
1065 0.0f /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1066 0 /* flags */,
1067 &caches,
1068 &op27);
1069 if (status != xnn_status_success) {
1070 std::cerr << "failed to create operation #27" << std::endl;
1071 return ExecutionPlan();
1072 }
1073 operators.emplace_back(op27, xnn_delete_operator);
1074
1075 xnn_operator_t op28 = nullptr;
1076 status = xnn_create_convolution2d_nhwc_f16(
1077 2 /* top padding */, 2 /* right padding */,
1078 2 /* bottom padding */, 2 /* left padding */,
1079 5 /* kernel height */, 5 /* kernel width */,
1080 1 /* subsampling height */, 1 /* subsampling width */,
1081 1 /* dilation_height */, 1 /* dilation_width */,
1082 120 /* groups */,
1083 1 /* input channels per group */,
1084 1 /* output_channels_per_group */,
1085 120 /* input pixel stride */,
1086 120 /* output pixel stride */,
1087 w154.data(), w155.data(),
1088 0.0f /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1089 0 /* flags */,
1090 &caches,
1091 &op28);
1092 if (status != xnn_status_success) {
1093 std::cerr << "failed to create operation #28" << std::endl;
1094 return ExecutionPlan();
1095 }
1096 operators.emplace_back(op28, xnn_delete_operator);
1097
1098 xnn_operator_t op29 = nullptr;
1099 status = xnn_create_global_average_pooling_nwc_f16(
1100 120 /* channels */, 120 /* input stride */, 120 /* output stride */,
1101 -std::numeric_limits<float>::infinity(), std::numeric_limits<float>::infinity(),
1102 0 /* flags */,
1103 &op29);
1104 if (status != xnn_status_success) {
1105 std::cerr << "failed to create operation #29" << std::endl;
1106 return ExecutionPlan();
1107 }
1108 operators.emplace_back(op29, xnn_delete_operator);
1109
1110 xnn_operator_t op30 = nullptr;
1111 status = xnn_create_convolution2d_nhwc_f16(
1112 0 /* top padding */, 0 /* right padding */,
1113 0 /* bottom padding */, 0 /* left padding */,
1114 1 /* kernel height */, 1 /* kernel width */,
1115 1 /* subsampling height */, 1 /* subsampling width */,
1116 1 /* dilation_height */, 1 /* dilation_width */,
1117 1 /* groups */,
1118 120 /* input channels per group */,
1119 32 /* output_channels_per_group */,
1120 120 /* input pixel stride */,
1121 32 /* output pixel stride */,
1122 w156.data(), w157.data(),
1123 0.0f /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1124 0 /* flags */,
1125 &caches,
1126 &op30);
1127 if (status != xnn_status_success) {
1128 std::cerr << "failed to create operation #30" << std::endl;
1129 return ExecutionPlan();
1130 }
1131 operators.emplace_back(op30, xnn_delete_operator);
1132
1133 xnn_operator_t op31 = nullptr;
1134 status = xnn_create_convolution2d_nhwc_f16(
1135 0 /* top padding */, 0 /* right padding */,
1136 0 /* bottom padding */, 0 /* left padding */,
1137 1 /* kernel height */, 1 /* kernel width */,
1138 1 /* subsampling height */, 1 /* subsampling width */,
1139 1 /* dilation_height */, 1 /* dilation_width */,
1140 1 /* groups */,
1141 32 /* input channels per group */,
1142 120 /* output_channels_per_group */,
1143 32 /* input pixel stride */,
1144 120 /* output pixel stride */,
1145 w158.data(), w159.data(),
1146 0.0f /* output min */, +0x1.00014Fp+0 /* output max */,
1147 0 /* flags */,
1148 &caches,
1149 &op31);
1150 if (status != xnn_status_success) {
1151 std::cerr << "failed to create operation #31" << std::endl;
1152 return ExecutionPlan();
1153 }
1154 operators.emplace_back(op31, xnn_delete_operator);
1155
1156 xnn_operator_t op32 = nullptr;
1157 status = xnn_create_multiply_nd_f16(
1158 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1159 0 /* flags */,
1160 &op32);
1161 if (status != xnn_status_success) {
1162 std::cerr << "failed to create operation #32" << std::endl;
1163 return ExecutionPlan();
1164 }
1165 operators.emplace_back(op32, xnn_delete_operator);
1166
1167 xnn_operator_t op33 = nullptr;
1168 status = xnn_create_convolution2d_nhwc_f16(
1169 0 /* top padding */, 0 /* right padding */,
1170 0 /* bottom padding */, 0 /* left padding */,
1171 1 /* kernel height */, 1 /* kernel width */,
1172 1 /* subsampling height */, 1 /* subsampling width */,
1173 1 /* dilation_height */, 1 /* dilation_width */,
1174 1 /* groups */,
1175 120 /* input channels per group */,
1176 40 /* output_channels_per_group */,
1177 120 /* input pixel stride */,
1178 40 /* output pixel stride */,
1179 w160.data(), w161.data(),
1180 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1181 0 /* flags */,
1182 &caches,
1183 &op33);
1184 if (status != xnn_status_success) {
1185 std::cerr << "failed to create operation #33" << std::endl;
1186 return ExecutionPlan();
1187 }
1188 operators.emplace_back(op33, xnn_delete_operator);
1189
1190 xnn_operator_t op34 = nullptr;
1191 status = xnn_create_add_nd_f16(
1192 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1193 0 /* flags */,
1194 &op34);
1195 if (status != xnn_status_success) {
1196 std::cerr << "failed to create operation #34" << std::endl;
1197 return ExecutionPlan();
1198 }
1199 operators.emplace_back(op34, xnn_delete_operator);
1200
1201 xnn_operator_t op35 = nullptr;
1202 status = xnn_create_convolution2d_nhwc_f16(
1203 0 /* top padding */, 0 /* right padding */,
1204 0 /* bottom padding */, 0 /* left padding */,
1205 1 /* kernel height */, 1 /* kernel width */,
1206 1 /* subsampling height */, 1 /* subsampling width */,
1207 1 /* dilation_height */, 1 /* dilation_width */,
1208 1 /* groups */,
1209 40 /* input channels per group */,
1210 240 /* output_channels_per_group */,
1211 40 /* input pixel stride */,
1212 240 /* output pixel stride */,
1213 w162.data(), w163.data(),
1214 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1215 0 /* flags */,
1216 &caches,
1217 &op35);
1218 if (status != xnn_status_success) {
1219 std::cerr << "failed to create operation #35" << std::endl;
1220 return ExecutionPlan();
1221 }
1222 operators.emplace_back(op35, xnn_delete_operator);
1223
1224 xnn_operator_t op36 = nullptr;
1225 status = xnn_create_hardswish_nc_f16(
1226 240 /* channels */,
1227 240 /* input stride */,
1228 240 /* output stride */,
1229 0 /* flags */,
1230 &op36);
1231 if (status != xnn_status_success) {
1232 std::cerr << "failed to create operation #36" << std::endl;
1233 return ExecutionPlan();
1234 }
1235 operators.emplace_back(op36, xnn_delete_operator);
1236
1237 xnn_operator_t op37 = nullptr;
1238 status = xnn_create_convolution2d_nhwc_f16(
1239 0 /* top padding */, 1 /* right padding */,
1240 1 /* bottom padding */, 0 /* left padding */,
1241 3 /* kernel height */, 3 /* kernel width */,
1242 2 /* subsampling height */, 2 /* subsampling width */,
1243 1 /* dilation_height */, 1 /* dilation_width */,
1244 240 /* groups */,
1245 1 /* input channels per group */,
1246 1 /* output_channels_per_group */,
1247 240 /* input pixel stride */,
1248 240 /* output pixel stride */,
1249 w164.data(), w165.data(),
1250 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1251 0 /* flags */,
1252 &caches,
1253 &op37);
1254 if (status != xnn_status_success) {
1255 std::cerr << "failed to create operation #37" << std::endl;
1256 return ExecutionPlan();
1257 }
1258 operators.emplace_back(op37, xnn_delete_operator);
1259
1260 xnn_operator_t op38 = nullptr;
1261 status = xnn_create_hardswish_nc_f16(
1262 240 /* channels */,
1263 240 /* input stride */,
1264 240 /* output stride */,
1265 0 /* flags */,
1266 &op38);
1267 if (status != xnn_status_success) {
1268 std::cerr << "failed to create operation #38" << std::endl;
1269 return ExecutionPlan();
1270 }
1271 operators.emplace_back(op38, xnn_delete_operator);
1272
1273 xnn_operator_t op39 = nullptr;
1274 status = xnn_create_convolution2d_nhwc_f16(
1275 0 /* top padding */, 0 /* right padding */,
1276 0 /* bottom padding */, 0 /* left padding */,
1277 1 /* kernel height */, 1 /* kernel width */,
1278 1 /* subsampling height */, 1 /* subsampling width */,
1279 1 /* dilation_height */, 1 /* dilation_width */,
1280 1 /* groups */,
1281 240 /* input channels per group */,
1282 80 /* output_channels_per_group */,
1283 240 /* input pixel stride */,
1284 80 /* output pixel stride */,
1285 w166.data(), w167.data(),
1286 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1287 0 /* flags */,
1288 &caches,
1289 &op39);
1290 if (status != xnn_status_success) {
1291 std::cerr << "failed to create operation #39" << std::endl;
1292 return ExecutionPlan();
1293 }
1294 operators.emplace_back(op39, xnn_delete_operator);
1295
1296 xnn_operator_t op40 = nullptr;
1297 status = xnn_create_convolution2d_nhwc_f16(
1298 0 /* top padding */, 0 /* right padding */,
1299 0 /* bottom padding */, 0 /* left padding */,
1300 1 /* kernel height */, 1 /* kernel width */,
1301 1 /* subsampling height */, 1 /* subsampling width */,
1302 1 /* dilation_height */, 1 /* dilation_width */,
1303 1 /* groups */,
1304 80 /* input channels per group */,
1305 200 /* output_channels_per_group */,
1306 80 /* input pixel stride */,
1307 200 /* output pixel stride */,
1308 w168.data(), w169.data(),
1309 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1310 0 /* flags */,
1311 &caches,
1312 &op40);
1313 if (status != xnn_status_success) {
1314 std::cerr << "failed to create operation #40" << std::endl;
1315 return ExecutionPlan();
1316 }
1317 operators.emplace_back(op40, xnn_delete_operator);
1318
1319 xnn_operator_t op41 = nullptr;
1320 status = xnn_create_hardswish_nc_f16(
1321 200 /* channels */,
1322 200 /* input stride */,
1323 200 /* output stride */,
1324 0 /* flags */,
1325 &op41);
1326 if (status != xnn_status_success) {
1327 std::cerr << "failed to create operation #41" << std::endl;
1328 return ExecutionPlan();
1329 }
1330 operators.emplace_back(op41, xnn_delete_operator);
1331
1332 xnn_operator_t op42 = nullptr;
1333 status = xnn_create_convolution2d_nhwc_f16(
1334 1 /* top padding */, 1 /* right padding */,
1335 1 /* bottom padding */, 1 /* left padding */,
1336 3 /* kernel height */, 3 /* kernel width */,
1337 1 /* subsampling height */, 1 /* subsampling width */,
1338 1 /* dilation_height */, 1 /* dilation_width */,
1339 200 /* groups */,
1340 1 /* input channels per group */,
1341 1 /* output_channels_per_group */,
1342 200 /* input pixel stride */,
1343 200 /* output pixel stride */,
1344 w170.data(), w171.data(),
1345 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1346 0 /* flags */,
1347 &caches,
1348 &op42);
1349 if (status != xnn_status_success) {
1350 std::cerr << "failed to create operation #42" << std::endl;
1351 return ExecutionPlan();
1352 }
1353 operators.emplace_back(op42, xnn_delete_operator);
1354
1355 xnn_operator_t op43 = nullptr;
1356 status = xnn_create_hardswish_nc_f16(
1357 200 /* channels */,
1358 200 /* input stride */,
1359 200 /* output stride */,
1360 0 /* flags */,
1361 &op43);
1362 if (status != xnn_status_success) {
1363 std::cerr << "failed to create operation #43" << std::endl;
1364 return ExecutionPlan();
1365 }
1366 operators.emplace_back(op43, xnn_delete_operator);
1367
1368 xnn_operator_t op44 = nullptr;
1369 status = xnn_create_convolution2d_nhwc_f16(
1370 0 /* top padding */, 0 /* right padding */,
1371 0 /* bottom padding */, 0 /* left padding */,
1372 1 /* kernel height */, 1 /* kernel width */,
1373 1 /* subsampling height */, 1 /* subsampling width */,
1374 1 /* dilation_height */, 1 /* dilation_width */,
1375 1 /* groups */,
1376 200 /* input channels per group */,
1377 80 /* output_channels_per_group */,
1378 200 /* input pixel stride */,
1379 80 /* output pixel stride */,
1380 w172.data(), w173.data(),
1381 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1382 0 /* flags */,
1383 &caches,
1384 &op44);
1385 if (status != xnn_status_success) {
1386 std::cerr << "failed to create operation #44" << std::endl;
1387 return ExecutionPlan();
1388 }
1389 operators.emplace_back(op44, xnn_delete_operator);
1390
1391 xnn_operator_t op45 = nullptr;
1392 status = xnn_create_add_nd_f16(
1393 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1394 0 /* flags */,
1395 &op45);
1396 if (status != xnn_status_success) {
1397 std::cerr << "failed to create operation #45" << std::endl;
1398 return ExecutionPlan();
1399 }
1400 operators.emplace_back(op45, xnn_delete_operator);
1401
1402 xnn_operator_t op46 = nullptr;
1403 status = xnn_create_convolution2d_nhwc_f16(
1404 0 /* top padding */, 0 /* right padding */,
1405 0 /* bottom padding */, 0 /* left padding */,
1406 1 /* kernel height */, 1 /* kernel width */,
1407 1 /* subsampling height */, 1 /* subsampling width */,
1408 1 /* dilation_height */, 1 /* dilation_width */,
1409 1 /* groups */,
1410 80 /* input channels per group */,
1411 184 /* output_channels_per_group */,
1412 80 /* input pixel stride */,
1413 184 /* output pixel stride */,
1414 w174.data(), w175.data(),
1415 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1416 0 /* flags */,
1417 &caches,
1418 &op46);
1419 if (status != xnn_status_success) {
1420 std::cerr << "failed to create operation #46" << std::endl;
1421 return ExecutionPlan();
1422 }
1423 operators.emplace_back(op46, xnn_delete_operator);
1424
1425 xnn_operator_t op47 = nullptr;
1426 status = xnn_create_hardswish_nc_f16(
1427 184 /* channels */,
1428 184 /* input stride */,
1429 184 /* output stride */,
1430 0 /* flags */,
1431 &op47);
1432 if (status != xnn_status_success) {
1433 std::cerr << "failed to create operation #47" << std::endl;
1434 return ExecutionPlan();
1435 }
1436 operators.emplace_back(op47, xnn_delete_operator);
1437
1438 xnn_operator_t op48 = nullptr;
1439 status = xnn_create_convolution2d_nhwc_f16(
1440 1 /* top padding */, 1 /* right padding */,
1441 1 /* bottom padding */, 1 /* left padding */,
1442 3 /* kernel height */, 3 /* kernel width */,
1443 1 /* subsampling height */, 1 /* subsampling width */,
1444 1 /* dilation_height */, 1 /* dilation_width */,
1445 184 /* groups */,
1446 1 /* input channels per group */,
1447 1 /* output_channels_per_group */,
1448 184 /* input pixel stride */,
1449 184 /* output pixel stride */,
1450 w176.data(), w177.data(),
1451 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1452 0 /* flags */,
1453 &caches,
1454 &op48);
1455 if (status != xnn_status_success) {
1456 std::cerr << "failed to create operation #48" << std::endl;
1457 return ExecutionPlan();
1458 }
1459 operators.emplace_back(op48, xnn_delete_operator);
1460
1461 xnn_operator_t op49 = nullptr;
1462 status = xnn_create_hardswish_nc_f16(
1463 184 /* channels */,
1464 184 /* input stride */,
1465 184 /* output stride */,
1466 0 /* flags */,
1467 &op49);
1468 if (status != xnn_status_success) {
1469 std::cerr << "failed to create operation #49" << std::endl;
1470 return ExecutionPlan();
1471 }
1472 operators.emplace_back(op49, xnn_delete_operator);
1473
1474 xnn_operator_t op50 = nullptr;
1475 status = xnn_create_convolution2d_nhwc_f16(
1476 0 /* top padding */, 0 /* right padding */,
1477 0 /* bottom padding */, 0 /* left padding */,
1478 1 /* kernel height */, 1 /* kernel width */,
1479 1 /* subsampling height */, 1 /* subsampling width */,
1480 1 /* dilation_height */, 1 /* dilation_width */,
1481 1 /* groups */,
1482 184 /* input channels per group */,
1483 80 /* output_channels_per_group */,
1484 184 /* input pixel stride */,
1485 80 /* output pixel stride */,
1486 w178.data(), w179.data(),
1487 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1488 0 /* flags */,
1489 &caches,
1490 &op50);
1491 if (status != xnn_status_success) {
1492 std::cerr << "failed to create operation #50" << std::endl;
1493 return ExecutionPlan();
1494 }
1495 operators.emplace_back(op50, xnn_delete_operator);
1496
1497 xnn_operator_t op51 = nullptr;
1498 status = xnn_create_add_nd_f16(
1499 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1500 0 /* flags */,
1501 &op51);
1502 if (status != xnn_status_success) {
1503 std::cerr << "failed to create operation #51" << std::endl;
1504 return ExecutionPlan();
1505 }
1506 operators.emplace_back(op51, xnn_delete_operator);
1507
1508 xnn_operator_t op52 = nullptr;
1509 status = xnn_create_convolution2d_nhwc_f16(
1510 0 /* top padding */, 0 /* right padding */,
1511 0 /* bottom padding */, 0 /* left padding */,
1512 1 /* kernel height */, 1 /* kernel width */,
1513 1 /* subsampling height */, 1 /* subsampling width */,
1514 1 /* dilation_height */, 1 /* dilation_width */,
1515 1 /* groups */,
1516 80 /* input channels per group */,
1517 184 /* output_channels_per_group */,
1518 80 /* input pixel stride */,
1519 184 /* output pixel stride */,
1520 w180.data(), w181.data(),
1521 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1522 0 /* flags */,
1523 &caches,
1524 &op52);
1525 if (status != xnn_status_success) {
1526 std::cerr << "failed to create operation #52" << std::endl;
1527 return ExecutionPlan();
1528 }
1529 operators.emplace_back(op52, xnn_delete_operator);
1530
1531 xnn_operator_t op53 = nullptr;
1532 status = xnn_create_hardswish_nc_f16(
1533 184 /* channels */,
1534 184 /* input stride */,
1535 184 /* output stride */,
1536 0 /* flags */,
1537 &op53);
1538 if (status != xnn_status_success) {
1539 std::cerr << "failed to create operation #53" << std::endl;
1540 return ExecutionPlan();
1541 }
1542 operators.emplace_back(op53, xnn_delete_operator);
1543
1544 xnn_operator_t op54 = nullptr;
1545 status = xnn_create_convolution2d_nhwc_f16(
1546 1 /* top padding */, 1 /* right padding */,
1547 1 /* bottom padding */, 1 /* left padding */,
1548 3 /* kernel height */, 3 /* kernel width */,
1549 1 /* subsampling height */, 1 /* subsampling width */,
1550 1 /* dilation_height */, 1 /* dilation_width */,
1551 184 /* groups */,
1552 1 /* input channels per group */,
1553 1 /* output_channels_per_group */,
1554 184 /* input pixel stride */,
1555 184 /* output pixel stride */,
1556 w182.data(), w183.data(),
1557 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1558 0 /* flags */,
1559 &caches,
1560 &op54);
1561 if (status != xnn_status_success) {
1562 std::cerr << "failed to create operation #54" << std::endl;
1563 return ExecutionPlan();
1564 }
1565 operators.emplace_back(op54, xnn_delete_operator);
1566
1567 xnn_operator_t op55 = nullptr;
1568 status = xnn_create_hardswish_nc_f16(
1569 184 /* channels */,
1570 184 /* input stride */,
1571 184 /* output stride */,
1572 0 /* flags */,
1573 &op55);
1574 if (status != xnn_status_success) {
1575 std::cerr << "failed to create operation #55" << std::endl;
1576 return ExecutionPlan();
1577 }
1578 operators.emplace_back(op55, xnn_delete_operator);
1579
1580 xnn_operator_t op56 = nullptr;
1581 status = xnn_create_convolution2d_nhwc_f16(
1582 0 /* top padding */, 0 /* right padding */,
1583 0 /* bottom padding */, 0 /* left padding */,
1584 1 /* kernel height */, 1 /* kernel width */,
1585 1 /* subsampling height */, 1 /* subsampling width */,
1586 1 /* dilation_height */, 1 /* dilation_width */,
1587 1 /* groups */,
1588 184 /* input channels per group */,
1589 80 /* output_channels_per_group */,
1590 184 /* input pixel stride */,
1591 80 /* output pixel stride */,
1592 w184.data(), w185.data(),
1593 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1594 0 /* flags */,
1595 &caches,
1596 &op56);
1597 if (status != xnn_status_success) {
1598 std::cerr << "failed to create operation #56" << std::endl;
1599 return ExecutionPlan();
1600 }
1601 operators.emplace_back(op56, xnn_delete_operator);
1602
1603 xnn_operator_t op57 = nullptr;
1604 status = xnn_create_add_nd_f16(
1605 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1606 0 /* flags */,
1607 &op57);
1608 if (status != xnn_status_success) {
1609 std::cerr << "failed to create operation #57" << std::endl;
1610 return ExecutionPlan();
1611 }
1612 operators.emplace_back(op57, xnn_delete_operator);
1613
1614 xnn_operator_t op58 = nullptr;
1615 status = xnn_create_convolution2d_nhwc_f16(
1616 0 /* top padding */, 0 /* right padding */,
1617 0 /* bottom padding */, 0 /* left padding */,
1618 1 /* kernel height */, 1 /* kernel width */,
1619 1 /* subsampling height */, 1 /* subsampling width */,
1620 1 /* dilation_height */, 1 /* dilation_width */,
1621 1 /* groups */,
1622 80 /* input channels per group */,
1623 480 /* output_channels_per_group */,
1624 80 /* input pixel stride */,
1625 480 /* output pixel stride */,
1626 w186.data(), w187.data(),
1627 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1628 0 /* flags */,
1629 &caches,
1630 &op58);
1631 if (status != xnn_status_success) {
1632 std::cerr << "failed to create operation #58" << std::endl;
1633 return ExecutionPlan();
1634 }
1635 operators.emplace_back(op58, xnn_delete_operator);
1636
1637 xnn_operator_t op59 = nullptr;
1638 status = xnn_create_hardswish_nc_f16(
1639 480 /* channels */,
1640 480 /* input stride */,
1641 480 /* output stride */,
1642 0 /* flags */,
1643 &op59);
1644 if (status != xnn_status_success) {
1645 std::cerr << "failed to create operation #59" << std::endl;
1646 return ExecutionPlan();
1647 }
1648 operators.emplace_back(op59, xnn_delete_operator);
1649
1650 xnn_operator_t op60 = nullptr;
1651 status = xnn_create_convolution2d_nhwc_f16(
1652 1 /* top padding */, 1 /* right padding */,
1653 1 /* bottom padding */, 1 /* left padding */,
1654 3 /* kernel height */, 3 /* kernel width */,
1655 1 /* subsampling height */, 1 /* subsampling width */,
1656 1 /* dilation_height */, 1 /* dilation_width */,
1657 480 /* groups */,
1658 1 /* input channels per group */,
1659 1 /* output_channels_per_group */,
1660 480 /* input pixel stride */,
1661 480 /* output pixel stride */,
1662 w188.data(), w189.data(),
1663 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1664 0 /* flags */,
1665 &caches,
1666 &op60);
1667 if (status != xnn_status_success) {
1668 std::cerr << "failed to create operation #60" << std::endl;
1669 return ExecutionPlan();
1670 }
1671 operators.emplace_back(op60, xnn_delete_operator);
1672
1673 xnn_operator_t op61 = nullptr;
1674 status = xnn_create_hardswish_nc_f16(
1675 480 /* channels */,
1676 480 /* input stride */,
1677 480 /* output stride */,
1678 0 /* flags */,
1679 &op61);
1680 if (status != xnn_status_success) {
1681 std::cerr << "failed to create operation #61" << std::endl;
1682 return ExecutionPlan();
1683 }
1684 operators.emplace_back(op61, xnn_delete_operator);
1685
1686 xnn_operator_t op62 = nullptr;
1687 status = xnn_create_global_average_pooling_nwc_f16(
1688 480 /* channels */, 480 /* input stride */, 480 /* output stride */,
1689 -std::numeric_limits<float>::infinity(), std::numeric_limits<float>::infinity(),
1690 0 /* flags */,
1691 &op62);
1692 if (status != xnn_status_success) {
1693 std::cerr << "failed to create operation #62" << std::endl;
1694 return ExecutionPlan();
1695 }
1696 operators.emplace_back(op62, xnn_delete_operator);
1697
1698 xnn_operator_t op63 = nullptr;
1699 status = xnn_create_convolution2d_nhwc_f16(
1700 0 /* top padding */, 0 /* right padding */,
1701 0 /* bottom padding */, 0 /* left padding */,
1702 1 /* kernel height */, 1 /* kernel width */,
1703 1 /* subsampling height */, 1 /* subsampling width */,
1704 1 /* dilation_height */, 1 /* dilation_width */,
1705 1 /* groups */,
1706 480 /* input channels per group */,
1707 120 /* output_channels_per_group */,
1708 480 /* input pixel stride */,
1709 120 /* output pixel stride */,
1710 w190.data(), w191.data(),
1711 0.0f /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1712 0 /* flags */,
1713 &caches,
1714 &op63);
1715 if (status != xnn_status_success) {
1716 std::cerr << "failed to create operation #63" << std::endl;
1717 return ExecutionPlan();
1718 }
1719 operators.emplace_back(op63, xnn_delete_operator);
1720
1721 xnn_operator_t op64 = nullptr;
1722 status = xnn_create_convolution2d_nhwc_f16(
1723 0 /* top padding */, 0 /* right padding */,
1724 0 /* bottom padding */, 0 /* left padding */,
1725 1 /* kernel height */, 1 /* kernel width */,
1726 1 /* subsampling height */, 1 /* subsampling width */,
1727 1 /* dilation_height */, 1 /* dilation_width */,
1728 1 /* groups */,
1729 120 /* input channels per group */,
1730 480 /* output_channels_per_group */,
1731 120 /* input pixel stride */,
1732 480 /* output pixel stride */,
1733 w192.data(), w193.data(),
1734 0.0f /* output min */, +0x1.00014Fp+0 /* output max */,
1735 0 /* flags */,
1736 &caches,
1737 &op64);
1738 if (status != xnn_status_success) {
1739 std::cerr << "failed to create operation #64" << std::endl;
1740 return ExecutionPlan();
1741 }
1742 operators.emplace_back(op64, xnn_delete_operator);
1743
1744 xnn_operator_t op65 = nullptr;
1745 status = xnn_create_multiply_nd_f16(
1746 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1747 0 /* flags */,
1748 &op65);
1749 if (status != xnn_status_success) {
1750 std::cerr << "failed to create operation #65" << std::endl;
1751 return ExecutionPlan();
1752 }
1753 operators.emplace_back(op65, xnn_delete_operator);
1754
1755 xnn_operator_t op66 = nullptr;
1756 status = xnn_create_convolution2d_nhwc_f16(
1757 0 /* top padding */, 0 /* right padding */,
1758 0 /* bottom padding */, 0 /* left padding */,
1759 1 /* kernel height */, 1 /* kernel width */,
1760 1 /* subsampling height */, 1 /* subsampling width */,
1761 1 /* dilation_height */, 1 /* dilation_width */,
1762 1 /* groups */,
1763 480 /* input channels per group */,
1764 112 /* output_channels_per_group */,
1765 480 /* input pixel stride */,
1766 112 /* output pixel stride */,
1767 w194.data(), w195.data(),
1768 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1769 0 /* flags */,
1770 &caches,
1771 &op66);
1772 if (status != xnn_status_success) {
1773 std::cerr << "failed to create operation #66" << std::endl;
1774 return ExecutionPlan();
1775 }
1776 operators.emplace_back(op66, xnn_delete_operator);
1777
1778 xnn_operator_t op67 = nullptr;
1779 status = xnn_create_convolution2d_nhwc_f16(
1780 0 /* top padding */, 0 /* right padding */,
1781 0 /* bottom padding */, 0 /* left padding */,
1782 1 /* kernel height */, 1 /* kernel width */,
1783 1 /* subsampling height */, 1 /* subsampling width */,
1784 1 /* dilation_height */, 1 /* dilation_width */,
1785 1 /* groups */,
1786 112 /* input channels per group */,
1787 672 /* output_channels_per_group */,
1788 112 /* input pixel stride */,
1789 672 /* output pixel stride */,
1790 w196.data(), w197.data(),
1791 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1792 0 /* flags */,
1793 &caches,
1794 &op67);
1795 if (status != xnn_status_success) {
1796 std::cerr << "failed to create operation #67" << std::endl;
1797 return ExecutionPlan();
1798 }
1799 operators.emplace_back(op67, xnn_delete_operator);
1800
1801 xnn_operator_t op68 = nullptr;
1802 status = xnn_create_hardswish_nc_f16(
1803 672 /* channels */,
1804 672 /* input stride */,
1805 672 /* output stride */,
1806 0 /* flags */,
1807 &op68);
1808 if (status != xnn_status_success) {
1809 std::cerr << "failed to create operation #68" << std::endl;
1810 return ExecutionPlan();
1811 }
1812 operators.emplace_back(op68, xnn_delete_operator);
1813
1814 xnn_operator_t op69 = nullptr;
1815 status = xnn_create_convolution2d_nhwc_f16(
1816 1 /* top padding */, 1 /* right padding */,
1817 1 /* bottom padding */, 1 /* left padding */,
1818 3 /* kernel height */, 3 /* kernel width */,
1819 1 /* subsampling height */, 1 /* subsampling width */,
1820 1 /* dilation_height */, 1 /* dilation_width */,
1821 672 /* groups */,
1822 1 /* input channels per group */,
1823 1 /* output_channels_per_group */,
1824 672 /* input pixel stride */,
1825 672 /* output pixel stride */,
1826 w198.data(), w199.data(),
1827 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1828 0 /* flags */,
1829 &caches,
1830 &op69);
1831 if (status != xnn_status_success) {
1832 std::cerr << "failed to create operation #69" << std::endl;
1833 return ExecutionPlan();
1834 }
1835 operators.emplace_back(op69, xnn_delete_operator);
1836
1837 xnn_operator_t op70 = nullptr;
1838 status = xnn_create_hardswish_nc_f16(
1839 672 /* channels */,
1840 672 /* input stride */,
1841 672 /* output stride */,
1842 0 /* flags */,
1843 &op70);
1844 if (status != xnn_status_success) {
1845 std::cerr << "failed to create operation #70" << std::endl;
1846 return ExecutionPlan();
1847 }
1848 operators.emplace_back(op70, xnn_delete_operator);
1849
1850 xnn_operator_t op71 = nullptr;
1851 status = xnn_create_global_average_pooling_nwc_f16(
1852 672 /* channels */, 672 /* input stride */, 672 /* output stride */,
1853 -std::numeric_limits<float>::infinity(), std::numeric_limits<float>::infinity(),
1854 0 /* flags */,
1855 &op71);
1856 if (status != xnn_status_success) {
1857 std::cerr << "failed to create operation #71" << std::endl;
1858 return ExecutionPlan();
1859 }
1860 operators.emplace_back(op71, xnn_delete_operator);
1861
1862 xnn_operator_t op72 = nullptr;
1863 status = xnn_create_convolution2d_nhwc_f16(
1864 0 /* top padding */, 0 /* right padding */,
1865 0 /* bottom padding */, 0 /* left padding */,
1866 1 /* kernel height */, 1 /* kernel width */,
1867 1 /* subsampling height */, 1 /* subsampling width */,
1868 1 /* dilation_height */, 1 /* dilation_width */,
1869 1 /* groups */,
1870 672 /* input channels per group */,
1871 168 /* output_channels_per_group */,
1872 672 /* input pixel stride */,
1873 168 /* output pixel stride */,
1874 w200.data(), w201.data(),
1875 0.0f /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1876 0 /* flags */,
1877 &caches,
1878 &op72);
1879 if (status != xnn_status_success) {
1880 std::cerr << "failed to create operation #72" << std::endl;
1881 return ExecutionPlan();
1882 }
1883 operators.emplace_back(op72, xnn_delete_operator);
1884
1885 xnn_operator_t op73 = nullptr;
1886 status = xnn_create_convolution2d_nhwc_f16(
1887 0 /* top padding */, 0 /* right padding */,
1888 0 /* bottom padding */, 0 /* left padding */,
1889 1 /* kernel height */, 1 /* kernel width */,
1890 1 /* subsampling height */, 1 /* subsampling width */,
1891 1 /* dilation_height */, 1 /* dilation_width */,
1892 1 /* groups */,
1893 168 /* input channels per group */,
1894 672 /* output_channels_per_group */,
1895 168 /* input pixel stride */,
1896 672 /* output pixel stride */,
1897 w202.data(), w203.data(),
1898 0.0f /* output min */, +0x1.00014Fp+0 /* output max */,
1899 0 /* flags */,
1900 &caches,
1901 &op73);
1902 if (status != xnn_status_success) {
1903 std::cerr << "failed to create operation #73" << std::endl;
1904 return ExecutionPlan();
1905 }
1906 operators.emplace_back(op73, xnn_delete_operator);
1907
1908 xnn_operator_t op74 = nullptr;
1909 status = xnn_create_multiply_nd_f16(
1910 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1911 0 /* flags */,
1912 &op74);
1913 if (status != xnn_status_success) {
1914 std::cerr << "failed to create operation #74" << std::endl;
1915 return ExecutionPlan();
1916 }
1917 operators.emplace_back(op74, xnn_delete_operator);
1918
1919 xnn_operator_t op75 = nullptr;
1920 status = xnn_create_convolution2d_nhwc_f16(
1921 0 /* top padding */, 0 /* right padding */,
1922 0 /* bottom padding */, 0 /* left padding */,
1923 1 /* kernel height */, 1 /* kernel width */,
1924 1 /* subsampling height */, 1 /* subsampling width */,
1925 1 /* dilation_height */, 1 /* dilation_width */,
1926 1 /* groups */,
1927 672 /* input channels per group */,
1928 112 /* output_channels_per_group */,
1929 672 /* input pixel stride */,
1930 112 /* output pixel stride */,
1931 w204.data(), w205.data(),
1932 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1933 0 /* flags */,
1934 &caches,
1935 &op75);
1936 if (status != xnn_status_success) {
1937 std::cerr << "failed to create operation #75" << std::endl;
1938 return ExecutionPlan();
1939 }
1940 operators.emplace_back(op75, xnn_delete_operator);
1941
1942 xnn_operator_t op76 = nullptr;
1943 status = xnn_create_add_nd_f16(
1944 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1945 0 /* flags */,
1946 &op76);
1947 if (status != xnn_status_success) {
1948 std::cerr << "failed to create operation #76" << std::endl;
1949 return ExecutionPlan();
1950 }
1951 operators.emplace_back(op76, xnn_delete_operator);
1952
1953 xnn_operator_t op77 = nullptr;
1954 status = xnn_create_convolution2d_nhwc_f16(
1955 0 /* top padding */, 0 /* right padding */,
1956 0 /* bottom padding */, 0 /* left padding */,
1957 1 /* kernel height */, 1 /* kernel width */,
1958 1 /* subsampling height */, 1 /* subsampling width */,
1959 1 /* dilation_height */, 1 /* dilation_width */,
1960 1 /* groups */,
1961 112 /* input channels per group */,
1962 672 /* output_channels_per_group */,
1963 112 /* input pixel stride */,
1964 672 /* output pixel stride */,
1965 w206.data(), w207.data(),
1966 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1967 0 /* flags */,
1968 &caches,
1969 &op77);
1970 if (status != xnn_status_success) {
1971 std::cerr << "failed to create operation #77" << std::endl;
1972 return ExecutionPlan();
1973 }
1974 operators.emplace_back(op77, xnn_delete_operator);
1975
1976 xnn_operator_t op78 = nullptr;
1977 status = xnn_create_hardswish_nc_f16(
1978 672 /* channels */,
1979 672 /* input stride */,
1980 672 /* output stride */,
1981 0 /* flags */,
1982 &op78);
1983 if (status != xnn_status_success) {
1984 std::cerr << "failed to create operation #78" << std::endl;
1985 return ExecutionPlan();
1986 }
1987 operators.emplace_back(op78, xnn_delete_operator);
1988
1989 xnn_operator_t op79 = nullptr;
1990 status = xnn_create_convolution2d_nhwc_f16(
1991 1 /* top padding */, 2 /* right padding */,
1992 2 /* bottom padding */, 1 /* left padding */,
1993 5 /* kernel height */, 5 /* kernel width */,
1994 2 /* subsampling height */, 2 /* subsampling width */,
1995 1 /* dilation_height */, 1 /* dilation_width */,
1996 672 /* groups */,
1997 1 /* input channels per group */,
1998 1 /* output_channels_per_group */,
1999 672 /* input pixel stride */,
2000 672 /* output pixel stride */,
2001 w208.data(), w209.data(),
2002 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
2003 0 /* flags */,
2004 &caches,
2005 &op79);
2006 if (status != xnn_status_success) {
2007 std::cerr << "failed to create operation #79" << std::endl;
2008 return ExecutionPlan();
2009 }
2010 operators.emplace_back(op79, xnn_delete_operator);
2011
2012 xnn_operator_t op80 = nullptr;
2013 status = xnn_create_hardswish_nc_f16(
2014 672 /* channels */,
2015 672 /* input stride */,
2016 672 /* output stride */,
2017 0 /* flags */,
2018 &op80);
2019 if (status != xnn_status_success) {
2020 std::cerr << "failed to create operation #80" << std::endl;
2021 return ExecutionPlan();
2022 }
2023 operators.emplace_back(op80, xnn_delete_operator);
2024
2025 xnn_operator_t op81 = nullptr;
2026 status = xnn_create_global_average_pooling_nwc_f16(
2027 672 /* channels */, 672 /* input stride */, 672 /* output stride */,
2028 -std::numeric_limits<float>::infinity(), std::numeric_limits<float>::infinity(),
2029 0 /* flags */,
2030 &op81);
2031 if (status != xnn_status_success) {
2032 std::cerr << "failed to create operation #81" << std::endl;
2033 return ExecutionPlan();
2034 }
2035 operators.emplace_back(op81, xnn_delete_operator);
2036
2037 xnn_operator_t op82 = nullptr;
2038 status = xnn_create_convolution2d_nhwc_f16(
2039 0 /* top padding */, 0 /* right padding */,
2040 0 /* bottom padding */, 0 /* left padding */,
2041 1 /* kernel height */, 1 /* kernel width */,
2042 1 /* subsampling height */, 1 /* subsampling width */,
2043 1 /* dilation_height */, 1 /* dilation_width */,
2044 1 /* groups */,
2045 672 /* input channels per group */,
2046 168 /* output_channels_per_group */,
2047 672 /* input pixel stride */,
2048 168 /* output pixel stride */,
2049 w210.data(), w211.data(),
2050 0.0f /* output min */, std::numeric_limits<float>::infinity() /* output max */,
2051 0 /* flags */,
2052 &caches,
2053 &op82);
2054 if (status != xnn_status_success) {
2055 std::cerr << "failed to create operation #82" << std::endl;
2056 return ExecutionPlan();
2057 }
2058 operators.emplace_back(op82, xnn_delete_operator);
2059
2060 xnn_operator_t op83 = nullptr;
2061 status = xnn_create_convolution2d_nhwc_f16(
2062 0 /* top padding */, 0 /* right padding */,
2063 0 /* bottom padding */, 0 /* left padding */,
2064 1 /* kernel height */, 1 /* kernel width */,
2065 1 /* subsampling height */, 1 /* subsampling width */,
2066 1 /* dilation_height */, 1 /* dilation_width */,
2067 1 /* groups */,
2068 168 /* input channels per group */,
2069 672 /* output_channels_per_group */,
2070 168 /* input pixel stride */,
2071 672 /* output pixel stride */,
2072 w212.data(), w213.data(),
2073 0.0f /* output min */, +0x1.00014Fp+0 /* output max */,
2074 0 /* flags */,
2075 &caches,
2076 &op83);
2077 if (status != xnn_status_success) {
2078 std::cerr << "failed to create operation #83" << std::endl;
2079 return ExecutionPlan();
2080 }
2081 operators.emplace_back(op83, xnn_delete_operator);
2082
2083 xnn_operator_t op84 = nullptr;
2084 status = xnn_create_multiply_nd_f16(
2085 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
2086 0 /* flags */,
2087 &op84);
2088 if (status != xnn_status_success) {
2089 std::cerr << "failed to create operation #84" << std::endl;
2090 return ExecutionPlan();
2091 }
2092 operators.emplace_back(op84, xnn_delete_operator);
2093
2094 xnn_operator_t op85 = nullptr;
2095 status = xnn_create_convolution2d_nhwc_f16(
2096 0 /* top padding */, 0 /* right padding */,
2097 0 /* bottom padding */, 0 /* left padding */,
2098 1 /* kernel height */, 1 /* kernel width */,
2099 1 /* subsampling height */, 1 /* subsampling width */,
2100 1 /* dilation_height */, 1 /* dilation_width */,
2101 1 /* groups */,
2102 672 /* input channels per group */,
2103 160 /* output_channels_per_group */,
2104 672 /* input pixel stride */,
2105 160 /* output pixel stride */,
2106 w214.data(), w215.data(),
2107 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
2108 0 /* flags */,
2109 &caches,
2110 &op85);
2111 if (status != xnn_status_success) {
2112 std::cerr << "failed to create operation #85" << std::endl;
2113 return ExecutionPlan();
2114 }
2115 operators.emplace_back(op85, xnn_delete_operator);
2116
2117 xnn_operator_t op86 = nullptr;
2118 status = xnn_create_convolution2d_nhwc_f16(
2119 0 /* top padding */, 0 /* right padding */,
2120 0 /* bottom padding */, 0 /* left padding */,
2121 1 /* kernel height */, 1 /* kernel width */,
2122 1 /* subsampling height */, 1 /* subsampling width */,
2123 1 /* dilation_height */, 1 /* dilation_width */,
2124 1 /* groups */,
2125 160 /* input channels per group */,
2126 960 /* output_channels_per_group */,
2127 160 /* input pixel stride */,
2128 960 /* output pixel stride */,
2129 w216.data(), w217.data(),
2130 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
2131 0 /* flags */,
2132 &caches,
2133 &op86);
2134 if (status != xnn_status_success) {
2135 std::cerr << "failed to create operation #86" << std::endl;
2136 return ExecutionPlan();
2137 }
2138 operators.emplace_back(op86, xnn_delete_operator);
2139
2140 xnn_operator_t op87 = nullptr;
2141 status = xnn_create_hardswish_nc_f16(
2142 960 /* channels */,
2143 960 /* input stride */,
2144 960 /* output stride */,
2145 0 /* flags */,
2146 &op87);
2147 if (status != xnn_status_success) {
2148 std::cerr << "failed to create operation #87" << std::endl;
2149 return ExecutionPlan();
2150 }
2151 operators.emplace_back(op87, xnn_delete_operator);
2152
2153 xnn_operator_t op88 = nullptr;
2154 status = xnn_create_convolution2d_nhwc_f16(
2155 2 /* top padding */, 2 /* right padding */,
2156 2 /* bottom padding */, 2 /* left padding */,
2157 5 /* kernel height */, 5 /* kernel width */,
2158 1 /* subsampling height */, 1 /* subsampling width */,
2159 1 /* dilation_height */, 1 /* dilation_width */,
2160 960 /* groups */,
2161 1 /* input channels per group */,
2162 1 /* output_channels_per_group */,
2163 960 /* input pixel stride */,
2164 960 /* output pixel stride */,
2165 w218.data(), w219.data(),
2166 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
2167 0 /* flags */,
2168 &caches,
2169 &op88);
2170 if (status != xnn_status_success) {
2171 std::cerr << "failed to create operation #88" << std::endl;
2172 return ExecutionPlan();
2173 }
2174 operators.emplace_back(op88, xnn_delete_operator);
2175
2176 xnn_operator_t op89 = nullptr;
2177 status = xnn_create_hardswish_nc_f16(
2178 960 /* channels */,
2179 960 /* input stride */,
2180 960 /* output stride */,
2181 0 /* flags */,
2182 &op89);
2183 if (status != xnn_status_success) {
2184 std::cerr << "failed to create operation #89" << std::endl;
2185 return ExecutionPlan();
2186 }
2187 operators.emplace_back(op89, xnn_delete_operator);
2188
2189 xnn_operator_t op90 = nullptr;
2190 status = xnn_create_global_average_pooling_nwc_f16(
2191 960 /* channels */, 960 /* input stride */, 960 /* output stride */,
2192 -std::numeric_limits<float>::infinity(), std::numeric_limits<float>::infinity(),
2193 0 /* flags */,
2194 &op90);
2195 if (status != xnn_status_success) {
2196 std::cerr << "failed to create operation #90" << std::endl;
2197 return ExecutionPlan();
2198 }
2199 operators.emplace_back(op90, xnn_delete_operator);
2200
2201 xnn_operator_t op91 = nullptr;
2202 status = xnn_create_convolution2d_nhwc_f16(
2203 0 /* top padding */, 0 /* right padding */,
2204 0 /* bottom padding */, 0 /* left padding */,
2205 1 /* kernel height */, 1 /* kernel width */,
2206 1 /* subsampling height */, 1 /* subsampling width */,
2207 1 /* dilation_height */, 1 /* dilation_width */,
2208 1 /* groups */,
2209 960 /* input channels per group */,
2210 240 /* output_channels_per_group */,
2211 960 /* input pixel stride */,
2212 240 /* output pixel stride */,
2213 w220.data(), w221.data(),
2214 0.0f /* output min */, std::numeric_limits<float>::infinity() /* output max */,
2215 0 /* flags */,
2216 &caches,
2217 &op91);
2218 if (status != xnn_status_success) {
2219 std::cerr << "failed to create operation #91" << std::endl;
2220 return ExecutionPlan();
2221 }
2222 operators.emplace_back(op91, xnn_delete_operator);
2223
2224 xnn_operator_t op92 = nullptr;
2225 status = xnn_create_convolution2d_nhwc_f16(
2226 0 /* top padding */, 0 /* right padding */,
2227 0 /* bottom padding */, 0 /* left padding */,
2228 1 /* kernel height */, 1 /* kernel width */,
2229 1 /* subsampling height */, 1 /* subsampling width */,
2230 1 /* dilation_height */, 1 /* dilation_width */,
2231 1 /* groups */,
2232 240 /* input channels per group */,
2233 960 /* output_channels_per_group */,
2234 240 /* input pixel stride */,
2235 960 /* output pixel stride */,
2236 w222.data(), w223.data(),
2237 0.0f /* output min */, +0x1.00014Fp+0 /* output max */,
2238 0 /* flags */,
2239 &caches,
2240 &op92);
2241 if (status != xnn_status_success) {
2242 std::cerr << "failed to create operation #92" << std::endl;
2243 return ExecutionPlan();
2244 }
2245 operators.emplace_back(op92, xnn_delete_operator);
2246
2247 xnn_operator_t op93 = nullptr;
2248 status = xnn_create_multiply_nd_f16(
2249 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
2250 0 /* flags */,
2251 &op93);
2252 if (status != xnn_status_success) {
2253 std::cerr << "failed to create operation #93" << std::endl;
2254 return ExecutionPlan();
2255 }
2256 operators.emplace_back(op93, xnn_delete_operator);
2257
2258 xnn_operator_t op94 = nullptr;
2259 status = xnn_create_convolution2d_nhwc_f16(
2260 0 /* top padding */, 0 /* right padding */,
2261 0 /* bottom padding */, 0 /* left padding */,
2262 1 /* kernel height */, 1 /* kernel width */,
2263 1 /* subsampling height */, 1 /* subsampling width */,
2264 1 /* dilation_height */, 1 /* dilation_width */,
2265 1 /* groups */,
2266 960 /* input channels per group */,
2267 160 /* output_channels_per_group */,
2268 960 /* input pixel stride */,
2269 160 /* output pixel stride */,
2270 w224.data(), w225.data(),
2271 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
2272 0 /* flags */,
2273 &caches,
2274 &op94);
2275 if (status != xnn_status_success) {
2276 std::cerr << "failed to create operation #94" << std::endl;
2277 return ExecutionPlan();
2278 }
2279 operators.emplace_back(op94, xnn_delete_operator);
2280
2281 xnn_operator_t op95 = nullptr;
2282 status = xnn_create_add_nd_f16(
2283 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
2284 0 /* flags */,
2285 &op95);
2286 if (status != xnn_status_success) {
2287 std::cerr << "failed to create operation #95" << std::endl;
2288 return ExecutionPlan();
2289 }
2290 operators.emplace_back(op95, xnn_delete_operator);
2291
2292 xnn_operator_t op96 = nullptr;
2293 status = xnn_create_convolution2d_nhwc_f16(
2294 0 /* top padding */, 0 /* right padding */,
2295 0 /* bottom padding */, 0 /* left padding */,
2296 1 /* kernel height */, 1 /* kernel width */,
2297 1 /* subsampling height */, 1 /* subsampling width */,
2298 1 /* dilation_height */, 1 /* dilation_width */,
2299 1 /* groups */,
2300 160 /* input channels per group */,
2301 960 /* output_channels_per_group */,
2302 160 /* input pixel stride */,
2303 960 /* output pixel stride */,
2304 w226.data(), w227.data(),
2305 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
2306 0 /* flags */,
2307 &caches,
2308 &op96);
2309 if (status != xnn_status_success) {
2310 std::cerr << "failed to create operation #96" << std::endl;
2311 return ExecutionPlan();
2312 }
2313 operators.emplace_back(op96, xnn_delete_operator);
2314
2315 xnn_operator_t op97 = nullptr;
2316 status = xnn_create_hardswish_nc_f16(
2317 960 /* channels */,
2318 960 /* input stride */,
2319 960 /* output stride */,
2320 0 /* flags */,
2321 &op97);
2322 if (status != xnn_status_success) {
2323 std::cerr << "failed to create operation #97" << std::endl;
2324 return ExecutionPlan();
2325 }
2326 operators.emplace_back(op97, xnn_delete_operator);
2327
2328 xnn_operator_t op98 = nullptr;
2329 status = xnn_create_convolution2d_nhwc_f16(
2330 2 /* top padding */, 2 /* right padding */,
2331 2 /* bottom padding */, 2 /* left padding */,
2332 5 /* kernel height */, 5 /* kernel width */,
2333 1 /* subsampling height */, 1 /* subsampling width */,
2334 1 /* dilation_height */, 1 /* dilation_width */,
2335 960 /* groups */,
2336 1 /* input channels per group */,
2337 1 /* output_channels_per_group */,
2338 960 /* input pixel stride */,
2339 960 /* output pixel stride */,
2340 w228.data(), w229.data(),
2341 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
2342 0 /* flags */,
2343 &caches,
2344 &op98);
2345 if (status != xnn_status_success) {
2346 std::cerr << "failed to create operation #98" << std::endl;
2347 return ExecutionPlan();
2348 }
2349 operators.emplace_back(op98, xnn_delete_operator);
2350
2351 xnn_operator_t op99 = nullptr;
2352 status = xnn_create_hardswish_nc_f16(
2353 960 /* channels */,
2354 960 /* input stride */,
2355 960 /* output stride */,
2356 0 /* flags */,
2357 &op99);
2358 if (status != xnn_status_success) {
2359 std::cerr << "failed to create operation #99" << std::endl;
2360 return ExecutionPlan();
2361 }
2362 operators.emplace_back(op99, xnn_delete_operator);
2363
2364 xnn_operator_t op100 = nullptr;
2365 status = xnn_create_global_average_pooling_nwc_f16(
2366 960 /* channels */, 960 /* input stride */, 960 /* output stride */,
2367 -std::numeric_limits<float>::infinity(), std::numeric_limits<float>::infinity(),
2368 0 /* flags */,
2369 &op100);
2370 if (status != xnn_status_success) {
2371 std::cerr << "failed to create operation #100" << std::endl;
2372 return ExecutionPlan();
2373 }
2374 operators.emplace_back(op100, xnn_delete_operator);
2375
2376 xnn_operator_t op101 = nullptr;
2377 status = xnn_create_convolution2d_nhwc_f16(
2378 0 /* top padding */, 0 /* right padding */,
2379 0 /* bottom padding */, 0 /* left padding */,
2380 1 /* kernel height */, 1 /* kernel width */,
2381 1 /* subsampling height */, 1 /* subsampling width */,
2382 1 /* dilation_height */, 1 /* dilation_width */,
2383 1 /* groups */,
2384 960 /* input channels per group */,
2385 240 /* output_channels_per_group */,
2386 960 /* input pixel stride */,
2387 240 /* output pixel stride */,
2388 w230.data(), w231.data(),
2389 0.0f /* output min */, std::numeric_limits<float>::infinity() /* output max */,
2390 0 /* flags */,
2391 &caches,
2392 &op101);
2393 if (status != xnn_status_success) {
2394 std::cerr << "failed to create operation #101" << std::endl;
2395 return ExecutionPlan();
2396 }
2397 operators.emplace_back(op101, xnn_delete_operator);
2398
2399 xnn_operator_t op102 = nullptr;
2400 status = xnn_create_convolution2d_nhwc_f16(
2401 0 /* top padding */, 0 /* right padding */,
2402 0 /* bottom padding */, 0 /* left padding */,
2403 1 /* kernel height */, 1 /* kernel width */,
2404 1 /* subsampling height */, 1 /* subsampling width */,
2405 1 /* dilation_height */, 1 /* dilation_width */,
2406 1 /* groups */,
2407 240 /* input channels per group */,
2408 960 /* output_channels_per_group */,
2409 240 /* input pixel stride */,
2410 960 /* output pixel stride */,
2411 w232.data(), w233.data(),
2412 0.0f /* output min */, +0x1.00014Fp+0 /* output max */,
2413 0 /* flags */,
2414 &caches,
2415 &op102);
2416 if (status != xnn_status_success) {
2417 std::cerr << "failed to create operation #102" << std::endl;
2418 return ExecutionPlan();
2419 }
2420 operators.emplace_back(op102, xnn_delete_operator);
2421
2422 xnn_operator_t op103 = nullptr;
2423 status = xnn_create_multiply_nd_f16(
2424 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
2425 0 /* flags */,
2426 &op103);
2427 if (status != xnn_status_success) {
2428 std::cerr << "failed to create operation #103" << std::endl;
2429 return ExecutionPlan();
2430 }
2431 operators.emplace_back(op103, xnn_delete_operator);
2432
2433 xnn_operator_t op104 = nullptr;
2434 status = xnn_create_convolution2d_nhwc_f16(
2435 0 /* top padding */, 0 /* right padding */,
2436 0 /* bottom padding */, 0 /* left padding */,
2437 1 /* kernel height */, 1 /* kernel width */,
2438 1 /* subsampling height */, 1 /* subsampling width */,
2439 1 /* dilation_height */, 1 /* dilation_width */,
2440 1 /* groups */,
2441 960 /* input channels per group */,
2442 160 /* output_channels_per_group */,
2443 960 /* input pixel stride */,
2444 160 /* output pixel stride */,
2445 w234.data(), w235.data(),
2446 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
2447 0 /* flags */,
2448 &caches,
2449 &op104);
2450 if (status != xnn_status_success) {
2451 std::cerr << "failed to create operation #104" << std::endl;
2452 return ExecutionPlan();
2453 }
2454 operators.emplace_back(op104, xnn_delete_operator);
2455
2456 xnn_operator_t op105 = nullptr;
2457 status = xnn_create_add_nd_f16(
2458 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
2459 0 /* flags */,
2460 &op105);
2461 if (status != xnn_status_success) {
2462 std::cerr << "failed to create operation #105" << std::endl;
2463 return ExecutionPlan();
2464 }
2465 operators.emplace_back(op105, xnn_delete_operator);
2466
2467 xnn_operator_t op106 = nullptr;
2468 status = xnn_create_convolution2d_nhwc_f16(
2469 0 /* top padding */, 0 /* right padding */,
2470 0 /* bottom padding */, 0 /* left padding */,
2471 1 /* kernel height */, 1 /* kernel width */,
2472 1 /* subsampling height */, 1 /* subsampling width */,
2473 1 /* dilation_height */, 1 /* dilation_width */,
2474 1 /* groups */,
2475 160 /* input channels per group */,
2476 960 /* output_channels_per_group */,
2477 160 /* input pixel stride */,
2478 960 /* output pixel stride */,
2479 w236.data(), w237.data(),
2480 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
2481 0 /* flags */,
2482 &caches,
2483 &op106);
2484 if (status != xnn_status_success) {
2485 std::cerr << "failed to create operation #106" << std::endl;
2486 return ExecutionPlan();
2487 }
2488 operators.emplace_back(op106, xnn_delete_operator);
2489
2490 xnn_operator_t op107 = nullptr;
2491 status = xnn_create_hardswish_nc_f16(
2492 960 /* channels */,
2493 960 /* input stride */,
2494 960 /* output stride */,
2495 0 /* flags */,
2496 &op107);
2497 if (status != xnn_status_success) {
2498 std::cerr << "failed to create operation #107" << std::endl;
2499 return ExecutionPlan();
2500 }
2501 operators.emplace_back(op107, xnn_delete_operator);
2502
2503 xnn_operator_t op108 = nullptr;
2504 status = xnn_create_global_average_pooling_nwc_f16(
2505 960 /* channels */, 960 /* input stride */, 960 /* output stride */,
2506 -std::numeric_limits<float>::infinity(), std::numeric_limits<float>::infinity(),
2507 0 /* flags */,
2508 &op108);
2509 if (status != xnn_status_success) {
2510 std::cerr << "failed to create operation #108" << std::endl;
2511 return ExecutionPlan();
2512 }
2513 operators.emplace_back(op108, xnn_delete_operator);
2514
2515 xnn_operator_t op109 = nullptr;
2516 status = xnn_create_convolution2d_nhwc_f16(
2517 0 /* top padding */, 0 /* right padding */,
2518 0 /* bottom padding */, 0 /* left padding */,
2519 1 /* kernel height */, 1 /* kernel width */,
2520 1 /* subsampling height */, 1 /* subsampling width */,
2521 1 /* dilation_height */, 1 /* dilation_width */,
2522 1 /* groups */,
2523 960 /* input channels per group */,
2524 1280 /* output_channels_per_group */,
2525 960 /* input pixel stride */,
2526 1280 /* output pixel stride */,
2527 w238.data(), w239.data(),
2528 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
2529 0 /* flags */,
2530 &caches,
2531 &op109);
2532 if (status != xnn_status_success) {
2533 std::cerr << "failed to create operation #109" << std::endl;
2534 return ExecutionPlan();
2535 }
2536 operators.emplace_back(op109, xnn_delete_operator);
2537
2538 xnn_operator_t op110 = nullptr;
2539 status = xnn_create_hardswish_nc_f16(
2540 1280 /* channels */,
2541 1280 /* input stride */,
2542 1280 /* output stride */,
2543 0 /* flags */,
2544 &op110);
2545 if (status != xnn_status_success) {
2546 std::cerr << "failed to create operation #110" << std::endl;
2547 return ExecutionPlan();
2548 }
2549 operators.emplace_back(op110, xnn_delete_operator);
2550
2551 xnn_operator_t op111 = nullptr;
2552 status = xnn_create_global_average_pooling_nwc_f16(
2553 1280 /* channels */, 1280 /* input stride */, 1280 /* output stride */,
2554 -std::numeric_limits<float>::infinity(), std::numeric_limits<float>::infinity(),
2555 0 /* flags */,
2556 &op111);
2557 if (status != xnn_status_success) {
2558 std::cerr << "failed to create operation #111" << std::endl;
2559 return ExecutionPlan();
2560 }
2561 operators.emplace_back(op111, xnn_delete_operator);
2562
2563 xnn_operator_t op112 = nullptr;
2564 status = xnn_create_convolution2d_nhwc_f16(
2565 0 /* top padding */, 0 /* right padding */,
2566 0 /* bottom padding */, 0 /* left padding */,
2567 1 /* kernel height */, 1 /* kernel width */,
2568 1 /* subsampling height */, 1 /* subsampling width */,
2569 1 /* dilation_height */, 1 /* dilation_width */,
2570 1 /* groups */,
2571 1280 /* input channels per group */,
2572 1001 /* output_channels_per_group */,
2573 1280 /* input pixel stride */,
2574 1001 /* output pixel stride */,
2575 w240.data(), w241.data(),
2576 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
2577 0 /* flags */,
2578 &caches,
2579 &op112);
2580 if (status != xnn_status_success) {
2581 std::cerr << "failed to create operation #112" << std::endl;
2582 return ExecutionPlan();
2583 }
2584 operators.emplace_back(op112, xnn_delete_operator);
2585
2586 #if XNN_PLATFORM_JIT
2587 xnn_finalize_code_memory(&code_cache.cache.code);
2588 #endif
2589
2590 status = xnn_setup_convolution2d_nhwc_f16(
2591 op0,
2592 1 /* batch size */, 224 /* input height */, 224 /* input width */,
2593 v0.data() /* input */, v1.data() /* output */,
2594 threadpool /* threadpool */);
2595 if (status != xnn_status_success) {
2596 std::cerr << "failed to setup operation #0" << std::endl;
2597 return ExecutionPlan();
2598 }
2599
2600 status = xnn_setup_hardswish_nc_f16(
2601 op1,
2602 12544 /* batch size */,
2603 v1.data() /* input */, v2.data() /* output */,
2604 threadpool /* threadpool */);
2605 if (status != xnn_status_success) {
2606 std::cerr << "failed to setup operation #1" << std::endl;
2607 return ExecutionPlan();
2608 }
2609
2610 status = xnn_setup_convolution2d_nhwc_f16(
2611 op2,
2612 1 /* batch size */, 112 /* input height */, 112 /* input width */,
2613 v2.data() /* input */, v3.data() /* output */,
2614 threadpool /* threadpool */);
2615 if (status != xnn_status_success) {
2616 std::cerr << "failed to setup operation #2" << std::endl;
2617 return ExecutionPlan();
2618 }
2619
2620 status = xnn_setup_convolution2d_nhwc_f16(
2621 op3,
2622 1 /* batch size */, 112 /* input height */, 112 /* input width */,
2623 v3.data() /* input */, v4.data() /* output */,
2624 threadpool /* threadpool */);
2625 if (status != xnn_status_success) {
2626 std::cerr << "failed to setup operation #3" << std::endl;
2627 return ExecutionPlan();
2628 }
2629
2630 {
2631 const size_t a_shape[] = { 1, 112, 112, 16 };
2632 const size_t b_shape[] = { 1, 112, 112, 16 };
2633 status = xnn_setup_add_nd_f16(
2634 op4,
2635 4, a_shape, 4, b_shape,
2636 v4.data() /* a */, v2.data() /* b */, v5.data() /* output */,
2637 threadpool /* threadpool */);
2638 }
2639 if (status != xnn_status_success) {
2640 std::cerr << "failed to setup operation #4" << std::endl;
2641 return ExecutionPlan();
2642 }
2643
2644 status = xnn_setup_convolution2d_nhwc_f16(
2645 op5,
2646 1 /* batch size */, 112 /* input height */, 112 /* input width */,
2647 v5.data() /* input */, v6.data() /* output */,
2648 threadpool /* threadpool */);
2649 if (status != xnn_status_success) {
2650 std::cerr << "failed to setup operation #5" << std::endl;
2651 return ExecutionPlan();
2652 }
2653
2654 status = xnn_setup_convolution2d_nhwc_f16(
2655 op6,
2656 1 /* batch size */, 112 /* input height */, 112 /* input width */,
2657 v6.data() /* input */, v7.data() /* output */,
2658 threadpool /* threadpool */);
2659 if (status != xnn_status_success) {
2660 std::cerr << "failed to setup operation #6" << std::endl;
2661 return ExecutionPlan();
2662 }
2663
2664 status = xnn_setup_convolution2d_nhwc_f16(
2665 op7,
2666 1 /* batch size */, 56 /* input height */, 56 /* input width */,
2667 v7.data() /* input */, v8.data() /* output */,
2668 threadpool /* threadpool */);
2669 if (status != xnn_status_success) {
2670 std::cerr << "failed to setup operation #7" << std::endl;
2671 return ExecutionPlan();
2672 }
2673
2674 status = xnn_setup_convolution2d_nhwc_f16(
2675 op8,
2676 1 /* batch size */, 56 /* input height */, 56 /* input width */,
2677 v8.data() /* input */, v9.data() /* output */,
2678 threadpool /* threadpool */);
2679 if (status != xnn_status_success) {
2680 std::cerr << "failed to setup operation #8" << std::endl;
2681 return ExecutionPlan();
2682 }
2683
2684 status = xnn_setup_convolution2d_nhwc_f16(
2685 op9,
2686 1 /* batch size */, 56 /* input height */, 56 /* input width */,
2687 v9.data() /* input */, v10.data() /* output */,
2688 threadpool /* threadpool */);
2689 if (status != xnn_status_success) {
2690 std::cerr << "failed to setup operation #9" << std::endl;
2691 return ExecutionPlan();
2692 }
2693
2694 status = xnn_setup_convolution2d_nhwc_f16(
2695 op10,
2696 1 /* batch size */, 56 /* input height */, 56 /* input width */,
2697 v10.data() /* input */, v11.data() /* output */,
2698 threadpool /* threadpool */);
2699 if (status != xnn_status_success) {
2700 std::cerr << "failed to setup operation #10" << std::endl;
2701 return ExecutionPlan();
2702 }
2703
2704 {
2705 const size_t a_shape[] = { 1, 56, 56, 24 };
2706 const size_t b_shape[] = { 1, 56, 56, 24 };
2707 status = xnn_setup_add_nd_f16(
2708 op11,
2709 4, a_shape, 4, b_shape,
2710 v11.data() /* a */, v8.data() /* b */, v12.data() /* output */,
2711 threadpool /* threadpool */);
2712 }
2713 if (status != xnn_status_success) {
2714 std::cerr << "failed to setup operation #11" << std::endl;
2715 return ExecutionPlan();
2716 }
2717
2718 status = xnn_setup_convolution2d_nhwc_f16(
2719 op12,
2720 1 /* batch size */, 56 /* input height */, 56 /* input width */,
2721 v12.data() /* input */, v13.data() /* output */,
2722 threadpool /* threadpool */);
2723 if (status != xnn_status_success) {
2724 std::cerr << "failed to setup operation #12" << std::endl;
2725 return ExecutionPlan();
2726 }
2727
2728 status = xnn_setup_convolution2d_nhwc_f16(
2729 op13,
2730 1 /* batch size */, 56 /* input height */, 56 /* input width */,
2731 v13.data() /* input */, v14.data() /* output */,
2732 threadpool /* threadpool */);
2733 if (status != xnn_status_success) {
2734 std::cerr << "failed to setup operation #13" << std::endl;
2735 return ExecutionPlan();
2736 }
2737
2738 status = xnn_setup_global_average_pooling_nwc_f16(
2739 op14,
2740 1 /* batch size */, 784 /* width */,
2741 v14.data() /* input */, v15.data() /* output */,
2742 threadpool /* threadpool */);
2743 if (status != xnn_status_success) {
2744 std::cerr << "failed to setup operation #14" << std::endl;
2745 return ExecutionPlan();
2746 }
2747
2748 status = xnn_setup_convolution2d_nhwc_f16(
2749 op15,
2750 1 /* batch size */, 1 /* input height */, 1 /* input width */,
2751 v15.data() /* input */, v16.data() /* output */,
2752 threadpool /* threadpool */);
2753 if (status != xnn_status_success) {
2754 std::cerr << "failed to setup operation #15" << std::endl;
2755 return ExecutionPlan();
2756 }
2757
2758 status = xnn_setup_convolution2d_nhwc_f16(
2759 op16,
2760 1 /* batch size */, 1 /* input height */, 1 /* input width */,
2761 v16.data() /* input */, v17.data() /* output */,
2762 threadpool /* threadpool */);
2763 if (status != xnn_status_success) {
2764 std::cerr << "failed to setup operation #16" << std::endl;
2765 return ExecutionPlan();
2766 }
2767
2768 {
2769 const size_t a_shape[] = { 1, 28, 28, 72 };
2770 const size_t b_shape[] = { 1, 1, 1, 72 };
2771 status = xnn_setup_multiply_nd_f16(
2772 op17,
2773 4, a_shape, 4, b_shape,
2774 v14.data() /* a */, v17.data() /* b */, v18.data() /* output */,
2775 threadpool /* threadpool */);
2776 }
2777 if (status != xnn_status_success) {
2778 std::cerr << "failed to setup operation #17" << std::endl;
2779 return ExecutionPlan();
2780 }
2781
2782 status = xnn_setup_convolution2d_nhwc_f16(
2783 op18,
2784 1 /* batch size */, 28 /* input height */, 28 /* input width */,
2785 v18.data() /* input */, v19.data() /* output */,
2786 threadpool /* threadpool */);
2787 if (status != xnn_status_success) {
2788 std::cerr << "failed to setup operation #18" << std::endl;
2789 return ExecutionPlan();
2790 }
2791
2792 status = xnn_setup_convolution2d_nhwc_f16(
2793 op19,
2794 1 /* batch size */, 28 /* input height */, 28 /* input width */,
2795 v19.data() /* input */, v20.data() /* output */,
2796 threadpool /* threadpool */);
2797 if (status != xnn_status_success) {
2798 std::cerr << "failed to setup operation #19" << std::endl;
2799 return ExecutionPlan();
2800 }
2801
2802 status = xnn_setup_convolution2d_nhwc_f16(
2803 op20,
2804 1 /* batch size */, 28 /* input height */, 28 /* input width */,
2805 v20.data() /* input */, v21.data() /* output */,
2806 threadpool /* threadpool */);
2807 if (status != xnn_status_success) {
2808 std::cerr << "failed to setup operation #20" << std::endl;
2809 return ExecutionPlan();
2810 }
2811
2812 status = xnn_setup_global_average_pooling_nwc_f16(
2813 op21,
2814 1 /* batch size */, 784 /* width */,
2815 v21.data() /* input */, v22.data() /* output */,
2816 threadpool /* threadpool */);
2817 if (status != xnn_status_success) {
2818 std::cerr << "failed to setup operation #21" << std::endl;
2819 return ExecutionPlan();
2820 }
2821
2822 status = xnn_setup_convolution2d_nhwc_f16(
2823 op22,
2824 1 /* batch size */, 1 /* input height */, 1 /* input width */,
2825 v22.data() /* input */, v23.data() /* output */,
2826 threadpool /* threadpool */);
2827 if (status != xnn_status_success) {
2828 std::cerr << "failed to setup operation #22" << std::endl;
2829 return ExecutionPlan();
2830 }
2831
2832 status = xnn_setup_convolution2d_nhwc_f16(
2833 op23,
2834 1 /* batch size */, 1 /* input height */, 1 /* input width */,
2835 v23.data() /* input */, v24.data() /* output */,
2836 threadpool /* threadpool */);
2837 if (status != xnn_status_success) {
2838 std::cerr << "failed to setup operation #23" << std::endl;
2839 return ExecutionPlan();
2840 }
2841
2842 {
2843 const size_t a_shape[] = { 1, 28, 28, 120 };
2844 const size_t b_shape[] = { 1, 1, 1, 120 };
2845 status = xnn_setup_multiply_nd_f16(
2846 op24,
2847 4, a_shape, 4, b_shape,
2848 v21.data() /* a */, v24.data() /* b */, v25.data() /* output */,
2849 threadpool /* threadpool */);
2850 }
2851 if (status != xnn_status_success) {
2852 std::cerr << "failed to setup operation #24" << std::endl;
2853 return ExecutionPlan();
2854 }
2855
2856 status = xnn_setup_convolution2d_nhwc_f16(
2857 op25,
2858 1 /* batch size */, 28 /* input height */, 28 /* input width */,
2859 v25.data() /* input */, v26.data() /* output */,
2860 threadpool /* threadpool */);
2861 if (status != xnn_status_success) {
2862 std::cerr << "failed to setup operation #25" << std::endl;
2863 return ExecutionPlan();
2864 }
2865
2866 {
2867 const size_t a_shape[] = { 1, 28, 28, 40 };
2868 const size_t b_shape[] = { 1, 28, 28, 40 };
2869 status = xnn_setup_add_nd_f16(
2870 op26,
2871 4, a_shape, 4, b_shape,
2872 v26.data() /* a */, v19.data() /* b */, v27.data() /* output */,
2873 threadpool /* threadpool */);
2874 }
2875 if (status != xnn_status_success) {
2876 std::cerr << "failed to setup operation #26" << std::endl;
2877 return ExecutionPlan();
2878 }
2879
2880 status = xnn_setup_convolution2d_nhwc_f16(
2881 op27,
2882 1 /* batch size */, 28 /* input height */, 28 /* input width */,
2883 v27.data() /* input */, v28.data() /* output */,
2884 threadpool /* threadpool */);
2885 if (status != xnn_status_success) {
2886 std::cerr << "failed to setup operation #27" << std::endl;
2887 return ExecutionPlan();
2888 }
2889
2890 status = xnn_setup_convolution2d_nhwc_f16(
2891 op28,
2892 1 /* batch size */, 28 /* input height */, 28 /* input width */,
2893 v28.data() /* input */, v29.data() /* output */,
2894 threadpool /* threadpool */);
2895 if (status != xnn_status_success) {
2896 std::cerr << "failed to setup operation #28" << std::endl;
2897 return ExecutionPlan();
2898 }
2899
2900 status = xnn_setup_global_average_pooling_nwc_f16(
2901 op29,
2902 1 /* batch size */, 784 /* width */,
2903 v29.data() /* input */, v30.data() /* output */,
2904 threadpool /* threadpool */);
2905 if (status != xnn_status_success) {
2906 std::cerr << "failed to setup operation #29" << std::endl;
2907 return ExecutionPlan();
2908 }
2909
2910 status = xnn_setup_convolution2d_nhwc_f16(
2911 op30,
2912 1 /* batch size */, 1 /* input height */, 1 /* input width */,
2913 v30.data() /* input */, v31.data() /* output */,
2914 threadpool /* threadpool */);
2915 if (status != xnn_status_success) {
2916 std::cerr << "failed to setup operation #30" << std::endl;
2917 return ExecutionPlan();
2918 }
2919
2920 status = xnn_setup_convolution2d_nhwc_f16(
2921 op31,
2922 1 /* batch size */, 1 /* input height */, 1 /* input width */,
2923 v31.data() /* input */, v32.data() /* output */,
2924 threadpool /* threadpool */);
2925 if (status != xnn_status_success) {
2926 std::cerr << "failed to setup operation #31" << std::endl;
2927 return ExecutionPlan();
2928 }
2929
2930 {
2931 const size_t a_shape[] = { 1, 28, 28, 120 };
2932 const size_t b_shape[] = { 1, 1, 1, 120 };
2933 status = xnn_setup_multiply_nd_f16(
2934 op32,
2935 4, a_shape, 4, b_shape,
2936 v29.data() /* a */, v32.data() /* b */, v33.data() /* output */,
2937 threadpool /* threadpool */);
2938 }
2939 if (status != xnn_status_success) {
2940 std::cerr << "failed to setup operation #32" << std::endl;
2941 return ExecutionPlan();
2942 }
2943
2944 status = xnn_setup_convolution2d_nhwc_f16(
2945 op33,
2946 1 /* batch size */, 28 /* input height */, 28 /* input width */,
2947 v33.data() /* input */, v34.data() /* output */,
2948 threadpool /* threadpool */);
2949 if (status != xnn_status_success) {
2950 std::cerr << "failed to setup operation #33" << std::endl;
2951 return ExecutionPlan();
2952 }
2953
2954 {
2955 const size_t a_shape[] = { 1, 28, 28, 40 };
2956 const size_t b_shape[] = { 1, 28, 28, 40 };
2957 status = xnn_setup_add_nd_f16(
2958 op34,
2959 4, a_shape, 4, b_shape,
2960 v34.data() /* a */, v27.data() /* b */, v35.data() /* output */,
2961 threadpool /* threadpool */);
2962 }
2963 if (status != xnn_status_success) {
2964 std::cerr << "failed to setup operation #34" << std::endl;
2965 return ExecutionPlan();
2966 }
2967
2968 status = xnn_setup_convolution2d_nhwc_f16(
2969 op35,
2970 1 /* batch size */, 28 /* input height */, 28 /* input width */,
2971 v35.data() /* input */, v36.data() /* output */,
2972 threadpool /* threadpool */);
2973 if (status != xnn_status_success) {
2974 std::cerr << "failed to setup operation #35" << std::endl;
2975 return ExecutionPlan();
2976 }
2977
2978 status = xnn_setup_hardswish_nc_f16(
2979 op36,
2980 784 /* batch size */,
2981 v36.data() /* input */, v37.data() /* output */,
2982 threadpool /* threadpool */);
2983 if (status != xnn_status_success) {
2984 std::cerr << "failed to setup operation #36" << std::endl;
2985 return ExecutionPlan();
2986 }
2987
2988 status = xnn_setup_convolution2d_nhwc_f16(
2989 op37,
2990 1 /* batch size */, 28 /* input height */, 28 /* input width */,
2991 v37.data() /* input */, v38.data() /* output */,
2992 threadpool /* threadpool */);
2993 if (status != xnn_status_success) {
2994 std::cerr << "failed to setup operation #37" << std::endl;
2995 return ExecutionPlan();
2996 }
2997
2998 status = xnn_setup_hardswish_nc_f16(
2999 op38,
3000 196 /* batch size */,
3001 v38.data() /* input */, v39.data() /* output */,
3002 threadpool /* threadpool */);
3003 if (status != xnn_status_success) {
3004 std::cerr << "failed to setup operation #38" << std::endl;
3005 return ExecutionPlan();
3006 }
3007
3008 status = xnn_setup_convolution2d_nhwc_f16(
3009 op39,
3010 1 /* batch size */, 14 /* input height */, 14 /* input width */,
3011 v39.data() /* input */, v40.data() /* output */,
3012 threadpool /* threadpool */);
3013 if (status != xnn_status_success) {
3014 std::cerr << "failed to setup operation #39" << std::endl;
3015 return ExecutionPlan();
3016 }
3017
3018 status = xnn_setup_convolution2d_nhwc_f16(
3019 op40,
3020 1 /* batch size */, 14 /* input height */, 14 /* input width */,
3021 v40.data() /* input */, v41.data() /* output */,
3022 threadpool /* threadpool */);
3023 if (status != xnn_status_success) {
3024 std::cerr << "failed to setup operation #40" << std::endl;
3025 return ExecutionPlan();
3026 }
3027
3028 status = xnn_setup_hardswish_nc_f16(
3029 op41,
3030 196 /* batch size */,
3031 v41.data() /* input */, v42.data() /* output */,
3032 threadpool /* threadpool */);
3033 if (status != xnn_status_success) {
3034 std::cerr << "failed to setup operation #41" << std::endl;
3035 return ExecutionPlan();
3036 }
3037
3038 status = xnn_setup_convolution2d_nhwc_f16(
3039 op42,
3040 1 /* batch size */, 14 /* input height */, 14 /* input width */,
3041 v42.data() /* input */, v43.data() /* output */,
3042 threadpool /* threadpool */);
3043 if (status != xnn_status_success) {
3044 std::cerr << "failed to setup operation #42" << std::endl;
3045 return ExecutionPlan();
3046 }
3047
3048 status = xnn_setup_hardswish_nc_f16(
3049 op43,
3050 196 /* batch size */,
3051 v43.data() /* input */, v44.data() /* output */,
3052 threadpool /* threadpool */);
3053 if (status != xnn_status_success) {
3054 std::cerr << "failed to setup operation #43" << std::endl;
3055 return ExecutionPlan();
3056 }
3057
3058 status = xnn_setup_convolution2d_nhwc_f16(
3059 op44,
3060 1 /* batch size */, 14 /* input height */, 14 /* input width */,
3061 v44.data() /* input */, v45.data() /* output */,
3062 threadpool /* threadpool */);
3063 if (status != xnn_status_success) {
3064 std::cerr << "failed to setup operation #44" << std::endl;
3065 return ExecutionPlan();
3066 }
3067
3068 {
3069 const size_t a_shape[] = { 1, 14, 14, 80 };
3070 const size_t b_shape[] = { 1, 14, 14, 80 };
3071 status = xnn_setup_add_nd_f16(
3072 op45,
3073 4, a_shape, 4, b_shape,
3074 v45.data() /* a */, v40.data() /* b */, v46.data() /* output */,
3075 threadpool /* threadpool */);
3076 }
3077 if (status != xnn_status_success) {
3078 std::cerr << "failed to setup operation #45" << std::endl;
3079 return ExecutionPlan();
3080 }
3081
3082 status = xnn_setup_convolution2d_nhwc_f16(
3083 op46,
3084 1 /* batch size */, 14 /* input height */, 14 /* input width */,
3085 v46.data() /* input */, v47.data() /* output */,
3086 threadpool /* threadpool */);
3087 if (status != xnn_status_success) {
3088 std::cerr << "failed to setup operation #46" << std::endl;
3089 return ExecutionPlan();
3090 }
3091
3092 status = xnn_setup_hardswish_nc_f16(
3093 op47,
3094 196 /* batch size */,
3095 v47.data() /* input */, v48.data() /* output */,
3096 threadpool /* threadpool */);
3097 if (status != xnn_status_success) {
3098 std::cerr << "failed to setup operation #47" << std::endl;
3099 return ExecutionPlan();
3100 }
3101
3102 status = xnn_setup_convolution2d_nhwc_f16(
3103 op48,
3104 1 /* batch size */, 14 /* input height */, 14 /* input width */,
3105 v48.data() /* input */, v49.data() /* output */,
3106 threadpool /* threadpool */);
3107 if (status != xnn_status_success) {
3108 std::cerr << "failed to setup operation #48" << std::endl;
3109 return ExecutionPlan();
3110 }
3111
3112 status = xnn_setup_hardswish_nc_f16(
3113 op49,
3114 196 /* batch size */,
3115 v49.data() /* input */, v50.data() /* output */,
3116 threadpool /* threadpool */);
3117 if (status != xnn_status_success) {
3118 std::cerr << "failed to setup operation #49" << std::endl;
3119 return ExecutionPlan();
3120 }
3121
3122 status = xnn_setup_convolution2d_nhwc_f16(
3123 op50,
3124 1 /* batch size */, 14 /* input height */, 14 /* input width */,
3125 v50.data() /* input */, v51.data() /* output */,
3126 threadpool /* threadpool */);
3127 if (status != xnn_status_success) {
3128 std::cerr << "failed to setup operation #50" << std::endl;
3129 return ExecutionPlan();
3130 }
3131
3132 {
3133 const size_t a_shape[] = { 1, 14, 14, 80 };
3134 const size_t b_shape[] = { 1, 14, 14, 80 };
3135 status = xnn_setup_add_nd_f16(
3136 op51,
3137 4, a_shape, 4, b_shape,
3138 v51.data() /* a */, v46.data() /* b */, v52.data() /* output */,
3139 threadpool /* threadpool */);
3140 }
3141 if (status != xnn_status_success) {
3142 std::cerr << "failed to setup operation #51" << std::endl;
3143 return ExecutionPlan();
3144 }
3145
3146 status = xnn_setup_convolution2d_nhwc_f16(
3147 op52,
3148 1 /* batch size */, 14 /* input height */, 14 /* input width */,
3149 v52.data() /* input */, v53.data() /* output */,
3150 threadpool /* threadpool */);
3151 if (status != xnn_status_success) {
3152 std::cerr << "failed to setup operation #52" << std::endl;
3153 return ExecutionPlan();
3154 }
3155
3156 status = xnn_setup_hardswish_nc_f16(
3157 op53,
3158 196 /* batch size */,
3159 v53.data() /* input */, v54.data() /* output */,
3160 threadpool /* threadpool */);
3161 if (status != xnn_status_success) {
3162 std::cerr << "failed to setup operation #53" << std::endl;
3163 return ExecutionPlan();
3164 }
3165
3166 status = xnn_setup_convolution2d_nhwc_f16(
3167 op54,
3168 1 /* batch size */, 14 /* input height */, 14 /* input width */,
3169 v54.data() /* input */, v55.data() /* output */,
3170 threadpool /* threadpool */);
3171 if (status != xnn_status_success) {
3172 std::cerr << "failed to setup operation #54" << std::endl;
3173 return ExecutionPlan();
3174 }
3175
3176 status = xnn_setup_hardswish_nc_f16(
3177 op55,
3178 196 /* batch size */,
3179 v55.data() /* input */, v56.data() /* output */,
3180 threadpool /* threadpool */);
3181 if (status != xnn_status_success) {
3182 std::cerr << "failed to setup operation #55" << std::endl;
3183 return ExecutionPlan();
3184 }
3185
3186 status = xnn_setup_convolution2d_nhwc_f16(
3187 op56,
3188 1 /* batch size */, 14 /* input height */, 14 /* input width */,
3189 v56.data() /* input */, v57.data() /* output */,
3190 threadpool /* threadpool */);
3191 if (status != xnn_status_success) {
3192 std::cerr << "failed to setup operation #56" << std::endl;
3193 return ExecutionPlan();
3194 }
3195
3196 {
3197 const size_t a_shape[] = { 1, 14, 14, 80 };
3198 const size_t b_shape[] = { 1, 14, 14, 80 };
3199 status = xnn_setup_add_nd_f16(
3200 op57,
3201 4, a_shape, 4, b_shape,
3202 v57.data() /* a */, v52.data() /* b */, v58.data() /* output */,
3203 threadpool /* threadpool */);
3204 }
3205 if (status != xnn_status_success) {
3206 std::cerr << "failed to setup operation #57" << std::endl;
3207 return ExecutionPlan();
3208 }
3209
3210 status = xnn_setup_convolution2d_nhwc_f16(
3211 op58,
3212 1 /* batch size */, 14 /* input height */, 14 /* input width */,
3213 v58.data() /* input */, v59.data() /* output */,
3214 threadpool /* threadpool */);
3215 if (status != xnn_status_success) {
3216 std::cerr << "failed to setup operation #58" << std::endl;
3217 return ExecutionPlan();
3218 }
3219
3220 status = xnn_setup_hardswish_nc_f16(
3221 op59,
3222 196 /* batch size */,
3223 v59.data() /* input */, v60.data() /* output */,
3224 threadpool /* threadpool */);
3225 if (status != xnn_status_success) {
3226 std::cerr << "failed to setup operation #59" << std::endl;
3227 return ExecutionPlan();
3228 }
3229
3230 status = xnn_setup_convolution2d_nhwc_f16(
3231 op60,
3232 1 /* batch size */, 14 /* input height */, 14 /* input width */,
3233 v60.data() /* input */, v61.data() /* output */,
3234 threadpool /* threadpool */);
3235 if (status != xnn_status_success) {
3236 std::cerr << "failed to setup operation #60" << std::endl;
3237 return ExecutionPlan();
3238 }
3239
3240 status = xnn_setup_hardswish_nc_f16(
3241 op61,
3242 196 /* batch size */,
3243 v61.data() /* input */, v62.data() /* output */,
3244 threadpool /* threadpool */);
3245 if (status != xnn_status_success) {
3246 std::cerr << "failed to setup operation #61" << std::endl;
3247 return ExecutionPlan();
3248 }
3249
3250 status = xnn_setup_global_average_pooling_nwc_f16(
3251 op62,
3252 1 /* batch size */, 196 /* width */,
3253 v62.data() /* input */, v63.data() /* output */,
3254 threadpool /* threadpool */);
3255 if (status != xnn_status_success) {
3256 std::cerr << "failed to setup operation #62" << std::endl;
3257 return ExecutionPlan();
3258 }
3259
3260 status = xnn_setup_convolution2d_nhwc_f16(
3261 op63,
3262 1 /* batch size */, 1 /* input height */, 1 /* input width */,
3263 v63.data() /* input */, v64.data() /* output */,
3264 threadpool /* threadpool */);
3265 if (status != xnn_status_success) {
3266 std::cerr << "failed to setup operation #63" << std::endl;
3267 return ExecutionPlan();
3268 }
3269
3270 status = xnn_setup_convolution2d_nhwc_f16(
3271 op64,
3272 1 /* batch size */, 1 /* input height */, 1 /* input width */,
3273 v64.data() /* input */, v65.data() /* output */,
3274 threadpool /* threadpool */);
3275 if (status != xnn_status_success) {
3276 std::cerr << "failed to setup operation #64" << std::endl;
3277 return ExecutionPlan();
3278 }
3279
3280 {
3281 const size_t a_shape[] = { 1, 14, 14, 480 };
3282 const size_t b_shape[] = { 1, 1, 1, 480 };
3283 status = xnn_setup_multiply_nd_f16(
3284 op65,
3285 4, a_shape, 4, b_shape,
3286 v62.data() /* a */, v65.data() /* b */, v66.data() /* output */,
3287 threadpool /* threadpool */);
3288 }
3289 if (status != xnn_status_success) {
3290 std::cerr << "failed to setup operation #65" << std::endl;
3291 return ExecutionPlan();
3292 }
3293
3294 status = xnn_setup_convolution2d_nhwc_f16(
3295 op66,
3296 1 /* batch size */, 14 /* input height */, 14 /* input width */,
3297 v66.data() /* input */, v67.data() /* output */,
3298 threadpool /* threadpool */);
3299 if (status != xnn_status_success) {
3300 std::cerr << "failed to setup operation #66" << std::endl;
3301 return ExecutionPlan();
3302 }
3303
3304 status = xnn_setup_convolution2d_nhwc_f16(
3305 op67,
3306 1 /* batch size */, 14 /* input height */, 14 /* input width */,
3307 v67.data() /* input */, v68.data() /* output */,
3308 threadpool /* threadpool */);
3309 if (status != xnn_status_success) {
3310 std::cerr << "failed to setup operation #67" << std::endl;
3311 return ExecutionPlan();
3312 }
3313
3314 status = xnn_setup_hardswish_nc_f16(
3315 op68,
3316 196 /* batch size */,
3317 v68.data() /* input */, v69.data() /* output */,
3318 threadpool /* threadpool */);
3319 if (status != xnn_status_success) {
3320 std::cerr << "failed to setup operation #68" << std::endl;
3321 return ExecutionPlan();
3322 }
3323
3324 status = xnn_setup_convolution2d_nhwc_f16(
3325 op69,
3326 1 /* batch size */, 14 /* input height */, 14 /* input width */,
3327 v69.data() /* input */, v70.data() /* output */,
3328 threadpool /* threadpool */);
3329 if (status != xnn_status_success) {
3330 std::cerr << "failed to setup operation #69" << std::endl;
3331 return ExecutionPlan();
3332 }
3333
3334 status = xnn_setup_hardswish_nc_f16(
3335 op70,
3336 196 /* batch size */,
3337 v70.data() /* input */, v71.data() /* output */,
3338 threadpool /* threadpool */);
3339 if (status != xnn_status_success) {
3340 std::cerr << "failed to setup operation #70" << std::endl;
3341 return ExecutionPlan();
3342 }
3343
3344 status = xnn_setup_global_average_pooling_nwc_f16(
3345 op71,
3346 1 /* batch size */, 196 /* width */,
3347 v71.data() /* input */, v72.data() /* output */,
3348 threadpool /* threadpool */);
3349 if (status != xnn_status_success) {
3350 std::cerr << "failed to setup operation #71" << std::endl;
3351 return ExecutionPlan();
3352 }
3353
3354 status = xnn_setup_convolution2d_nhwc_f16(
3355 op72,
3356 1 /* batch size */, 1 /* input height */, 1 /* input width */,
3357 v72.data() /* input */, v73.data() /* output */,
3358 threadpool /* threadpool */);
3359 if (status != xnn_status_success) {
3360 std::cerr << "failed to setup operation #72" << std::endl;
3361 return ExecutionPlan();
3362 }
3363
3364 status = xnn_setup_convolution2d_nhwc_f16(
3365 op73,
3366 1 /* batch size */, 1 /* input height */, 1 /* input width */,
3367 v73.data() /* input */, v74.data() /* output */,
3368 threadpool /* threadpool */);
3369 if (status != xnn_status_success) {
3370 std::cerr << "failed to setup operation #73" << std::endl;
3371 return ExecutionPlan();
3372 }
3373
3374 {
3375 const size_t a_shape[] = { 1, 14, 14, 672 };
3376 const size_t b_shape[] = { 1, 1, 1, 672 };
3377 status = xnn_setup_multiply_nd_f16(
3378 op74,
3379 4, a_shape, 4, b_shape,
3380 v71.data() /* a */, v74.data() /* b */, v75.data() /* output */,
3381 threadpool /* threadpool */);
3382 }
3383 if (status != xnn_status_success) {
3384 std::cerr << "failed to setup operation #74" << std::endl;
3385 return ExecutionPlan();
3386 }
3387
3388 status = xnn_setup_convolution2d_nhwc_f16(
3389 op75,
3390 1 /* batch size */, 14 /* input height */, 14 /* input width */,
3391 v75.data() /* input */, v76.data() /* output */,
3392 threadpool /* threadpool */);
3393 if (status != xnn_status_success) {
3394 std::cerr << "failed to setup operation #75" << std::endl;
3395 return ExecutionPlan();
3396 }
3397
3398 {
3399 const size_t a_shape[] = { 1, 14, 14, 112 };
3400 const size_t b_shape[] = { 1, 14, 14, 112 };
3401 status = xnn_setup_add_nd_f16(
3402 op76,
3403 4, a_shape, 4, b_shape,
3404 v76.data() /* a */, v67.data() /* b */, v77.data() /* output */,
3405 threadpool /* threadpool */);
3406 }
3407 if (status != xnn_status_success) {
3408 std::cerr << "failed to setup operation #76" << std::endl;
3409 return ExecutionPlan();
3410 }
3411
3412 status = xnn_setup_convolution2d_nhwc_f16(
3413 op77,
3414 1 /* batch size */, 14 /* input height */, 14 /* input width */,
3415 v77.data() /* input */, v78.data() /* output */,
3416 threadpool /* threadpool */);
3417 if (status != xnn_status_success) {
3418 std::cerr << "failed to setup operation #77" << std::endl;
3419 return ExecutionPlan();
3420 }
3421
3422 status = xnn_setup_hardswish_nc_f16(
3423 op78,
3424 196 /* batch size */,
3425 v78.data() /* input */, v79.data() /* output */,
3426 threadpool /* threadpool */);
3427 if (status != xnn_status_success) {
3428 std::cerr << "failed to setup operation #78" << std::endl;
3429 return ExecutionPlan();
3430 }
3431
3432 status = xnn_setup_convolution2d_nhwc_f16(
3433 op79,
3434 1 /* batch size */, 14 /* input height */, 14 /* input width */,
3435 v79.data() /* input */, v80.data() /* output */,
3436 threadpool /* threadpool */);
3437 if (status != xnn_status_success) {
3438 std::cerr << "failed to setup operation #79" << std::endl;
3439 return ExecutionPlan();
3440 }
3441
3442 status = xnn_setup_hardswish_nc_f16(
3443 op80,
3444 49 /* batch size */,
3445 v80.data() /* input */, v81.data() /* output */,
3446 threadpool /* threadpool */);
3447 if (status != xnn_status_success) {
3448 std::cerr << "failed to setup operation #80" << std::endl;
3449 return ExecutionPlan();
3450 }
3451
3452 status = xnn_setup_global_average_pooling_nwc_f16(
3453 op81,
3454 1 /* batch size */, 49 /* width */,
3455 v81.data() /* input */, v82.data() /* output */,
3456 threadpool /* threadpool */);
3457 if (status != xnn_status_success) {
3458 std::cerr << "failed to setup operation #81" << std::endl;
3459 return ExecutionPlan();
3460 }
3461
3462 status = xnn_setup_convolution2d_nhwc_f16(
3463 op82,
3464 1 /* batch size */, 1 /* input height */, 1 /* input width */,
3465 v82.data() /* input */, v83.data() /* output */,
3466 threadpool /* threadpool */);
3467 if (status != xnn_status_success) {
3468 std::cerr << "failed to setup operation #82" << std::endl;
3469 return ExecutionPlan();
3470 }
3471
3472 status = xnn_setup_convolution2d_nhwc_f16(
3473 op83,
3474 1 /* batch size */, 1 /* input height */, 1 /* input width */,
3475 v83.data() /* input */, v84.data() /* output */,
3476 threadpool /* threadpool */);
3477 if (status != xnn_status_success) {
3478 std::cerr << "failed to setup operation #83" << std::endl;
3479 return ExecutionPlan();
3480 }
3481
3482 {
3483 const size_t a_shape[] = { 1, 7, 7, 672 };
3484 const size_t b_shape[] = { 1, 1, 1, 672 };
3485 status = xnn_setup_multiply_nd_f16(
3486 op84,
3487 4, a_shape, 4, b_shape,
3488 v81.data() /* a */, v84.data() /* b */, v85.data() /* output */,
3489 threadpool /* threadpool */);
3490 }
3491 if (status != xnn_status_success) {
3492 std::cerr << "failed to setup operation #84" << std::endl;
3493 return ExecutionPlan();
3494 }
3495
3496 status = xnn_setup_convolution2d_nhwc_f16(
3497 op85,
3498 1 /* batch size */, 7 /* input height */, 7 /* input width */,
3499 v85.data() /* input */, v86.data() /* output */,
3500 threadpool /* threadpool */);
3501 if (status != xnn_status_success) {
3502 std::cerr << "failed to setup operation #85" << std::endl;
3503 return ExecutionPlan();
3504 }
3505
3506 status = xnn_setup_convolution2d_nhwc_f16(
3507 op86,
3508 1 /* batch size */, 7 /* input height */, 7 /* input width */,
3509 v86.data() /* input */, v87.data() /* output */,
3510 threadpool /* threadpool */);
3511 if (status != xnn_status_success) {
3512 std::cerr << "failed to setup operation #86" << std::endl;
3513 return ExecutionPlan();
3514 }
3515
3516 status = xnn_setup_hardswish_nc_f16(
3517 op87,
3518 49 /* batch size */,
3519 v87.data() /* input */, v88.data() /* output */,
3520 threadpool /* threadpool */);
3521 if (status != xnn_status_success) {
3522 std::cerr << "failed to setup operation #87" << std::endl;
3523 return ExecutionPlan();
3524 }
3525
3526 status = xnn_setup_convolution2d_nhwc_f16(
3527 op88,
3528 1 /* batch size */, 7 /* input height */, 7 /* input width */,
3529 v88.data() /* input */, v89.data() /* output */,
3530 threadpool /* threadpool */);
3531 if (status != xnn_status_success) {
3532 std::cerr << "failed to setup operation #88" << std::endl;
3533 return ExecutionPlan();
3534 }
3535
3536 status = xnn_setup_hardswish_nc_f16(
3537 op89,
3538 49 /* batch size */,
3539 v89.data() /* input */, v90.data() /* output */,
3540 threadpool /* threadpool */);
3541 if (status != xnn_status_success) {
3542 std::cerr << "failed to setup operation #89" << std::endl;
3543 return ExecutionPlan();
3544 }
3545
3546 status = xnn_setup_global_average_pooling_nwc_f16(
3547 op90,
3548 1 /* batch size */, 49 /* width */,
3549 v90.data() /* input */, v91.data() /* output */,
3550 threadpool /* threadpool */);
3551 if (status != xnn_status_success) {
3552 std::cerr << "failed to setup operation #90" << std::endl;
3553 return ExecutionPlan();
3554 }
3555
3556 status = xnn_setup_convolution2d_nhwc_f16(
3557 op91,
3558 1 /* batch size */, 1 /* input height */, 1 /* input width */,
3559 v91.data() /* input */, v92.data() /* output */,
3560 threadpool /* threadpool */);
3561 if (status != xnn_status_success) {
3562 std::cerr << "failed to setup operation #91" << std::endl;
3563 return ExecutionPlan();
3564 }
3565
3566 status = xnn_setup_convolution2d_nhwc_f16(
3567 op92,
3568 1 /* batch size */, 1 /* input height */, 1 /* input width */,
3569 v92.data() /* input */, v93.data() /* output */,
3570 threadpool /* threadpool */);
3571 if (status != xnn_status_success) {
3572 std::cerr << "failed to setup operation #92" << std::endl;
3573 return ExecutionPlan();
3574 }
3575
3576 {
3577 const size_t a_shape[] = { 1, 7, 7, 960 };
3578 const size_t b_shape[] = { 1, 1, 1, 960 };
3579 status = xnn_setup_multiply_nd_f16(
3580 op93,
3581 4, a_shape, 4, b_shape,
3582 v90.data() /* a */, v93.data() /* b */, v94.data() /* output */,
3583 threadpool /* threadpool */);
3584 }
3585 if (status != xnn_status_success) {
3586 std::cerr << "failed to setup operation #93" << std::endl;
3587 return ExecutionPlan();
3588 }
3589
3590 status = xnn_setup_convolution2d_nhwc_f16(
3591 op94,
3592 1 /* batch size */, 7 /* input height */, 7 /* input width */,
3593 v94.data() /* input */, v95.data() /* output */,
3594 threadpool /* threadpool */);
3595 if (status != xnn_status_success) {
3596 std::cerr << "failed to setup operation #94" << std::endl;
3597 return ExecutionPlan();
3598 }
3599
3600 {
3601 const size_t a_shape[] = { 1, 7, 7, 160 };
3602 const size_t b_shape[] = { 1, 7, 7, 160 };
3603 status = xnn_setup_add_nd_f16(
3604 op95,
3605 4, a_shape, 4, b_shape,
3606 v95.data() /* a */, v86.data() /* b */, v96.data() /* output */,
3607 threadpool /* threadpool */);
3608 }
3609 if (status != xnn_status_success) {
3610 std::cerr << "failed to setup operation #95" << std::endl;
3611 return ExecutionPlan();
3612 }
3613
3614 status = xnn_setup_convolution2d_nhwc_f16(
3615 op96,
3616 1 /* batch size */, 7 /* input height */, 7 /* input width */,
3617 v96.data() /* input */, v97.data() /* output */,
3618 threadpool /* threadpool */);
3619 if (status != xnn_status_success) {
3620 std::cerr << "failed to setup operation #96" << std::endl;
3621 return ExecutionPlan();
3622 }
3623
3624 status = xnn_setup_hardswish_nc_f16(
3625 op97,
3626 49 /* batch size */,
3627 v97.data() /* input */, v98.data() /* output */,
3628 threadpool /* threadpool */);
3629 if (status != xnn_status_success) {
3630 std::cerr << "failed to setup operation #97" << std::endl;
3631 return ExecutionPlan();
3632 }
3633
3634 status = xnn_setup_convolution2d_nhwc_f16(
3635 op98,
3636 1 /* batch size */, 7 /* input height */, 7 /* input width */,
3637 v98.data() /* input */, v99.data() /* output */,
3638 threadpool /* threadpool */);
3639 if (status != xnn_status_success) {
3640 std::cerr << "failed to setup operation #98" << std::endl;
3641 return ExecutionPlan();
3642 }
3643
3644 status = xnn_setup_hardswish_nc_f16(
3645 op99,
3646 49 /* batch size */,
3647 v99.data() /* input */, v100.data() /* output */,
3648 threadpool /* threadpool */);
3649 if (status != xnn_status_success) {
3650 std::cerr << "failed to setup operation #99" << std::endl;
3651 return ExecutionPlan();
3652 }
3653
3654 status = xnn_setup_global_average_pooling_nwc_f16(
3655 op100,
3656 1 /* batch size */, 49 /* width */,
3657 v100.data() /* input */, v101.data() /* output */,
3658 threadpool /* threadpool */);
3659 if (status != xnn_status_success) {
3660 std::cerr << "failed to setup operation #100" << std::endl;
3661 return ExecutionPlan();
3662 }
3663
3664 status = xnn_setup_convolution2d_nhwc_f16(
3665 op101,
3666 1 /* batch size */, 1 /* input height */, 1 /* input width */,
3667 v101.data() /* input */, v102.data() /* output */,
3668 threadpool /* threadpool */);
3669 if (status != xnn_status_success) {
3670 std::cerr << "failed to setup operation #101" << std::endl;
3671 return ExecutionPlan();
3672 }
3673
3674 status = xnn_setup_convolution2d_nhwc_f16(
3675 op102,
3676 1 /* batch size */, 1 /* input height */, 1 /* input width */,
3677 v102.data() /* input */, v103.data() /* output */,
3678 threadpool /* threadpool */);
3679 if (status != xnn_status_success) {
3680 std::cerr << "failed to setup operation #102" << std::endl;
3681 return ExecutionPlan();
3682 }
3683
3684 {
3685 const size_t a_shape[] = { 1, 7, 7, 960 };
3686 const size_t b_shape[] = { 1, 1, 1, 960 };
3687 status = xnn_setup_multiply_nd_f16(
3688 op103,
3689 4, a_shape, 4, b_shape,
3690 v100.data() /* a */, v103.data() /* b */, v104.data() /* output */,
3691 threadpool /* threadpool */);
3692 }
3693 if (status != xnn_status_success) {
3694 std::cerr << "failed to setup operation #103" << std::endl;
3695 return ExecutionPlan();
3696 }
3697
3698 status = xnn_setup_convolution2d_nhwc_f16(
3699 op104,
3700 1 /* batch size */, 7 /* input height */, 7 /* input width */,
3701 v104.data() /* input */, v105.data() /* output */,
3702 threadpool /* threadpool */);
3703 if (status != xnn_status_success) {
3704 std::cerr << "failed to setup operation #104" << std::endl;
3705 return ExecutionPlan();
3706 }
3707
3708 {
3709 const size_t a_shape[] = { 1, 7, 7, 160 };
3710 const size_t b_shape[] = { 1, 7, 7, 160 };
3711 status = xnn_setup_add_nd_f16(
3712 op105,
3713 4, a_shape, 4, b_shape,
3714 v105.data() /* a */, v96.data() /* b */, v106.data() /* output */,
3715 threadpool /* threadpool */);
3716 }
3717 if (status != xnn_status_success) {
3718 std::cerr << "failed to setup operation #105" << std::endl;
3719 return ExecutionPlan();
3720 }
3721
3722 status = xnn_setup_convolution2d_nhwc_f16(
3723 op106,
3724 1 /* batch size */, 7 /* input height */, 7 /* input width */,
3725 v106.data() /* input */, v107.data() /* output */,
3726 threadpool /* threadpool */);
3727 if (status != xnn_status_success) {
3728 std::cerr << "failed to setup operation #106" << std::endl;
3729 return ExecutionPlan();
3730 }
3731
3732 status = xnn_setup_hardswish_nc_f16(
3733 op107,
3734 49 /* batch size */,
3735 v107.data() /* input */, v108.data() /* output */,
3736 threadpool /* threadpool */);
3737 if (status != xnn_status_success) {
3738 std::cerr << "failed to setup operation #107" << std::endl;
3739 return ExecutionPlan();
3740 }
3741
3742 status = xnn_setup_global_average_pooling_nwc_f16(
3743 op108,
3744 1 /* batch size */, 49 /* width */,
3745 v108.data() /* input */, v109.data() /* output */,
3746 threadpool /* threadpool */);
3747 if (status != xnn_status_success) {
3748 std::cerr << "failed to setup operation #108" << std::endl;
3749 return ExecutionPlan();
3750 }
3751
3752 status = xnn_setup_convolution2d_nhwc_f16(
3753 op109,
3754 1 /* batch size */, 1 /* input height */, 1 /* input width */,
3755 v109.data() /* input */, v110.data() /* output */,
3756 threadpool /* threadpool */);
3757 if (status != xnn_status_success) {
3758 std::cerr << "failed to setup operation #109" << std::endl;
3759 return ExecutionPlan();
3760 }
3761
3762 status = xnn_setup_hardswish_nc_f16(
3763 op110,
3764 1 /* batch size */,
3765 v110.data() /* input */, v111.data() /* output */,
3766 threadpool /* threadpool */);
3767 if (status != xnn_status_success) {
3768 std::cerr << "failed to setup operation #110" << std::endl;
3769 return ExecutionPlan();
3770 }
3771
3772 status = xnn_setup_global_average_pooling_nwc_f16(
3773 op111,
3774 1 /* batch size */, 1 /* width */,
3775 v111.data() /* input */, v112.data() /* output */,
3776 threadpool /* threadpool */);
3777 if (status != xnn_status_success) {
3778 std::cerr << "failed to setup operation #111" << std::endl;
3779 return ExecutionPlan();
3780 }
3781
3782 status = xnn_setup_convolution2d_nhwc_f16(
3783 op112,
3784 1 /* batch size */, 1 /* input height */, 1 /* input width */,
3785 v112.data() /* input */, v113.data() /* output */,
3786 threadpool /* threadpool */);
3787 if (status != xnn_status_success) {
3788 std::cerr << "failed to setup operation #112" << std::endl;
3789 return ExecutionPlan();
3790 }
3791
3792 #pragma clang diagnostic push
3793 #pragma clang diagnostic ignored "-Wpessimizing-move"
3794 return operators;
3795 #pragma clang diagnostic pop
3796 }
3797
3798 } // namespace models
3799