blob: 4af3e488ff7ac0154b5c461fb062469a77d730ad [file] [log] [blame]
Marat Dukhanb2164a32020-06-04 19:05:27 -07001// Copyright 2020 Google LLC
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002//
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
Marat Dukhan52e061d2021-03-09 00:02:44 -08008#include <array>
Marat Dukhanc08cdf52019-12-09 09:17:51 -08009#include <algorithm>
10#include <functional>
11#include <iostream>
12#include <limits>
13#include <random>
14
15#include "models/models.h"
16
17namespace models {
18
Marat Dukhan270a2c42020-06-26 16:45:52 -070019ExecutionPlan FP32MobileNetV3Small(pthreadpool_t threadpool) {
Marat Dukhan52e061d2021-03-09 00:02:44 -080020 alignas(16) static std::array<float, 150528> v0;
21 alignas(16) static std::array<float, 200704> v1;
22 alignas(16) static std::array<float, 200704> v2;
23 alignas(16) static std::array<float, 50176> v3;
24 alignas(16) static std::array<float, 16> v4;
25 alignas(16) static std::array<float, 8> v5;
26 alignas(16) static std::array<float, 16> v6;
27 alignas(16) static std::array<float, 50176> v7;
28 alignas(16) static std::array<float, 50176> v8;
29 alignas(16) static std::array<float, 225792> v9;
30 alignas(16) static std::array<float, 56448> v10;
31 alignas(16) static std::array<float, 18816> v11;
32 alignas(16) static std::array<float, 68992> v12;
33 alignas(16) static std::array<float, 68992> v13;
34 alignas(16) static std::array<float, 18816> v14;
35 alignas(16) static std::array<float, 18816> v15;
36 alignas(16) static std::array<float, 75264> v16;
37 alignas(16) static std::array<float, 75264> v17;
38 alignas(16) static std::array<float, 18816> v18;
39 alignas(16) static std::array<float, 18816> v19;
40 alignas(16) static std::array<float, 96> v20;
41 alignas(16) static std::array<float, 24> v21;
42 alignas(16) static std::array<float, 96> v22;
43 alignas(16) static std::array<float, 18816> v23;
44 alignas(16) static std::array<float, 7840> v24;
45 alignas(16) static std::array<float, 47040> v25;
46 alignas(16) static std::array<float, 47040> v26;
47 alignas(16) static std::array<float, 47040> v27;
48 alignas(16) static std::array<float, 47040> v28;
49 alignas(16) static std::array<float, 240> v29;
50 alignas(16) static std::array<float, 64> v30;
51 alignas(16) static std::array<float, 240> v31;
52 alignas(16) static std::array<float, 47040> v32;
53 alignas(16) static std::array<float, 7840> v33;
54 alignas(16) static std::array<float, 7840> v34;
55 alignas(16) static std::array<float, 47040> v35;
56 alignas(16) static std::array<float, 47040> v36;
57 alignas(16) static std::array<float, 47040> v37;
58 alignas(16) static std::array<float, 47040> v38;
59 alignas(16) static std::array<float, 240> v39;
60 alignas(16) static std::array<float, 64> v40;
61 alignas(16) static std::array<float, 240> v41;
62 alignas(16) static std::array<float, 47040> v42;
63 alignas(16) static std::array<float, 7840> v43;
64 alignas(16) static std::array<float, 7840> v44;
65 alignas(16) static std::array<float, 23520> v45;
66 alignas(16) static std::array<float, 23520> v46;
67 alignas(16) static std::array<float, 23520> v47;
68 alignas(16) static std::array<float, 23520> v48;
69 alignas(16) static std::array<float, 120> v49;
70 alignas(16) static std::array<float, 32> v50;
71 alignas(16) static std::array<float, 120> v51;
72 alignas(16) static std::array<float, 23520> v52;
73 alignas(16) static std::array<float, 9408> v53;
74 alignas(16) static std::array<float, 28224> v54;
75 alignas(16) static std::array<float, 28224> v55;
76 alignas(16) static std::array<float, 28224> v56;
77 alignas(16) static std::array<float, 28224> v57;
78 alignas(16) static std::array<float, 144> v58;
79 alignas(16) static std::array<float, 40> v59;
80 alignas(16) static std::array<float, 144> v60;
81 alignas(16) static std::array<float, 28224> v61;
82 alignas(16) static std::array<float, 9408> v62;
83 alignas(16) static std::array<float, 9408> v63;
84 alignas(16) static std::array<float, 56448> v64;
85 alignas(16) static std::array<float, 56448> v65;
86 alignas(16) static std::array<float, 14112> v66;
87 alignas(16) static std::array<float, 14112> v67;
88 alignas(16) static std::array<float, 288> v68;
89 alignas(16) static std::array<float, 72> v69;
90 alignas(16) static std::array<float, 288> v70;
91 alignas(16) static std::array<float, 14112> v71;
92 alignas(16) static std::array<float, 4704> v72;
93 alignas(16) static std::array<float, 28224> v73;
94 alignas(16) static std::array<float, 28224> v74;
95 alignas(16) static std::array<float, 28224> v75;
96 alignas(16) static std::array<float, 28224> v76;
97 alignas(16) static std::array<float, 576> v77;
98 alignas(16) static std::array<float, 144> v78;
99 alignas(16) static std::array<float, 576> v79;
100 alignas(16) static std::array<float, 28224> v80;
101 alignas(16) static std::array<float, 4704> v81;
102 alignas(16) static std::array<float, 4704> v82;
103 alignas(16) static std::array<float, 28224> v83;
104 alignas(16) static std::array<float, 28224> v84;
105 alignas(16) static std::array<float, 28224> v85;
106 alignas(16) static std::array<float, 28224> v86;
107 alignas(16) static std::array<float, 576> v87;
108 alignas(16) static std::array<float, 144> v88;
109 alignas(16) static std::array<float, 576> v89;
110 alignas(16) static std::array<float, 28224> v90;
111 alignas(16) static std::array<float, 4704> v91;
112 alignas(16) static std::array<float, 4704> v92;
113 alignas(16) static std::array<float, 28224> v93;
114 alignas(16) static std::array<float, 28224> v94;
115 alignas(16) static std::array<float, 576> v95;
116 alignas(16) static std::array<float, 1024> v96;
117 alignas(16) static std::array<float, 1024> v97;
118 alignas(16) static std::array<float, 1024> v98;
119 alignas(16) static std::array<float, 1001> v99;
120 alignas(16) static std::array<float, 432> w100;
121 alignas(16) static std::array<float, 16> w101;
122 alignas(16) static std::array<float, 144> w102;
123 alignas(16) static std::array<float, 16> w103;
124 alignas(16) static std::array<float, 128> w104;
125 alignas(16) static std::array<float, 8> w105;
126 alignas(16) static std::array<float, 128> w106;
127 alignas(16) static std::array<float, 16> w107;
128 alignas(16) static std::array<float, 256> w108;
129 alignas(16) static std::array<float, 16> w109;
130 alignas(16) static std::array<float, 1152> w110;
131 alignas(16) static std::array<float, 72> w111;
132 alignas(16) static std::array<float, 648> w112;
133 alignas(16) static std::array<float, 72> w113;
134 alignas(16) static std::array<float, 1728> w114;
135 alignas(16) static std::array<float, 24> w115;
136 alignas(16) static std::array<float, 2112> w116;
137 alignas(16) static std::array<float, 88> w117;
138 alignas(16) static std::array<float, 792> w118;
139 alignas(16) static std::array<float, 88> w119;
140 alignas(16) static std::array<float, 2112> w120;
141 alignas(16) static std::array<float, 24> w121;
142 alignas(16) static std::array<float, 2304> w122;
143 alignas(16) static std::array<float, 96> w123;
144 alignas(16) static std::array<float, 2400> w124;
145 alignas(16) static std::array<float, 96> w125;
146 alignas(16) static std::array<float, 2304> w126;
147 alignas(16) static std::array<float, 24> w127;
148 alignas(16) static std::array<float, 2304> w128;
149 alignas(16) static std::array<float, 96> w129;
150 alignas(16) static std::array<float, 3840> w130;
151 alignas(16) static std::array<float, 40> w131;
152 alignas(16) static std::array<float, 9600> w132;
153 alignas(16) static std::array<float, 240> w133;
154 alignas(16) static std::array<float, 6000> w134;
155 alignas(16) static std::array<float, 240> w135;
156 alignas(16) static std::array<float, 15360> w136;
157 alignas(16) static std::array<float, 64> w137;
158 alignas(16) static std::array<float, 15360> w138;
159 alignas(16) static std::array<float, 240> w139;
160 alignas(16) static std::array<float, 9600> w140;
161 alignas(16) static std::array<float, 40> w141;
162 alignas(16) static std::array<float, 9600> w142;
163 alignas(16) static std::array<float, 240> w143;
164 alignas(16) static std::array<float, 6000> w144;
165 alignas(16) static std::array<float, 240> w145;
166 alignas(16) static std::array<float, 15360> w146;
167 alignas(16) static std::array<float, 64> w147;
168 alignas(16) static std::array<float, 15360> w148;
169 alignas(16) static std::array<float, 240> w149;
170 alignas(16) static std::array<float, 9600> w150;
171 alignas(16) static std::array<float, 40> w151;
172 alignas(16) static std::array<float, 4800> w152;
173 alignas(16) static std::array<float, 120> w153;
174 alignas(16) static std::array<float, 3000> w154;
175 alignas(16) static std::array<float, 120> w155;
176 alignas(16) static std::array<float, 3840> w156;
177 alignas(16) static std::array<float, 32> w157;
178 alignas(16) static std::array<float, 3840> w158;
179 alignas(16) static std::array<float, 120> w159;
180 alignas(16) static std::array<float, 5760> w160;
181 alignas(16) static std::array<float, 48> w161;
182 alignas(16) static std::array<float, 6912> w162;
183 alignas(16) static std::array<float, 144> w163;
184 alignas(16) static std::array<float, 3600> w164;
185 alignas(16) static std::array<float, 144> w165;
186 alignas(16) static std::array<float, 5760> w166;
187 alignas(16) static std::array<float, 40> w167;
188 alignas(16) static std::array<float, 5760> w168;
189 alignas(16) static std::array<float, 144> w169;
190 alignas(16) static std::array<float, 6912> w170;
191 alignas(16) static std::array<float, 48> w171;
192 alignas(16) static std::array<float, 13824> w172;
193 alignas(16) static std::array<float, 288> w173;
194 alignas(16) static std::array<float, 7200> w174;
195 alignas(16) static std::array<float, 288> w175;
196 alignas(16) static std::array<float, 20736> w176;
197 alignas(16) static std::array<float, 72> w177;
198 alignas(16) static std::array<float, 20736> w178;
199 alignas(16) static std::array<float, 288> w179;
200 alignas(16) static std::array<float, 27648> w180;
201 alignas(16) static std::array<float, 96> w181;
202 alignas(16) static std::array<float, 55296> w182;
203 alignas(16) static std::array<float, 576> w183;
204 alignas(16) static std::array<float, 14400> w184;
205 alignas(16) static std::array<float, 576> w185;
206 alignas(16) static std::array<float, 82944> w186;
207 alignas(16) static std::array<float, 144> w187;
208 alignas(16) static std::array<float, 82944> w188;
209 alignas(16) static std::array<float, 576> w189;
210 alignas(16) static std::array<float, 55296> w190;
211 alignas(16) static std::array<float, 96> w191;
212 alignas(16) static std::array<float, 55296> w192;
213 alignas(16) static std::array<float, 576> w193;
214 alignas(16) static std::array<float, 14400> w194;
215 alignas(16) static std::array<float, 576> w195;
216 alignas(16) static std::array<float, 82944> w196;
217 alignas(16) static std::array<float, 144> w197;
218 alignas(16) static std::array<float, 82944> w198;
219 alignas(16) static std::array<float, 576> w199;
220 alignas(16) static std::array<float, 55296> w200;
221 alignas(16) static std::array<float, 96> w201;
222 alignas(16) static std::array<float, 55296> w202;
223 alignas(16) static std::array<float, 576> w203;
224 alignas(16) static std::array<float, 589824> w204;
225 alignas(16) static std::array<float, 1024> w205;
226 alignas(16) static std::array<float, 1025024> w206;
227 alignas(16) static std::array<float, 1001> w207;
Marat Dukhanc08cdf52019-12-09 09:17:51 -0800228
229 std::random_device random_device;
230 auto rng = std::mt19937(random_device());
Marat Dukhan43cb20e2020-06-25 20:18:54 -0700231 auto f32rng = std::bind(std::uniform_real_distribution<float>(-1.0f, +1.0f), std::ref(rng));
Marat Dukhan52e061d2021-03-09 00:02:44 -0800232 std::generate(v0.begin(), v0.end(), std::ref(f32rng));
233 std::generate(v1.begin(), v1.end(), std::ref(f32rng));
234 std::generate(v2.begin(), v2.end(), std::ref(f32rng));
235 std::generate(v3.begin(), v3.end(), std::ref(f32rng));
236 std::generate(v4.begin(), v4.end(), std::ref(f32rng));
237 std::generate(v5.begin(), v5.end(), std::ref(f32rng));
238 std::generate(v6.begin(), v6.end(), std::ref(f32rng));
239 std::generate(v7.begin(), v7.end(), std::ref(f32rng));
240 std::generate(v8.begin(), v8.end(), std::ref(f32rng));
241 std::generate(v9.begin(), v9.end(), std::ref(f32rng));
242 std::generate(v10.begin(), v10.end(), std::ref(f32rng));
243 std::generate(v11.begin(), v11.end(), std::ref(f32rng));
244 std::generate(v12.begin(), v12.end(), std::ref(f32rng));
245 std::generate(v13.begin(), v13.end(), std::ref(f32rng));
246 std::generate(v14.begin(), v14.end(), std::ref(f32rng));
247 std::generate(v15.begin(), v15.end(), std::ref(f32rng));
248 std::generate(v16.begin(), v16.end(), std::ref(f32rng));
249 std::generate(v17.begin(), v17.end(), std::ref(f32rng));
250 std::generate(v18.begin(), v18.end(), std::ref(f32rng));
251 std::generate(v19.begin(), v19.end(), std::ref(f32rng));
252 std::generate(v20.begin(), v20.end(), std::ref(f32rng));
253 std::generate(v21.begin(), v21.end(), std::ref(f32rng));
254 std::generate(v22.begin(), v22.end(), std::ref(f32rng));
255 std::generate(v23.begin(), v23.end(), std::ref(f32rng));
256 std::generate(v24.begin(), v24.end(), std::ref(f32rng));
257 std::generate(v25.begin(), v25.end(), std::ref(f32rng));
258 std::generate(v26.begin(), v26.end(), std::ref(f32rng));
259 std::generate(v27.begin(), v27.end(), std::ref(f32rng));
260 std::generate(v28.begin(), v28.end(), std::ref(f32rng));
261 std::generate(v29.begin(), v29.end(), std::ref(f32rng));
262 std::generate(v30.begin(), v30.end(), std::ref(f32rng));
263 std::generate(v31.begin(), v31.end(), std::ref(f32rng));
264 std::generate(v32.begin(), v32.end(), std::ref(f32rng));
265 std::generate(v33.begin(), v33.end(), std::ref(f32rng));
266 std::generate(v34.begin(), v34.end(), std::ref(f32rng));
267 std::generate(v35.begin(), v35.end(), std::ref(f32rng));
268 std::generate(v36.begin(), v36.end(), std::ref(f32rng));
269 std::generate(v37.begin(), v37.end(), std::ref(f32rng));
270 std::generate(v38.begin(), v38.end(), std::ref(f32rng));
271 std::generate(v39.begin(), v39.end(), std::ref(f32rng));
272 std::generate(v40.begin(), v40.end(), std::ref(f32rng));
273 std::generate(v41.begin(), v41.end(), std::ref(f32rng));
274 std::generate(v42.begin(), v42.end(), std::ref(f32rng));
275 std::generate(v43.begin(), v43.end(), std::ref(f32rng));
276 std::generate(v44.begin(), v44.end(), std::ref(f32rng));
277 std::generate(v45.begin(), v45.end(), std::ref(f32rng));
278 std::generate(v46.begin(), v46.end(), std::ref(f32rng));
279 std::generate(v47.begin(), v47.end(), std::ref(f32rng));
280 std::generate(v48.begin(), v48.end(), std::ref(f32rng));
281 std::generate(v49.begin(), v49.end(), std::ref(f32rng));
282 std::generate(v50.begin(), v50.end(), std::ref(f32rng));
283 std::generate(v51.begin(), v51.end(), std::ref(f32rng));
284 std::generate(v52.begin(), v52.end(), std::ref(f32rng));
285 std::generate(v53.begin(), v53.end(), std::ref(f32rng));
286 std::generate(v54.begin(), v54.end(), std::ref(f32rng));
287 std::generate(v55.begin(), v55.end(), std::ref(f32rng));
288 std::generate(v56.begin(), v56.end(), std::ref(f32rng));
289 std::generate(v57.begin(), v57.end(), std::ref(f32rng));
290 std::generate(v58.begin(), v58.end(), std::ref(f32rng));
291 std::generate(v59.begin(), v59.end(), std::ref(f32rng));
292 std::generate(v60.begin(), v60.end(), std::ref(f32rng));
293 std::generate(v61.begin(), v61.end(), std::ref(f32rng));
294 std::generate(v62.begin(), v62.end(), std::ref(f32rng));
295 std::generate(v63.begin(), v63.end(), std::ref(f32rng));
296 std::generate(v64.begin(), v64.end(), std::ref(f32rng));
297 std::generate(v65.begin(), v65.end(), std::ref(f32rng));
298 std::generate(v66.begin(), v66.end(), std::ref(f32rng));
299 std::generate(v67.begin(), v67.end(), std::ref(f32rng));
300 std::generate(v68.begin(), v68.end(), std::ref(f32rng));
301 std::generate(v69.begin(), v69.end(), std::ref(f32rng));
302 std::generate(v70.begin(), v70.end(), std::ref(f32rng));
303 std::generate(v71.begin(), v71.end(), std::ref(f32rng));
304 std::generate(v72.begin(), v72.end(), std::ref(f32rng));
305 std::generate(v73.begin(), v73.end(), std::ref(f32rng));
306 std::generate(v74.begin(), v74.end(), std::ref(f32rng));
307 std::generate(v75.begin(), v75.end(), std::ref(f32rng));
308 std::generate(v76.begin(), v76.end(), std::ref(f32rng));
309 std::generate(v77.begin(), v77.end(), std::ref(f32rng));
310 std::generate(v78.begin(), v78.end(), std::ref(f32rng));
311 std::generate(v79.begin(), v79.end(), std::ref(f32rng));
312 std::generate(v80.begin(), v80.end(), std::ref(f32rng));
313 std::generate(v81.begin(), v81.end(), std::ref(f32rng));
314 std::generate(v82.begin(), v82.end(), std::ref(f32rng));
315 std::generate(v83.begin(), v83.end(), std::ref(f32rng));
316 std::generate(v84.begin(), v84.end(), std::ref(f32rng));
317 std::generate(v85.begin(), v85.end(), std::ref(f32rng));
318 std::generate(v86.begin(), v86.end(), std::ref(f32rng));
319 std::generate(v87.begin(), v87.end(), std::ref(f32rng));
320 std::generate(v88.begin(), v88.end(), std::ref(f32rng));
321 std::generate(v89.begin(), v89.end(), std::ref(f32rng));
322 std::generate(v90.begin(), v90.end(), std::ref(f32rng));
323 std::generate(v91.begin(), v91.end(), std::ref(f32rng));
324 std::generate(v92.begin(), v92.end(), std::ref(f32rng));
325 std::generate(v93.begin(), v93.end(), std::ref(f32rng));
326 std::generate(v94.begin(), v94.end(), std::ref(f32rng));
327 std::generate(v95.begin(), v95.end(), std::ref(f32rng));
328 std::generate(v96.begin(), v96.end(), std::ref(f32rng));
329 std::generate(v97.begin(), v97.end(), std::ref(f32rng));
330 std::generate(v98.begin(), v98.end(), std::ref(f32rng));
331 std::generate(v99.begin(), v99.end(), std::ref(f32rng));
332 std::generate(w100.begin(), w100.end(), std::ref(f32rng));
333 std::generate(w101.begin(), w101.end(), std::ref(f32rng));
334 std::generate(w102.begin(), w102.end(), std::ref(f32rng));
335 std::generate(w103.begin(), w103.end(), std::ref(f32rng));
336 std::generate(w104.begin(), w104.end(), std::ref(f32rng));
337 std::generate(w105.begin(), w105.end(), std::ref(f32rng));
338 std::generate(w106.begin(), w106.end(), std::ref(f32rng));
339 std::generate(w107.begin(), w107.end(), std::ref(f32rng));
340 std::generate(w108.begin(), w108.end(), std::ref(f32rng));
341 std::generate(w109.begin(), w109.end(), std::ref(f32rng));
342 std::generate(w110.begin(), w110.end(), std::ref(f32rng));
343 std::generate(w111.begin(), w111.end(), std::ref(f32rng));
344 std::generate(w112.begin(), w112.end(), std::ref(f32rng));
345 std::generate(w113.begin(), w113.end(), std::ref(f32rng));
346 std::generate(w114.begin(), w114.end(), std::ref(f32rng));
347 std::generate(w115.begin(), w115.end(), std::ref(f32rng));
348 std::generate(w116.begin(), w116.end(), std::ref(f32rng));
349 std::generate(w117.begin(), w117.end(), std::ref(f32rng));
350 std::generate(w118.begin(), w118.end(), std::ref(f32rng));
351 std::generate(w119.begin(), w119.end(), std::ref(f32rng));
352 std::generate(w120.begin(), w120.end(), std::ref(f32rng));
353 std::generate(w121.begin(), w121.end(), std::ref(f32rng));
354 std::generate(w122.begin(), w122.end(), std::ref(f32rng));
355 std::generate(w123.begin(), w123.end(), std::ref(f32rng));
356 std::generate(w124.begin(), w124.end(), std::ref(f32rng));
357 std::generate(w125.begin(), w125.end(), std::ref(f32rng));
358 std::generate(w126.begin(), w126.end(), std::ref(f32rng));
359 std::generate(w127.begin(), w127.end(), std::ref(f32rng));
360 std::generate(w128.begin(), w128.end(), std::ref(f32rng));
361 std::generate(w129.begin(), w129.end(), std::ref(f32rng));
362 std::generate(w130.begin(), w130.end(), std::ref(f32rng));
363 std::generate(w131.begin(), w131.end(), std::ref(f32rng));
364 std::generate(w132.begin(), w132.end(), std::ref(f32rng));
365 std::generate(w133.begin(), w133.end(), std::ref(f32rng));
366 std::generate(w134.begin(), w134.end(), std::ref(f32rng));
367 std::generate(w135.begin(), w135.end(), std::ref(f32rng));
368 std::generate(w136.begin(), w136.end(), std::ref(f32rng));
369 std::generate(w137.begin(), w137.end(), std::ref(f32rng));
370 std::generate(w138.begin(), w138.end(), std::ref(f32rng));
371 std::generate(w139.begin(), w139.end(), std::ref(f32rng));
372 std::generate(w140.begin(), w140.end(), std::ref(f32rng));
373 std::generate(w141.begin(), w141.end(), std::ref(f32rng));
374 std::generate(w142.begin(), w142.end(), std::ref(f32rng));
375 std::generate(w143.begin(), w143.end(), std::ref(f32rng));
376 std::generate(w144.begin(), w144.end(), std::ref(f32rng));
377 std::generate(w145.begin(), w145.end(), std::ref(f32rng));
378 std::generate(w146.begin(), w146.end(), std::ref(f32rng));
379 std::generate(w147.begin(), w147.end(), std::ref(f32rng));
380 std::generate(w148.begin(), w148.end(), std::ref(f32rng));
381 std::generate(w149.begin(), w149.end(), std::ref(f32rng));
382 std::generate(w150.begin(), w150.end(), std::ref(f32rng));
383 std::generate(w151.begin(), w151.end(), std::ref(f32rng));
384 std::generate(w152.begin(), w152.end(), std::ref(f32rng));
385 std::generate(w153.begin(), w153.end(), std::ref(f32rng));
386 std::generate(w154.begin(), w154.end(), std::ref(f32rng));
387 std::generate(w155.begin(), w155.end(), std::ref(f32rng));
388 std::generate(w156.begin(), w156.end(), std::ref(f32rng));
389 std::generate(w157.begin(), w157.end(), std::ref(f32rng));
390 std::generate(w158.begin(), w158.end(), std::ref(f32rng));
391 std::generate(w159.begin(), w159.end(), std::ref(f32rng));
392 std::generate(w160.begin(), w160.end(), std::ref(f32rng));
393 std::generate(w161.begin(), w161.end(), std::ref(f32rng));
394 std::generate(w162.begin(), w162.end(), std::ref(f32rng));
395 std::generate(w163.begin(), w163.end(), std::ref(f32rng));
396 std::generate(w164.begin(), w164.end(), std::ref(f32rng));
397 std::generate(w165.begin(), w165.end(), std::ref(f32rng));
398 std::generate(w166.begin(), w166.end(), std::ref(f32rng));
399 std::generate(w167.begin(), w167.end(), std::ref(f32rng));
400 std::generate(w168.begin(), w168.end(), std::ref(f32rng));
401 std::generate(w169.begin(), w169.end(), std::ref(f32rng));
402 std::generate(w170.begin(), w170.end(), std::ref(f32rng));
403 std::generate(w171.begin(), w171.end(), std::ref(f32rng));
404 std::generate(w172.begin(), w172.end(), std::ref(f32rng));
405 std::generate(w173.begin(), w173.end(), std::ref(f32rng));
406 std::generate(w174.begin(), w174.end(), std::ref(f32rng));
407 std::generate(w175.begin(), w175.end(), std::ref(f32rng));
408 std::generate(w176.begin(), w176.end(), std::ref(f32rng));
409 std::generate(w177.begin(), w177.end(), std::ref(f32rng));
410 std::generate(w178.begin(), w178.end(), std::ref(f32rng));
411 std::generate(w179.begin(), w179.end(), std::ref(f32rng));
412 std::generate(w180.begin(), w180.end(), std::ref(f32rng));
413 std::generate(w181.begin(), w181.end(), std::ref(f32rng));
414 std::generate(w182.begin(), w182.end(), std::ref(f32rng));
415 std::generate(w183.begin(), w183.end(), std::ref(f32rng));
416 std::generate(w184.begin(), w184.end(), std::ref(f32rng));
417 std::generate(w185.begin(), w185.end(), std::ref(f32rng));
418 std::generate(w186.begin(), w186.end(), std::ref(f32rng));
419 std::generate(w187.begin(), w187.end(), std::ref(f32rng));
420 std::generate(w188.begin(), w188.end(), std::ref(f32rng));
421 std::generate(w189.begin(), w189.end(), std::ref(f32rng));
422 std::generate(w190.begin(), w190.end(), std::ref(f32rng));
423 std::generate(w191.begin(), w191.end(), std::ref(f32rng));
424 std::generate(w192.begin(), w192.end(), std::ref(f32rng));
425 std::generate(w193.begin(), w193.end(), std::ref(f32rng));
426 std::generate(w194.begin(), w194.end(), std::ref(f32rng));
427 std::generate(w195.begin(), w195.end(), std::ref(f32rng));
428 std::generate(w196.begin(), w196.end(), std::ref(f32rng));
429 std::generate(w197.begin(), w197.end(), std::ref(f32rng));
430 std::generate(w198.begin(), w198.end(), std::ref(f32rng));
431 std::generate(w199.begin(), w199.end(), std::ref(f32rng));
432 std::generate(w200.begin(), w200.end(), std::ref(f32rng));
433 std::generate(w201.begin(), w201.end(), std::ref(f32rng));
434 std::generate(w202.begin(), w202.end(), std::ref(f32rng));
435 std::generate(w203.begin(), w203.end(), std::ref(f32rng));
436 std::generate(w204.begin(), w204.end(), std::ref(f32rng));
437 std::generate(w205.begin(), w205.end(), std::ref(f32rng));
438 std::generate(w206.begin(), w206.end(), std::ref(f32rng));
439 std::generate(w207.begin(), w207.end(), std::ref(f32rng));
Marat Dukhanc08cdf52019-12-09 09:17:51 -0800440
441 ExecutionPlan operators;
442 xnn_status status;
443
444 xnn_operator_t op0 = nullptr;
445 status = xnn_create_convolution2d_nhwc_f32(
446 0 /* top padding */, 1 /* right padding */,
447 1 /* bottom padding */, 0 /* left padding */,
448 3 /* kernel height */, 3 /* kernel width */,
449 2 /* subsampling height */, 2 /* subsampling width */,
450 1 /* dilation_height */, 1 /* dilation_width */,
451 1 /* groups */,
452 3 /* input channels per group */,
453 16 /* output_channels_per_group */,
454 3 /* input pixel stride */,
455 16 /* output pixel stride */,
Marat Dukhan52e061d2021-03-09 00:02:44 -0800456 w100.data(), w101.data(),
Marat Dukhanc08cdf52019-12-09 09:17:51 -0800457 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
458 0 /* flags */,
459 &op0);
460 if (status != xnn_status_success) {
461 std::cerr << "failed to create operation #0" << std::endl;
462 return ExecutionPlan();
463 }
464 operators.emplace_back(op0, xnn_delete_operator);
465
466 xnn_operator_t op1 = nullptr;
467 status = xnn_create_hardswish_nc_f32(
468 16 /* channels */,
469 16 /* input stride */,
470 16 /* output stride */,
471 0 /* flags */,
472 &op1);
473 if (status != xnn_status_success) {
474 std::cerr << "failed to create operation #1" << std::endl;
475 return ExecutionPlan();
476 }
477 operators.emplace_back(op1, xnn_delete_operator);
478
479 xnn_operator_t op2 = nullptr;
480 status = xnn_create_convolution2d_nhwc_f32(
481 0 /* top padding */, 1 /* right padding */,
482 1 /* bottom padding */, 0 /* left padding */,
483 3 /* kernel height */, 3 /* kernel width */,
484 2 /* subsampling height */, 2 /* subsampling width */,
485 1 /* dilation_height */, 1 /* dilation_width */,
486 16 /* groups */,
487 1 /* input channels per group */,
488 1 /* output_channels_per_group */,
489 16 /* input pixel stride */,
490 16 /* output pixel stride */,
Marat Dukhan52e061d2021-03-09 00:02:44 -0800491 w102.data(), w103.data(),
Marat Dukhanc08cdf52019-12-09 09:17:51 -0800492 0.0f /* output min */, std::numeric_limits<float>::infinity() /* output max */,
493 0 /* flags */,
494 &op2);
495 if (status != xnn_status_success) {
496 std::cerr << "failed to create operation #2" << std::endl;
497 return ExecutionPlan();
498 }
499 operators.emplace_back(op2, xnn_delete_operator);
500
501 xnn_operator_t op3 = nullptr;
502 status = xnn_create_global_average_pooling_nwc_f32(
503 16 /* channels */, 16 /* input stride */, 16 /* output stride */,
504 -std::numeric_limits<float>::infinity(), std::numeric_limits<float>::infinity(),
505 0 /* flags */,
506 &op3);
507 if (status != xnn_status_success) {
508 std::cerr << "failed to create operation #3" << std::endl;
509 return ExecutionPlan();
510 }
511 operators.emplace_back(op3, xnn_delete_operator);
512
513 xnn_operator_t op4 = nullptr;
514 status = xnn_create_convolution2d_nhwc_f32(
515 0 /* top padding */, 0 /* right padding */,
516 0 /* bottom padding */, 0 /* left padding */,
517 1 /* kernel height */, 1 /* kernel width */,
518 1 /* subsampling height */, 1 /* subsampling width */,
519 1 /* dilation_height */, 1 /* dilation_width */,
520 1 /* groups */,
521 16 /* input channels per group */,
522 8 /* output_channels_per_group */,
523 16 /* input pixel stride */,
524 8 /* output pixel stride */,
Marat Dukhan52e061d2021-03-09 00:02:44 -0800525 w104.data(), w105.data(),
Marat Dukhanc08cdf52019-12-09 09:17:51 -0800526 0.0f /* output min */, std::numeric_limits<float>::infinity() /* output max */,
527 0 /* flags */,
528 &op4);
529 if (status != xnn_status_success) {
530 std::cerr << "failed to create operation #4" << std::endl;
531 return ExecutionPlan();
532 }
533 operators.emplace_back(op4, xnn_delete_operator);
534
535 xnn_operator_t op5 = nullptr;
536 status = xnn_create_convolution2d_nhwc_f32(
537 0 /* top padding */, 0 /* right padding */,
538 0 /* bottom padding */, 0 /* left padding */,
539 1 /* kernel height */, 1 /* kernel width */,
540 1 /* subsampling height */, 1 /* subsampling width */,
541 1 /* dilation_height */, 1 /* dilation_width */,
542 1 /* groups */,
543 8 /* input channels per group */,
544 16 /* output_channels_per_group */,
545 8 /* input pixel stride */,
546 16 /* output pixel stride */,
Marat Dukhan52e061d2021-03-09 00:02:44 -0800547 w106.data(), w107.data(),
Marat Dukhanc08cdf52019-12-09 09:17:51 -0800548 0.0f /* output min */, +0x1.00014Fp+0 /* output max */,
549 0 /* flags */,
550 &op5);
551 if (status != xnn_status_success) {
552 std::cerr << "failed to create operation #5" << std::endl;
553 return ExecutionPlan();
554 }
555 operators.emplace_back(op5, xnn_delete_operator);
556
557 xnn_operator_t op6 = nullptr;
558 status = xnn_create_multiply_nd_f32(
559 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
560 0 /* flags */,
561 &op6);
562 if (status != xnn_status_success) {
563 std::cerr << "failed to create operation #6" << std::endl;
564 return ExecutionPlan();
565 }
566 operators.emplace_back(op6, xnn_delete_operator);
567
568 xnn_operator_t op7 = nullptr;
569 status = xnn_create_convolution2d_nhwc_f32(
570 0 /* top padding */, 0 /* right padding */,
571 0 /* bottom padding */, 0 /* left padding */,
572 1 /* kernel height */, 1 /* kernel width */,
573 1 /* subsampling height */, 1 /* subsampling width */,
574 1 /* dilation_height */, 1 /* dilation_width */,
575 1 /* groups */,
576 16 /* input channels per group */,
577 16 /* output_channels_per_group */,
578 16 /* input pixel stride */,
579 16 /* output pixel stride */,
Marat Dukhan52e061d2021-03-09 00:02:44 -0800580 w108.data(), w109.data(),
Marat Dukhanc08cdf52019-12-09 09:17:51 -0800581 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
582 0 /* flags */,
583 &op7);
584 if (status != xnn_status_success) {
585 std::cerr << "failed to create operation #7" << std::endl;
586 return ExecutionPlan();
587 }
588 operators.emplace_back(op7, xnn_delete_operator);
589
590 xnn_operator_t op8 = nullptr;
591 status = xnn_create_convolution2d_nhwc_f32(
592 0 /* top padding */, 0 /* right padding */,
593 0 /* bottom padding */, 0 /* left padding */,
594 1 /* kernel height */, 1 /* kernel width */,
595 1 /* subsampling height */, 1 /* subsampling width */,
596 1 /* dilation_height */, 1 /* dilation_width */,
597 1 /* groups */,
598 16 /* input channels per group */,
599 72 /* output_channels_per_group */,
600 16 /* input pixel stride */,
601 72 /* output pixel stride */,
Marat Dukhan52e061d2021-03-09 00:02:44 -0800602 w110.data(), w111.data(),
Marat Dukhanc08cdf52019-12-09 09:17:51 -0800603 0.0f /* output min */, std::numeric_limits<float>::infinity() /* output max */,
604 0 /* flags */,
605 &op8);
606 if (status != xnn_status_success) {
607 std::cerr << "failed to create operation #8" << std::endl;
608 return ExecutionPlan();
609 }
610 operators.emplace_back(op8, xnn_delete_operator);
611
612 xnn_operator_t op9 = nullptr;
613 status = xnn_create_convolution2d_nhwc_f32(
614 0 /* top padding */, 1 /* right padding */,
615 1 /* bottom padding */, 0 /* left padding */,
616 3 /* kernel height */, 3 /* kernel width */,
617 2 /* subsampling height */, 2 /* subsampling width */,
618 1 /* dilation_height */, 1 /* dilation_width */,
619 72 /* groups */,
620 1 /* input channels per group */,
621 1 /* output_channels_per_group */,
622 72 /* input pixel stride */,
623 72 /* output pixel stride */,
Marat Dukhan52e061d2021-03-09 00:02:44 -0800624 w112.data(), w113.data(),
Marat Dukhanc08cdf52019-12-09 09:17:51 -0800625 0.0f /* output min */, std::numeric_limits<float>::infinity() /* output max */,
626 0 /* flags */,
627 &op9);
628 if (status != xnn_status_success) {
629 std::cerr << "failed to create operation #9" << std::endl;
630 return ExecutionPlan();
631 }
632 operators.emplace_back(op9, xnn_delete_operator);
633
634 xnn_operator_t op10 = nullptr;
635 status = xnn_create_convolution2d_nhwc_f32(
636 0 /* top padding */, 0 /* right padding */,
637 0 /* bottom padding */, 0 /* left padding */,
638 1 /* kernel height */, 1 /* kernel width */,
639 1 /* subsampling height */, 1 /* subsampling width */,
640 1 /* dilation_height */, 1 /* dilation_width */,
641 1 /* groups */,
642 72 /* input channels per group */,
643 24 /* output_channels_per_group */,
644 72 /* input pixel stride */,
645 24 /* output pixel stride */,
Marat Dukhan52e061d2021-03-09 00:02:44 -0800646 w114.data(), w115.data(),
Marat Dukhanc08cdf52019-12-09 09:17:51 -0800647 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
648 0 /* flags */,
649 &op10);
650 if (status != xnn_status_success) {
651 std::cerr << "failed to create operation #10" << std::endl;
652 return ExecutionPlan();
653 }
654 operators.emplace_back(op10, xnn_delete_operator);
655
656 xnn_operator_t op11 = nullptr;
657 status = xnn_create_convolution2d_nhwc_f32(
658 0 /* top padding */, 0 /* right padding */,
659 0 /* bottom padding */, 0 /* left padding */,
660 1 /* kernel height */, 1 /* kernel width */,
661 1 /* subsampling height */, 1 /* subsampling width */,
662 1 /* dilation_height */, 1 /* dilation_width */,
663 1 /* groups */,
664 24 /* input channels per group */,
665 88 /* output_channels_per_group */,
666 24 /* input pixel stride */,
667 88 /* output pixel stride */,
Marat Dukhan52e061d2021-03-09 00:02:44 -0800668 w116.data(), w117.data(),
Marat Dukhanc08cdf52019-12-09 09:17:51 -0800669 0.0f /* output min */, std::numeric_limits<float>::infinity() /* output max */,
670 0 /* flags */,
671 &op11);
672 if (status != xnn_status_success) {
673 std::cerr << "failed to create operation #11" << std::endl;
674 return ExecutionPlan();
675 }
676 operators.emplace_back(op11, xnn_delete_operator);
677
678 xnn_operator_t op12 = nullptr;
679 status = xnn_create_convolution2d_nhwc_f32(
680 1 /* top padding */, 1 /* right padding */,
681 1 /* bottom padding */, 1 /* left padding */,
682 3 /* kernel height */, 3 /* kernel width */,
683 1 /* subsampling height */, 1 /* subsampling width */,
684 1 /* dilation_height */, 1 /* dilation_width */,
685 88 /* groups */,
686 1 /* input channels per group */,
687 1 /* output_channels_per_group */,
688 88 /* input pixel stride */,
689 88 /* output pixel stride */,
Marat Dukhan52e061d2021-03-09 00:02:44 -0800690 w118.data(), w119.data(),
Marat Dukhanc08cdf52019-12-09 09:17:51 -0800691 0.0f /* output min */, std::numeric_limits<float>::infinity() /* output max */,
692 0 /* flags */,
693 &op12);
694 if (status != xnn_status_success) {
695 std::cerr << "failed to create operation #12" << std::endl;
696 return ExecutionPlan();
697 }
698 operators.emplace_back(op12, xnn_delete_operator);
699
700 xnn_operator_t op13 = nullptr;
701 status = xnn_create_convolution2d_nhwc_f32(
702 0 /* top padding */, 0 /* right padding */,
703 0 /* bottom padding */, 0 /* left padding */,
704 1 /* kernel height */, 1 /* kernel width */,
705 1 /* subsampling height */, 1 /* subsampling width */,
706 1 /* dilation_height */, 1 /* dilation_width */,
707 1 /* groups */,
708 88 /* input channels per group */,
709 24 /* output_channels_per_group */,
710 88 /* input pixel stride */,
711 24 /* output pixel stride */,
Marat Dukhan52e061d2021-03-09 00:02:44 -0800712 w120.data(), w121.data(),
Marat Dukhanc08cdf52019-12-09 09:17:51 -0800713 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
714 0 /* flags */,
715 &op13);
716 if (status != xnn_status_success) {
717 std::cerr << "failed to create operation #13" << std::endl;
718 return ExecutionPlan();
719 }
720 operators.emplace_back(op13, xnn_delete_operator);
721
722 xnn_operator_t op14 = nullptr;
Marat Dukhanb2164a32020-06-04 19:05:27 -0700723 status = xnn_create_add_nd_f32(
Marat Dukhanc08cdf52019-12-09 09:17:51 -0800724 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
725 0 /* flags */,
726 &op14);
727 if (status != xnn_status_success) {
728 std::cerr << "failed to create operation #14" << std::endl;
729 return ExecutionPlan();
730 }
731 operators.emplace_back(op14, xnn_delete_operator);
732
733 xnn_operator_t op15 = nullptr;
734 status = xnn_create_convolution2d_nhwc_f32(
735 0 /* top padding */, 0 /* right padding */,
736 0 /* bottom padding */, 0 /* left padding */,
737 1 /* kernel height */, 1 /* kernel width */,
738 1 /* subsampling height */, 1 /* subsampling width */,
739 1 /* dilation_height */, 1 /* dilation_width */,
740 1 /* groups */,
741 24 /* input channels per group */,
742 96 /* output_channels_per_group */,
743 24 /* input pixel stride */,
744 96 /* output pixel stride */,
Marat Dukhan52e061d2021-03-09 00:02:44 -0800745 w122.data(), w123.data(),
Marat Dukhanc08cdf52019-12-09 09:17:51 -0800746 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
747 0 /* flags */,
748 &op15);
749 if (status != xnn_status_success) {
750 std::cerr << "failed to create operation #15" << std::endl;
751 return ExecutionPlan();
752 }
753 operators.emplace_back(op15, xnn_delete_operator);
754
755 xnn_operator_t op16 = nullptr;
756 status = xnn_create_hardswish_nc_f32(
757 96 /* channels */,
758 96 /* input stride */,
759 96 /* output stride */,
760 0 /* flags */,
761 &op16);
762 if (status != xnn_status_success) {
763 std::cerr << "failed to create operation #16" << std::endl;
764 return ExecutionPlan();
765 }
766 operators.emplace_back(op16, xnn_delete_operator);
767
768 xnn_operator_t op17 = nullptr;
769 status = xnn_create_convolution2d_nhwc_f32(
770 1 /* top padding */, 2 /* right padding */,
771 2 /* bottom padding */, 1 /* left padding */,
772 5 /* kernel height */, 5 /* kernel width */,
773 2 /* subsampling height */, 2 /* subsampling width */,
774 1 /* dilation_height */, 1 /* dilation_width */,
775 96 /* groups */,
776 1 /* input channels per group */,
777 1 /* output_channels_per_group */,
778 96 /* input pixel stride */,
779 96 /* output pixel stride */,
Marat Dukhan52e061d2021-03-09 00:02:44 -0800780 w124.data(), w125.data(),
Marat Dukhanc08cdf52019-12-09 09:17:51 -0800781 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
782 0 /* flags */,
783 &op17);
784 if (status != xnn_status_success) {
785 std::cerr << "failed to create operation #17" << std::endl;
786 return ExecutionPlan();
787 }
788 operators.emplace_back(op17, xnn_delete_operator);
789
790 xnn_operator_t op18 = nullptr;
791 status = xnn_create_hardswish_nc_f32(
792 96 /* channels */,
793 96 /* input stride */,
794 96 /* output stride */,
795 0 /* flags */,
796 &op18);
797 if (status != xnn_status_success) {
798 std::cerr << "failed to create operation #18" << std::endl;
799 return ExecutionPlan();
800 }
801 operators.emplace_back(op18, xnn_delete_operator);
802
803 xnn_operator_t op19 = nullptr;
804 status = xnn_create_global_average_pooling_nwc_f32(
805 96 /* channels */, 96 /* input stride */, 96 /* output stride */,
806 -std::numeric_limits<float>::infinity(), std::numeric_limits<float>::infinity(),
807 0 /* flags */,
808 &op19);
809 if (status != xnn_status_success) {
810 std::cerr << "failed to create operation #19" << std::endl;
811 return ExecutionPlan();
812 }
813 operators.emplace_back(op19, xnn_delete_operator);
814
815 xnn_operator_t op20 = nullptr;
816 status = xnn_create_convolution2d_nhwc_f32(
817 0 /* top padding */, 0 /* right padding */,
818 0 /* bottom padding */, 0 /* left padding */,
819 1 /* kernel height */, 1 /* kernel width */,
820 1 /* subsampling height */, 1 /* subsampling width */,
821 1 /* dilation_height */, 1 /* dilation_width */,
822 1 /* groups */,
823 96 /* input channels per group */,
824 24 /* output_channels_per_group */,
825 96 /* input pixel stride */,
826 24 /* output pixel stride */,
Marat Dukhan52e061d2021-03-09 00:02:44 -0800827 w126.data(), w127.data(),
Marat Dukhanc08cdf52019-12-09 09:17:51 -0800828 0.0f /* output min */, std::numeric_limits<float>::infinity() /* output max */,
829 0 /* flags */,
830 &op20);
831 if (status != xnn_status_success) {
832 std::cerr << "failed to create operation #20" << std::endl;
833 return ExecutionPlan();
834 }
835 operators.emplace_back(op20, xnn_delete_operator);
836
837 xnn_operator_t op21 = nullptr;
838 status = xnn_create_convolution2d_nhwc_f32(
839 0 /* top padding */, 0 /* right padding */,
840 0 /* bottom padding */, 0 /* left padding */,
841 1 /* kernel height */, 1 /* kernel width */,
842 1 /* subsampling height */, 1 /* subsampling width */,
843 1 /* dilation_height */, 1 /* dilation_width */,
844 1 /* groups */,
845 24 /* input channels per group */,
846 96 /* output_channels_per_group */,
847 24 /* input pixel stride */,
848 96 /* output pixel stride */,
Marat Dukhan52e061d2021-03-09 00:02:44 -0800849 w128.data(), w129.data(),
Marat Dukhanc08cdf52019-12-09 09:17:51 -0800850 0.0f /* output min */, +0x1.00014Fp+0 /* output max */,
851 0 /* flags */,
852 &op21);
853 if (status != xnn_status_success) {
854 std::cerr << "failed to create operation #21" << std::endl;
855 return ExecutionPlan();
856 }
857 operators.emplace_back(op21, xnn_delete_operator);
858
859 xnn_operator_t op22 = nullptr;
860 status = xnn_create_multiply_nd_f32(
861 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
862 0 /* flags */,
863 &op22);
864 if (status != xnn_status_success) {
865 std::cerr << "failed to create operation #22" << std::endl;
866 return ExecutionPlan();
867 }
868 operators.emplace_back(op22, xnn_delete_operator);
869
870 xnn_operator_t op23 = nullptr;
871 status = xnn_create_convolution2d_nhwc_f32(
872 0 /* top padding */, 0 /* right padding */,
873 0 /* bottom padding */, 0 /* left padding */,
874 1 /* kernel height */, 1 /* kernel width */,
875 1 /* subsampling height */, 1 /* subsampling width */,
876 1 /* dilation_height */, 1 /* dilation_width */,
877 1 /* groups */,
878 96 /* input channels per group */,
879 40 /* output_channels_per_group */,
880 96 /* input pixel stride */,
881 40 /* output pixel stride */,
Marat Dukhan52e061d2021-03-09 00:02:44 -0800882 w130.data(), w131.data(),
Marat Dukhanc08cdf52019-12-09 09:17:51 -0800883 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
884 0 /* flags */,
885 &op23);
886 if (status != xnn_status_success) {
887 std::cerr << "failed to create operation #23" << std::endl;
888 return ExecutionPlan();
889 }
890 operators.emplace_back(op23, xnn_delete_operator);
891
892 xnn_operator_t op24 = nullptr;
893 status = xnn_create_convolution2d_nhwc_f32(
894 0 /* top padding */, 0 /* right padding */,
895 0 /* bottom padding */, 0 /* left padding */,
896 1 /* kernel height */, 1 /* kernel width */,
897 1 /* subsampling height */, 1 /* subsampling width */,
898 1 /* dilation_height */, 1 /* dilation_width */,
899 1 /* groups */,
900 40 /* input channels per group */,
901 240 /* output_channels_per_group */,
902 40 /* input pixel stride */,
903 240 /* output pixel stride */,
Marat Dukhan52e061d2021-03-09 00:02:44 -0800904 w132.data(), w133.data(),
Marat Dukhanc08cdf52019-12-09 09:17:51 -0800905 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
906 0 /* flags */,
907 &op24);
908 if (status != xnn_status_success) {
909 std::cerr << "failed to create operation #24" << std::endl;
910 return ExecutionPlan();
911 }
912 operators.emplace_back(op24, xnn_delete_operator);
913
914 xnn_operator_t op25 = nullptr;
915 status = xnn_create_hardswish_nc_f32(
916 240 /* channels */,
917 240 /* input stride */,
918 240 /* output stride */,
919 0 /* flags */,
920 &op25);
921 if (status != xnn_status_success) {
922 std::cerr << "failed to create operation #25" << std::endl;
923 return ExecutionPlan();
924 }
925 operators.emplace_back(op25, xnn_delete_operator);
926
927 xnn_operator_t op26 = nullptr;
928 status = xnn_create_convolution2d_nhwc_f32(
929 2 /* top padding */, 2 /* right padding */,
930 2 /* bottom padding */, 2 /* left padding */,
931 5 /* kernel height */, 5 /* kernel width */,
932 1 /* subsampling height */, 1 /* subsampling width */,
933 1 /* dilation_height */, 1 /* dilation_width */,
934 240 /* groups */,
935 1 /* input channels per group */,
936 1 /* output_channels_per_group */,
937 240 /* input pixel stride */,
938 240 /* output pixel stride */,
Marat Dukhan52e061d2021-03-09 00:02:44 -0800939 w134.data(), w135.data(),
Marat Dukhanc08cdf52019-12-09 09:17:51 -0800940 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
941 0 /* flags */,
942 &op26);
943 if (status != xnn_status_success) {
944 std::cerr << "failed to create operation #26" << std::endl;
945 return ExecutionPlan();
946 }
947 operators.emplace_back(op26, xnn_delete_operator);
948
949 xnn_operator_t op27 = nullptr;
950 status = xnn_create_hardswish_nc_f32(
951 240 /* channels */,
952 240 /* input stride */,
953 240 /* output stride */,
954 0 /* flags */,
955 &op27);
956 if (status != xnn_status_success) {
957 std::cerr << "failed to create operation #27" << std::endl;
958 return ExecutionPlan();
959 }
960 operators.emplace_back(op27, xnn_delete_operator);
961
962 xnn_operator_t op28 = nullptr;
963 status = xnn_create_global_average_pooling_nwc_f32(
964 240 /* channels */, 240 /* input stride */, 240 /* output stride */,
965 -std::numeric_limits<float>::infinity(), std::numeric_limits<float>::infinity(),
966 0 /* flags */,
967 &op28);
968 if (status != xnn_status_success) {
969 std::cerr << "failed to create operation #28" << std::endl;
970 return ExecutionPlan();
971 }
972 operators.emplace_back(op28, xnn_delete_operator);
973
974 xnn_operator_t op29 = nullptr;
975 status = xnn_create_convolution2d_nhwc_f32(
976 0 /* top padding */, 0 /* right padding */,
977 0 /* bottom padding */, 0 /* left padding */,
978 1 /* kernel height */, 1 /* kernel width */,
979 1 /* subsampling height */, 1 /* subsampling width */,
980 1 /* dilation_height */, 1 /* dilation_width */,
981 1 /* groups */,
982 240 /* input channels per group */,
983 64 /* output_channels_per_group */,
984 240 /* input pixel stride */,
985 64 /* output pixel stride */,
Marat Dukhan52e061d2021-03-09 00:02:44 -0800986 w136.data(), w137.data(),
Marat Dukhanc08cdf52019-12-09 09:17:51 -0800987 0.0f /* output min */, std::numeric_limits<float>::infinity() /* output max */,
988 0 /* flags */,
989 &op29);
990 if (status != xnn_status_success) {
991 std::cerr << "failed to create operation #29" << std::endl;
992 return ExecutionPlan();
993 }
994 operators.emplace_back(op29, xnn_delete_operator);
995
996 xnn_operator_t op30 = nullptr;
997 status = xnn_create_convolution2d_nhwc_f32(
998 0 /* top padding */, 0 /* right padding */,
999 0 /* bottom padding */, 0 /* left padding */,
1000 1 /* kernel height */, 1 /* kernel width */,
1001 1 /* subsampling height */, 1 /* subsampling width */,
1002 1 /* dilation_height */, 1 /* dilation_width */,
1003 1 /* groups */,
1004 64 /* input channels per group */,
1005 240 /* output_channels_per_group */,
1006 64 /* input pixel stride */,
1007 240 /* output pixel stride */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08001008 w138.data(), w139.data(),
Marat Dukhanc08cdf52019-12-09 09:17:51 -08001009 0.0f /* output min */, +0x1.00014Fp+0 /* output max */,
1010 0 /* flags */,
1011 &op30);
1012 if (status != xnn_status_success) {
1013 std::cerr << "failed to create operation #30" << std::endl;
1014 return ExecutionPlan();
1015 }
1016 operators.emplace_back(op30, xnn_delete_operator);
1017
1018 xnn_operator_t op31 = nullptr;
1019 status = xnn_create_multiply_nd_f32(
1020 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1021 0 /* flags */,
1022 &op31);
1023 if (status != xnn_status_success) {
1024 std::cerr << "failed to create operation #31" << std::endl;
1025 return ExecutionPlan();
1026 }
1027 operators.emplace_back(op31, xnn_delete_operator);
1028
1029 xnn_operator_t op32 = nullptr;
1030 status = xnn_create_convolution2d_nhwc_f32(
1031 0 /* top padding */, 0 /* right padding */,
1032 0 /* bottom padding */, 0 /* left padding */,
1033 1 /* kernel height */, 1 /* kernel width */,
1034 1 /* subsampling height */, 1 /* subsampling width */,
1035 1 /* dilation_height */, 1 /* dilation_width */,
1036 1 /* groups */,
1037 240 /* input channels per group */,
1038 40 /* output_channels_per_group */,
1039 240 /* input pixel stride */,
1040 40 /* output pixel stride */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08001041 w140.data(), w141.data(),
Marat Dukhanc08cdf52019-12-09 09:17:51 -08001042 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1043 0 /* flags */,
1044 &op32);
1045 if (status != xnn_status_success) {
1046 std::cerr << "failed to create operation #32" << std::endl;
1047 return ExecutionPlan();
1048 }
1049 operators.emplace_back(op32, xnn_delete_operator);
1050
1051 xnn_operator_t op33 = nullptr;
Marat Dukhanb2164a32020-06-04 19:05:27 -07001052 status = xnn_create_add_nd_f32(
Marat Dukhanc08cdf52019-12-09 09:17:51 -08001053 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1054 0 /* flags */,
1055 &op33);
1056 if (status != xnn_status_success) {
1057 std::cerr << "failed to create operation #33" << std::endl;
1058 return ExecutionPlan();
1059 }
1060 operators.emplace_back(op33, xnn_delete_operator);
1061
1062 xnn_operator_t op34 = nullptr;
1063 status = xnn_create_convolution2d_nhwc_f32(
1064 0 /* top padding */, 0 /* right padding */,
1065 0 /* bottom padding */, 0 /* left padding */,
1066 1 /* kernel height */, 1 /* kernel width */,
1067 1 /* subsampling height */, 1 /* subsampling width */,
1068 1 /* dilation_height */, 1 /* dilation_width */,
1069 1 /* groups */,
1070 40 /* input channels per group */,
1071 240 /* output_channels_per_group */,
1072 40 /* input pixel stride */,
1073 240 /* output pixel stride */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08001074 w142.data(), w143.data(),
Marat Dukhanc08cdf52019-12-09 09:17:51 -08001075 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1076 0 /* flags */,
1077 &op34);
1078 if (status != xnn_status_success) {
1079 std::cerr << "failed to create operation #34" << std::endl;
1080 return ExecutionPlan();
1081 }
1082 operators.emplace_back(op34, xnn_delete_operator);
1083
1084 xnn_operator_t op35 = nullptr;
1085 status = xnn_create_hardswish_nc_f32(
1086 240 /* channels */,
1087 240 /* input stride */,
1088 240 /* output stride */,
1089 0 /* flags */,
1090 &op35);
1091 if (status != xnn_status_success) {
1092 std::cerr << "failed to create operation #35" << std::endl;
1093 return ExecutionPlan();
1094 }
1095 operators.emplace_back(op35, xnn_delete_operator);
1096
1097 xnn_operator_t op36 = nullptr;
1098 status = xnn_create_convolution2d_nhwc_f32(
1099 2 /* top padding */, 2 /* right padding */,
1100 2 /* bottom padding */, 2 /* left padding */,
1101 5 /* kernel height */, 5 /* kernel width */,
1102 1 /* subsampling height */, 1 /* subsampling width */,
1103 1 /* dilation_height */, 1 /* dilation_width */,
1104 240 /* groups */,
1105 1 /* input channels per group */,
1106 1 /* output_channels_per_group */,
1107 240 /* input pixel stride */,
1108 240 /* output pixel stride */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08001109 w144.data(), w145.data(),
Marat Dukhanc08cdf52019-12-09 09:17:51 -08001110 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1111 0 /* flags */,
1112 &op36);
1113 if (status != xnn_status_success) {
1114 std::cerr << "failed to create operation #36" << std::endl;
1115 return ExecutionPlan();
1116 }
1117 operators.emplace_back(op36, xnn_delete_operator);
1118
1119 xnn_operator_t op37 = nullptr;
1120 status = xnn_create_hardswish_nc_f32(
1121 240 /* channels */,
1122 240 /* input stride */,
1123 240 /* output stride */,
1124 0 /* flags */,
1125 &op37);
1126 if (status != xnn_status_success) {
1127 std::cerr << "failed to create operation #37" << std::endl;
1128 return ExecutionPlan();
1129 }
1130 operators.emplace_back(op37, xnn_delete_operator);
1131
1132 xnn_operator_t op38 = nullptr;
1133 status = xnn_create_global_average_pooling_nwc_f32(
1134 240 /* channels */, 240 /* input stride */, 240 /* output stride */,
1135 -std::numeric_limits<float>::infinity(), std::numeric_limits<float>::infinity(),
1136 0 /* flags */,
1137 &op38);
1138 if (status != xnn_status_success) {
1139 std::cerr << "failed to create operation #38" << std::endl;
1140 return ExecutionPlan();
1141 }
1142 operators.emplace_back(op38, xnn_delete_operator);
1143
1144 xnn_operator_t op39 = nullptr;
1145 status = xnn_create_convolution2d_nhwc_f32(
1146 0 /* top padding */, 0 /* right padding */,
1147 0 /* bottom padding */, 0 /* left padding */,
1148 1 /* kernel height */, 1 /* kernel width */,
1149 1 /* subsampling height */, 1 /* subsampling width */,
1150 1 /* dilation_height */, 1 /* dilation_width */,
1151 1 /* groups */,
1152 240 /* input channels per group */,
1153 64 /* output_channels_per_group */,
1154 240 /* input pixel stride */,
1155 64 /* output pixel stride */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08001156 w146.data(), w147.data(),
Marat Dukhanc08cdf52019-12-09 09:17:51 -08001157 0.0f /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1158 0 /* flags */,
1159 &op39);
1160 if (status != xnn_status_success) {
1161 std::cerr << "failed to create operation #39" << std::endl;
1162 return ExecutionPlan();
1163 }
1164 operators.emplace_back(op39, xnn_delete_operator);
1165
1166 xnn_operator_t op40 = nullptr;
1167 status = xnn_create_convolution2d_nhwc_f32(
1168 0 /* top padding */, 0 /* right padding */,
1169 0 /* bottom padding */, 0 /* left padding */,
1170 1 /* kernel height */, 1 /* kernel width */,
1171 1 /* subsampling height */, 1 /* subsampling width */,
1172 1 /* dilation_height */, 1 /* dilation_width */,
1173 1 /* groups */,
1174 64 /* input channels per group */,
1175 240 /* output_channels_per_group */,
1176 64 /* input pixel stride */,
1177 240 /* output pixel stride */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08001178 w148.data(), w149.data(),
Marat Dukhanc08cdf52019-12-09 09:17:51 -08001179 0.0f /* output min */, +0x1.00014Fp+0 /* output max */,
1180 0 /* flags */,
1181 &op40);
1182 if (status != xnn_status_success) {
1183 std::cerr << "failed to create operation #40" << std::endl;
1184 return ExecutionPlan();
1185 }
1186 operators.emplace_back(op40, xnn_delete_operator);
1187
1188 xnn_operator_t op41 = nullptr;
1189 status = xnn_create_multiply_nd_f32(
1190 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1191 0 /* flags */,
1192 &op41);
1193 if (status != xnn_status_success) {
1194 std::cerr << "failed to create operation #41" << std::endl;
1195 return ExecutionPlan();
1196 }
1197 operators.emplace_back(op41, xnn_delete_operator);
1198
1199 xnn_operator_t op42 = nullptr;
1200 status = xnn_create_convolution2d_nhwc_f32(
1201 0 /* top padding */, 0 /* right padding */,
1202 0 /* bottom padding */, 0 /* left padding */,
1203 1 /* kernel height */, 1 /* kernel width */,
1204 1 /* subsampling height */, 1 /* subsampling width */,
1205 1 /* dilation_height */, 1 /* dilation_width */,
1206 1 /* groups */,
1207 240 /* input channels per group */,
1208 40 /* output_channels_per_group */,
1209 240 /* input pixel stride */,
1210 40 /* output pixel stride */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08001211 w150.data(), w151.data(),
Marat Dukhanc08cdf52019-12-09 09:17:51 -08001212 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1213 0 /* flags */,
1214 &op42);
1215 if (status != xnn_status_success) {
1216 std::cerr << "failed to create operation #42" << std::endl;
1217 return ExecutionPlan();
1218 }
1219 operators.emplace_back(op42, xnn_delete_operator);
1220
1221 xnn_operator_t op43 = nullptr;
Marat Dukhanb2164a32020-06-04 19:05:27 -07001222 status = xnn_create_add_nd_f32(
Marat Dukhanc08cdf52019-12-09 09:17:51 -08001223 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1224 0 /* flags */,
1225 &op43);
1226 if (status != xnn_status_success) {
1227 std::cerr << "failed to create operation #43" << std::endl;
1228 return ExecutionPlan();
1229 }
1230 operators.emplace_back(op43, xnn_delete_operator);
1231
1232 xnn_operator_t op44 = nullptr;
1233 status = xnn_create_convolution2d_nhwc_f32(
1234 0 /* top padding */, 0 /* right padding */,
1235 0 /* bottom padding */, 0 /* left padding */,
1236 1 /* kernel height */, 1 /* kernel width */,
1237 1 /* subsampling height */, 1 /* subsampling width */,
1238 1 /* dilation_height */, 1 /* dilation_width */,
1239 1 /* groups */,
1240 40 /* input channels per group */,
1241 120 /* output_channels_per_group */,
1242 40 /* input pixel stride */,
1243 120 /* output pixel stride */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08001244 w152.data(), w153.data(),
Marat Dukhanc08cdf52019-12-09 09:17:51 -08001245 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1246 0 /* flags */,
1247 &op44);
1248 if (status != xnn_status_success) {
1249 std::cerr << "failed to create operation #44" << std::endl;
1250 return ExecutionPlan();
1251 }
1252 operators.emplace_back(op44, xnn_delete_operator);
1253
1254 xnn_operator_t op45 = nullptr;
1255 status = xnn_create_hardswish_nc_f32(
1256 120 /* channels */,
1257 120 /* input stride */,
1258 120 /* output stride */,
1259 0 /* flags */,
1260 &op45);
1261 if (status != xnn_status_success) {
1262 std::cerr << "failed to create operation #45" << std::endl;
1263 return ExecutionPlan();
1264 }
1265 operators.emplace_back(op45, xnn_delete_operator);
1266
1267 xnn_operator_t op46 = nullptr;
1268 status = xnn_create_convolution2d_nhwc_f32(
1269 2 /* top padding */, 2 /* right padding */,
1270 2 /* bottom padding */, 2 /* left padding */,
1271 5 /* kernel height */, 5 /* kernel width */,
1272 1 /* subsampling height */, 1 /* subsampling width */,
1273 1 /* dilation_height */, 1 /* dilation_width */,
1274 120 /* groups */,
1275 1 /* input channels per group */,
1276 1 /* output_channels_per_group */,
1277 120 /* input pixel stride */,
1278 120 /* output pixel stride */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08001279 w154.data(), w155.data(),
Marat Dukhanc08cdf52019-12-09 09:17:51 -08001280 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1281 0 /* flags */,
1282 &op46);
1283 if (status != xnn_status_success) {
1284 std::cerr << "failed to create operation #46" << std::endl;
1285 return ExecutionPlan();
1286 }
1287 operators.emplace_back(op46, xnn_delete_operator);
1288
1289 xnn_operator_t op47 = nullptr;
1290 status = xnn_create_hardswish_nc_f32(
1291 120 /* channels */,
1292 120 /* input stride */,
1293 120 /* output stride */,
1294 0 /* flags */,
1295 &op47);
1296 if (status != xnn_status_success) {
1297 std::cerr << "failed to create operation #47" << std::endl;
1298 return ExecutionPlan();
1299 }
1300 operators.emplace_back(op47, xnn_delete_operator);
1301
1302 xnn_operator_t op48 = nullptr;
1303 status = xnn_create_global_average_pooling_nwc_f32(
1304 120 /* channels */, 120 /* input stride */, 120 /* output stride */,
1305 -std::numeric_limits<float>::infinity(), std::numeric_limits<float>::infinity(),
1306 0 /* flags */,
1307 &op48);
1308 if (status != xnn_status_success) {
1309 std::cerr << "failed to create operation #48" << std::endl;
1310 return ExecutionPlan();
1311 }
1312 operators.emplace_back(op48, xnn_delete_operator);
1313
1314 xnn_operator_t op49 = nullptr;
1315 status = xnn_create_convolution2d_nhwc_f32(
1316 0 /* top padding */, 0 /* right padding */,
1317 0 /* bottom padding */, 0 /* left padding */,
1318 1 /* kernel height */, 1 /* kernel width */,
1319 1 /* subsampling height */, 1 /* subsampling width */,
1320 1 /* dilation_height */, 1 /* dilation_width */,
1321 1 /* groups */,
1322 120 /* input channels per group */,
1323 32 /* output_channels_per_group */,
1324 120 /* input pixel stride */,
1325 32 /* output pixel stride */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08001326 w156.data(), w157.data(),
Marat Dukhanc08cdf52019-12-09 09:17:51 -08001327 0.0f /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1328 0 /* flags */,
1329 &op49);
1330 if (status != xnn_status_success) {
1331 std::cerr << "failed to create operation #49" << std::endl;
1332 return ExecutionPlan();
1333 }
1334 operators.emplace_back(op49, xnn_delete_operator);
1335
1336 xnn_operator_t op50 = nullptr;
1337 status = xnn_create_convolution2d_nhwc_f32(
1338 0 /* top padding */, 0 /* right padding */,
1339 0 /* bottom padding */, 0 /* left padding */,
1340 1 /* kernel height */, 1 /* kernel width */,
1341 1 /* subsampling height */, 1 /* subsampling width */,
1342 1 /* dilation_height */, 1 /* dilation_width */,
1343 1 /* groups */,
1344 32 /* input channels per group */,
1345 120 /* output_channels_per_group */,
1346 32 /* input pixel stride */,
1347 120 /* output pixel stride */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08001348 w158.data(), w159.data(),
Marat Dukhanc08cdf52019-12-09 09:17:51 -08001349 0.0f /* output min */, +0x1.00014Fp+0 /* output max */,
1350 0 /* flags */,
1351 &op50);
1352 if (status != xnn_status_success) {
1353 std::cerr << "failed to create operation #50" << std::endl;
1354 return ExecutionPlan();
1355 }
1356 operators.emplace_back(op50, xnn_delete_operator);
1357
1358 xnn_operator_t op51 = nullptr;
1359 status = xnn_create_multiply_nd_f32(
1360 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1361 0 /* flags */,
1362 &op51);
1363 if (status != xnn_status_success) {
1364 std::cerr << "failed to create operation #51" << std::endl;
1365 return ExecutionPlan();
1366 }
1367 operators.emplace_back(op51, xnn_delete_operator);
1368
1369 xnn_operator_t op52 = nullptr;
1370 status = xnn_create_convolution2d_nhwc_f32(
1371 0 /* top padding */, 0 /* right padding */,
1372 0 /* bottom padding */, 0 /* left padding */,
1373 1 /* kernel height */, 1 /* kernel width */,
1374 1 /* subsampling height */, 1 /* subsampling width */,
1375 1 /* dilation_height */, 1 /* dilation_width */,
1376 1 /* groups */,
1377 120 /* input channels per group */,
1378 48 /* output_channels_per_group */,
1379 120 /* input pixel stride */,
1380 48 /* output pixel stride */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08001381 w160.data(), w161.data(),
Marat Dukhanc08cdf52019-12-09 09:17:51 -08001382 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1383 0 /* flags */,
1384 &op52);
1385 if (status != xnn_status_success) {
1386 std::cerr << "failed to create operation #52" << std::endl;
1387 return ExecutionPlan();
1388 }
1389 operators.emplace_back(op52, xnn_delete_operator);
1390
1391 xnn_operator_t op53 = nullptr;
1392 status = xnn_create_convolution2d_nhwc_f32(
1393 0 /* top padding */, 0 /* right padding */,
1394 0 /* bottom padding */, 0 /* left padding */,
1395 1 /* kernel height */, 1 /* kernel width */,
1396 1 /* subsampling height */, 1 /* subsampling width */,
1397 1 /* dilation_height */, 1 /* dilation_width */,
1398 1 /* groups */,
1399 48 /* input channels per group */,
1400 144 /* output_channels_per_group */,
1401 48 /* input pixel stride */,
1402 144 /* output pixel stride */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08001403 w162.data(), w163.data(),
Marat Dukhanc08cdf52019-12-09 09:17:51 -08001404 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1405 0 /* flags */,
1406 &op53);
1407 if (status != xnn_status_success) {
1408 std::cerr << "failed to create operation #53" << std::endl;
1409 return ExecutionPlan();
1410 }
1411 operators.emplace_back(op53, xnn_delete_operator);
1412
1413 xnn_operator_t op54 = nullptr;
1414 status = xnn_create_hardswish_nc_f32(
1415 144 /* channels */,
1416 144 /* input stride */,
1417 144 /* output stride */,
1418 0 /* flags */,
1419 &op54);
1420 if (status != xnn_status_success) {
1421 std::cerr << "failed to create operation #54" << std::endl;
1422 return ExecutionPlan();
1423 }
1424 operators.emplace_back(op54, xnn_delete_operator);
1425
1426 xnn_operator_t op55 = nullptr;
1427 status = xnn_create_convolution2d_nhwc_f32(
1428 2 /* top padding */, 2 /* right padding */,
1429 2 /* bottom padding */, 2 /* left padding */,
1430 5 /* kernel height */, 5 /* kernel width */,
1431 1 /* subsampling height */, 1 /* subsampling width */,
1432 1 /* dilation_height */, 1 /* dilation_width */,
1433 144 /* groups */,
1434 1 /* input channels per group */,
1435 1 /* output_channels_per_group */,
1436 144 /* input pixel stride */,
1437 144 /* output pixel stride */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08001438 w164.data(), w165.data(),
Marat Dukhanc08cdf52019-12-09 09:17:51 -08001439 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1440 0 /* flags */,
1441 &op55);
1442 if (status != xnn_status_success) {
1443 std::cerr << "failed to create operation #55" << std::endl;
1444 return ExecutionPlan();
1445 }
1446 operators.emplace_back(op55, xnn_delete_operator);
1447
1448 xnn_operator_t op56 = nullptr;
1449 status = xnn_create_hardswish_nc_f32(
1450 144 /* channels */,
1451 144 /* input stride */,
1452 144 /* output stride */,
1453 0 /* flags */,
1454 &op56);
1455 if (status != xnn_status_success) {
1456 std::cerr << "failed to create operation #56" << std::endl;
1457 return ExecutionPlan();
1458 }
1459 operators.emplace_back(op56, xnn_delete_operator);
1460
1461 xnn_operator_t op57 = nullptr;
1462 status = xnn_create_global_average_pooling_nwc_f32(
1463 144 /* channels */, 144 /* input stride */, 144 /* output stride */,
1464 -std::numeric_limits<float>::infinity(), std::numeric_limits<float>::infinity(),
1465 0 /* flags */,
1466 &op57);
1467 if (status != xnn_status_success) {
1468 std::cerr << "failed to create operation #57" << std::endl;
1469 return ExecutionPlan();
1470 }
1471 operators.emplace_back(op57, xnn_delete_operator);
1472
1473 xnn_operator_t op58 = nullptr;
1474 status = xnn_create_convolution2d_nhwc_f32(
1475 0 /* top padding */, 0 /* right padding */,
1476 0 /* bottom padding */, 0 /* left padding */,
1477 1 /* kernel height */, 1 /* kernel width */,
1478 1 /* subsampling height */, 1 /* subsampling width */,
1479 1 /* dilation_height */, 1 /* dilation_width */,
1480 1 /* groups */,
1481 144 /* input channels per group */,
1482 40 /* output_channels_per_group */,
1483 144 /* input pixel stride */,
1484 40 /* output pixel stride */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08001485 w166.data(), w167.data(),
Marat Dukhanc08cdf52019-12-09 09:17:51 -08001486 0.0f /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1487 0 /* flags */,
1488 &op58);
1489 if (status != xnn_status_success) {
1490 std::cerr << "failed to create operation #58" << std::endl;
1491 return ExecutionPlan();
1492 }
1493 operators.emplace_back(op58, xnn_delete_operator);
1494
1495 xnn_operator_t op59 = nullptr;
1496 status = xnn_create_convolution2d_nhwc_f32(
1497 0 /* top padding */, 0 /* right padding */,
1498 0 /* bottom padding */, 0 /* left padding */,
1499 1 /* kernel height */, 1 /* kernel width */,
1500 1 /* subsampling height */, 1 /* subsampling width */,
1501 1 /* dilation_height */, 1 /* dilation_width */,
1502 1 /* groups */,
1503 40 /* input channels per group */,
1504 144 /* output_channels_per_group */,
1505 40 /* input pixel stride */,
1506 144 /* output pixel stride */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08001507 w168.data(), w169.data(),
Marat Dukhanc08cdf52019-12-09 09:17:51 -08001508 0.0f /* output min */, +0x1.00014Fp+0 /* output max */,
1509 0 /* flags */,
1510 &op59);
1511 if (status != xnn_status_success) {
1512 std::cerr << "failed to create operation #59" << std::endl;
1513 return ExecutionPlan();
1514 }
1515 operators.emplace_back(op59, xnn_delete_operator);
1516
1517 xnn_operator_t op60 = nullptr;
1518 status = xnn_create_multiply_nd_f32(
1519 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1520 0 /* flags */,
1521 &op60);
1522 if (status != xnn_status_success) {
1523 std::cerr << "failed to create operation #60" << std::endl;
1524 return ExecutionPlan();
1525 }
1526 operators.emplace_back(op60, xnn_delete_operator);
1527
1528 xnn_operator_t op61 = nullptr;
1529 status = xnn_create_convolution2d_nhwc_f32(
1530 0 /* top padding */, 0 /* right padding */,
1531 0 /* bottom padding */, 0 /* left padding */,
1532 1 /* kernel height */, 1 /* kernel width */,
1533 1 /* subsampling height */, 1 /* subsampling width */,
1534 1 /* dilation_height */, 1 /* dilation_width */,
1535 1 /* groups */,
1536 144 /* input channels per group */,
1537 48 /* output_channels_per_group */,
1538 144 /* input pixel stride */,
1539 48 /* output pixel stride */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08001540 w170.data(), w171.data(),
Marat Dukhanc08cdf52019-12-09 09:17:51 -08001541 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1542 0 /* flags */,
1543 &op61);
1544 if (status != xnn_status_success) {
1545 std::cerr << "failed to create operation #61" << std::endl;
1546 return ExecutionPlan();
1547 }
1548 operators.emplace_back(op61, xnn_delete_operator);
1549
1550 xnn_operator_t op62 = nullptr;
Marat Dukhanb2164a32020-06-04 19:05:27 -07001551 status = xnn_create_add_nd_f32(
Marat Dukhanc08cdf52019-12-09 09:17:51 -08001552 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1553 0 /* flags */,
1554 &op62);
1555 if (status != xnn_status_success) {
1556 std::cerr << "failed to create operation #62" << std::endl;
1557 return ExecutionPlan();
1558 }
1559 operators.emplace_back(op62, xnn_delete_operator);
1560
1561 xnn_operator_t op63 = nullptr;
1562 status = xnn_create_convolution2d_nhwc_f32(
1563 0 /* top padding */, 0 /* right padding */,
1564 0 /* bottom padding */, 0 /* left padding */,
1565 1 /* kernel height */, 1 /* kernel width */,
1566 1 /* subsampling height */, 1 /* subsampling width */,
1567 1 /* dilation_height */, 1 /* dilation_width */,
1568 1 /* groups */,
1569 48 /* input channels per group */,
1570 288 /* output_channels_per_group */,
1571 48 /* input pixel stride */,
1572 288 /* output pixel stride */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08001573 w172.data(), w173.data(),
Marat Dukhanc08cdf52019-12-09 09:17:51 -08001574 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1575 0 /* flags */,
1576 &op63);
1577 if (status != xnn_status_success) {
1578 std::cerr << "failed to create operation #63" << std::endl;
1579 return ExecutionPlan();
1580 }
1581 operators.emplace_back(op63, xnn_delete_operator);
1582
1583 xnn_operator_t op64 = nullptr;
1584 status = xnn_create_hardswish_nc_f32(
1585 288 /* channels */,
1586 288 /* input stride */,
1587 288 /* output stride */,
1588 0 /* flags */,
1589 &op64);
1590 if (status != xnn_status_success) {
1591 std::cerr << "failed to create operation #64" << std::endl;
1592 return ExecutionPlan();
1593 }
1594 operators.emplace_back(op64, xnn_delete_operator);
1595
1596 xnn_operator_t op65 = nullptr;
1597 status = xnn_create_convolution2d_nhwc_f32(
1598 1 /* top padding */, 2 /* right padding */,
1599 2 /* bottom padding */, 1 /* left padding */,
1600 5 /* kernel height */, 5 /* kernel width */,
1601 2 /* subsampling height */, 2 /* subsampling width */,
1602 1 /* dilation_height */, 1 /* dilation_width */,
1603 288 /* groups */,
1604 1 /* input channels per group */,
1605 1 /* output_channels_per_group */,
1606 288 /* input pixel stride */,
1607 288 /* output pixel stride */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08001608 w174.data(), w175.data(),
Marat Dukhanc08cdf52019-12-09 09:17:51 -08001609 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1610 0 /* flags */,
1611 &op65);
1612 if (status != xnn_status_success) {
1613 std::cerr << "failed to create operation #65" << std::endl;
1614 return ExecutionPlan();
1615 }
1616 operators.emplace_back(op65, xnn_delete_operator);
1617
1618 xnn_operator_t op66 = nullptr;
1619 status = xnn_create_hardswish_nc_f32(
1620 288 /* channels */,
1621 288 /* input stride */,
1622 288 /* output stride */,
1623 0 /* flags */,
1624 &op66);
1625 if (status != xnn_status_success) {
1626 std::cerr << "failed to create operation #66" << std::endl;
1627 return ExecutionPlan();
1628 }
1629 operators.emplace_back(op66, xnn_delete_operator);
1630
1631 xnn_operator_t op67 = nullptr;
1632 status = xnn_create_global_average_pooling_nwc_f32(
1633 288 /* channels */, 288 /* input stride */, 288 /* output stride */,
1634 -std::numeric_limits<float>::infinity(), std::numeric_limits<float>::infinity(),
1635 0 /* flags */,
1636 &op67);
1637 if (status != xnn_status_success) {
1638 std::cerr << "failed to create operation #67" << std::endl;
1639 return ExecutionPlan();
1640 }
1641 operators.emplace_back(op67, xnn_delete_operator);
1642
1643 xnn_operator_t op68 = nullptr;
1644 status = xnn_create_convolution2d_nhwc_f32(
1645 0 /* top padding */, 0 /* right padding */,
1646 0 /* bottom padding */, 0 /* left padding */,
1647 1 /* kernel height */, 1 /* kernel width */,
1648 1 /* subsampling height */, 1 /* subsampling width */,
1649 1 /* dilation_height */, 1 /* dilation_width */,
1650 1 /* groups */,
1651 288 /* input channels per group */,
1652 72 /* output_channels_per_group */,
1653 288 /* input pixel stride */,
1654 72 /* output pixel stride */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08001655 w176.data(), w177.data(),
Marat Dukhanc08cdf52019-12-09 09:17:51 -08001656 0.0f /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1657 0 /* flags */,
1658 &op68);
1659 if (status != xnn_status_success) {
1660 std::cerr << "failed to create operation #68" << std::endl;
1661 return ExecutionPlan();
1662 }
1663 operators.emplace_back(op68, xnn_delete_operator);
1664
1665 xnn_operator_t op69 = nullptr;
1666 status = xnn_create_convolution2d_nhwc_f32(
1667 0 /* top padding */, 0 /* right padding */,
1668 0 /* bottom padding */, 0 /* left padding */,
1669 1 /* kernel height */, 1 /* kernel width */,
1670 1 /* subsampling height */, 1 /* subsampling width */,
1671 1 /* dilation_height */, 1 /* dilation_width */,
1672 1 /* groups */,
1673 72 /* input channels per group */,
1674 288 /* output_channels_per_group */,
1675 72 /* input pixel stride */,
1676 288 /* output pixel stride */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08001677 w178.data(), w179.data(),
Marat Dukhanc08cdf52019-12-09 09:17:51 -08001678 0.0f /* output min */, +0x1.00014Fp+0 /* output max */,
1679 0 /* flags */,
1680 &op69);
1681 if (status != xnn_status_success) {
1682 std::cerr << "failed to create operation #69" << std::endl;
1683 return ExecutionPlan();
1684 }
1685 operators.emplace_back(op69, xnn_delete_operator);
1686
1687 xnn_operator_t op70 = nullptr;
1688 status = xnn_create_multiply_nd_f32(
1689 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1690 0 /* flags */,
1691 &op70);
1692 if (status != xnn_status_success) {
1693 std::cerr << "failed to create operation #70" << std::endl;
1694 return ExecutionPlan();
1695 }
1696 operators.emplace_back(op70, xnn_delete_operator);
1697
1698 xnn_operator_t op71 = nullptr;
1699 status = xnn_create_convolution2d_nhwc_f32(
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 288 /* input channels per group */,
1707 96 /* output_channels_per_group */,
1708 288 /* input pixel stride */,
1709 96 /* output pixel stride */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08001710 w180.data(), w181.data(),
Marat Dukhanc08cdf52019-12-09 09:17:51 -08001711 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1712 0 /* flags */,
1713 &op71);
1714 if (status != xnn_status_success) {
1715 std::cerr << "failed to create operation #71" << std::endl;
1716 return ExecutionPlan();
1717 }
1718 operators.emplace_back(op71, xnn_delete_operator);
1719
1720 xnn_operator_t op72 = nullptr;
1721 status = xnn_create_convolution2d_nhwc_f32(
1722 0 /* top padding */, 0 /* right padding */,
1723 0 /* bottom padding */, 0 /* left padding */,
1724 1 /* kernel height */, 1 /* kernel width */,
1725 1 /* subsampling height */, 1 /* subsampling width */,
1726 1 /* dilation_height */, 1 /* dilation_width */,
1727 1 /* groups */,
1728 96 /* input channels per group */,
1729 576 /* output_channels_per_group */,
1730 96 /* input pixel stride */,
1731 576 /* output pixel stride */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08001732 w182.data(), w183.data(),
Marat Dukhanc08cdf52019-12-09 09:17:51 -08001733 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1734 0 /* flags */,
1735 &op72);
1736 if (status != xnn_status_success) {
1737 std::cerr << "failed to create operation #72" << std::endl;
1738 return ExecutionPlan();
1739 }
1740 operators.emplace_back(op72, xnn_delete_operator);
1741
1742 xnn_operator_t op73 = nullptr;
1743 status = xnn_create_hardswish_nc_f32(
1744 576 /* channels */,
1745 576 /* input stride */,
1746 576 /* output stride */,
1747 0 /* flags */,
1748 &op73);
1749 if (status != xnn_status_success) {
1750 std::cerr << "failed to create operation #73" << std::endl;
1751 return ExecutionPlan();
1752 }
1753 operators.emplace_back(op73, xnn_delete_operator);
1754
1755 xnn_operator_t op74 = nullptr;
1756 status = xnn_create_convolution2d_nhwc_f32(
1757 2 /* top padding */, 2 /* right padding */,
1758 2 /* bottom padding */, 2 /* left padding */,
1759 5 /* kernel height */, 5 /* kernel width */,
1760 1 /* subsampling height */, 1 /* subsampling width */,
1761 1 /* dilation_height */, 1 /* dilation_width */,
1762 576 /* groups */,
1763 1 /* input channels per group */,
1764 1 /* output_channels_per_group */,
1765 576 /* input pixel stride */,
1766 576 /* output pixel stride */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08001767 w184.data(), w185.data(),
Marat Dukhanc08cdf52019-12-09 09:17:51 -08001768 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1769 0 /* flags */,
1770 &op74);
1771 if (status != xnn_status_success) {
1772 std::cerr << "failed to create operation #74" << std::endl;
1773 return ExecutionPlan();
1774 }
1775 operators.emplace_back(op74, xnn_delete_operator);
1776
1777 xnn_operator_t op75 = nullptr;
1778 status = xnn_create_hardswish_nc_f32(
1779 576 /* channels */,
1780 576 /* input stride */,
1781 576 /* output stride */,
1782 0 /* flags */,
1783 &op75);
1784 if (status != xnn_status_success) {
1785 std::cerr << "failed to create operation #75" << std::endl;
1786 return ExecutionPlan();
1787 }
1788 operators.emplace_back(op75, xnn_delete_operator);
1789
1790 xnn_operator_t op76 = nullptr;
1791 status = xnn_create_global_average_pooling_nwc_f32(
1792 576 /* channels */, 576 /* input stride */, 576 /* output stride */,
1793 -std::numeric_limits<float>::infinity(), std::numeric_limits<float>::infinity(),
1794 0 /* flags */,
1795 &op76);
1796 if (status != xnn_status_success) {
1797 std::cerr << "failed to create operation #76" << std::endl;
1798 return ExecutionPlan();
1799 }
1800 operators.emplace_back(op76, xnn_delete_operator);
1801
1802 xnn_operator_t op77 = nullptr;
1803 status = xnn_create_convolution2d_nhwc_f32(
1804 0 /* top padding */, 0 /* right padding */,
1805 0 /* bottom padding */, 0 /* left padding */,
1806 1 /* kernel height */, 1 /* kernel width */,
1807 1 /* subsampling height */, 1 /* subsampling width */,
1808 1 /* dilation_height */, 1 /* dilation_width */,
1809 1 /* groups */,
1810 576 /* input channels per group */,
1811 144 /* output_channels_per_group */,
1812 576 /* input pixel stride */,
1813 144 /* output pixel stride */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08001814 w186.data(), w187.data(),
Marat Dukhanc08cdf52019-12-09 09:17:51 -08001815 0.0f /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1816 0 /* flags */,
1817 &op77);
1818 if (status != xnn_status_success) {
1819 std::cerr << "failed to create operation #77" << std::endl;
1820 return ExecutionPlan();
1821 }
1822 operators.emplace_back(op77, xnn_delete_operator);
1823
1824 xnn_operator_t op78 = nullptr;
1825 status = xnn_create_convolution2d_nhwc_f32(
1826 0 /* top padding */, 0 /* right padding */,
1827 0 /* bottom padding */, 0 /* left padding */,
1828 1 /* kernel height */, 1 /* kernel width */,
1829 1 /* subsampling height */, 1 /* subsampling width */,
1830 1 /* dilation_height */, 1 /* dilation_width */,
1831 1 /* groups */,
1832 144 /* input channels per group */,
1833 576 /* output_channels_per_group */,
1834 144 /* input pixel stride */,
1835 576 /* output pixel stride */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08001836 w188.data(), w189.data(),
Marat Dukhanc08cdf52019-12-09 09:17:51 -08001837 0.0f /* output min */, +0x1.00014Fp+0 /* output max */,
1838 0 /* flags */,
1839 &op78);
1840 if (status != xnn_status_success) {
1841 std::cerr << "failed to create operation #78" << std::endl;
1842 return ExecutionPlan();
1843 }
1844 operators.emplace_back(op78, xnn_delete_operator);
1845
1846 xnn_operator_t op79 = nullptr;
1847 status = xnn_create_multiply_nd_f32(
1848 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1849 0 /* flags */,
1850 &op79);
1851 if (status != xnn_status_success) {
1852 std::cerr << "failed to create operation #79" << std::endl;
1853 return ExecutionPlan();
1854 }
1855 operators.emplace_back(op79, xnn_delete_operator);
1856
1857 xnn_operator_t op80 = nullptr;
1858 status = xnn_create_convolution2d_nhwc_f32(
1859 0 /* top padding */, 0 /* right padding */,
1860 0 /* bottom padding */, 0 /* left padding */,
1861 1 /* kernel height */, 1 /* kernel width */,
1862 1 /* subsampling height */, 1 /* subsampling width */,
1863 1 /* dilation_height */, 1 /* dilation_width */,
1864 1 /* groups */,
1865 576 /* input channels per group */,
1866 96 /* output_channels_per_group */,
1867 576 /* input pixel stride */,
1868 96 /* output pixel stride */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08001869 w190.data(), w191.data(),
Marat Dukhanc08cdf52019-12-09 09:17:51 -08001870 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1871 0 /* flags */,
1872 &op80);
1873 if (status != xnn_status_success) {
1874 std::cerr << "failed to create operation #80" << std::endl;
1875 return ExecutionPlan();
1876 }
1877 operators.emplace_back(op80, xnn_delete_operator);
1878
1879 xnn_operator_t op81 = nullptr;
Marat Dukhanb2164a32020-06-04 19:05:27 -07001880 status = xnn_create_add_nd_f32(
Marat Dukhanc08cdf52019-12-09 09:17:51 -08001881 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1882 0 /* flags */,
1883 &op81);
1884 if (status != xnn_status_success) {
1885 std::cerr << "failed to create operation #81" << std::endl;
1886 return ExecutionPlan();
1887 }
1888 operators.emplace_back(op81, xnn_delete_operator);
1889
1890 xnn_operator_t op82 = nullptr;
1891 status = xnn_create_convolution2d_nhwc_f32(
1892 0 /* top padding */, 0 /* right padding */,
1893 0 /* bottom padding */, 0 /* left padding */,
1894 1 /* kernel height */, 1 /* kernel width */,
1895 1 /* subsampling height */, 1 /* subsampling width */,
1896 1 /* dilation_height */, 1 /* dilation_width */,
1897 1 /* groups */,
1898 96 /* input channels per group */,
1899 576 /* output_channels_per_group */,
1900 96 /* input pixel stride */,
1901 576 /* output pixel stride */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08001902 w192.data(), w193.data(),
Marat Dukhanc08cdf52019-12-09 09:17:51 -08001903 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1904 0 /* flags */,
1905 &op82);
1906 if (status != xnn_status_success) {
1907 std::cerr << "failed to create operation #82" << std::endl;
1908 return ExecutionPlan();
1909 }
1910 operators.emplace_back(op82, xnn_delete_operator);
1911
1912 xnn_operator_t op83 = nullptr;
1913 status = xnn_create_hardswish_nc_f32(
1914 576 /* channels */,
1915 576 /* input stride */,
1916 576 /* output stride */,
1917 0 /* flags */,
1918 &op83);
1919 if (status != xnn_status_success) {
1920 std::cerr << "failed to create operation #83" << std::endl;
1921 return ExecutionPlan();
1922 }
1923 operators.emplace_back(op83, xnn_delete_operator);
1924
1925 xnn_operator_t op84 = nullptr;
1926 status = xnn_create_convolution2d_nhwc_f32(
1927 2 /* top padding */, 2 /* right padding */,
1928 2 /* bottom padding */, 2 /* left padding */,
1929 5 /* kernel height */, 5 /* kernel width */,
1930 1 /* subsampling height */, 1 /* subsampling width */,
1931 1 /* dilation_height */, 1 /* dilation_width */,
1932 576 /* groups */,
1933 1 /* input channels per group */,
1934 1 /* output_channels_per_group */,
1935 576 /* input pixel stride */,
1936 576 /* output pixel stride */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08001937 w194.data(), w195.data(),
Marat Dukhanc08cdf52019-12-09 09:17:51 -08001938 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1939 0 /* flags */,
1940 &op84);
1941 if (status != xnn_status_success) {
1942 std::cerr << "failed to create operation #84" << std::endl;
1943 return ExecutionPlan();
1944 }
1945 operators.emplace_back(op84, xnn_delete_operator);
1946
1947 xnn_operator_t op85 = nullptr;
1948 status = xnn_create_hardswish_nc_f32(
1949 576 /* channels */,
1950 576 /* input stride */,
1951 576 /* output stride */,
1952 0 /* flags */,
1953 &op85);
1954 if (status != xnn_status_success) {
1955 std::cerr << "failed to create operation #85" << std::endl;
1956 return ExecutionPlan();
1957 }
1958 operators.emplace_back(op85, xnn_delete_operator);
1959
1960 xnn_operator_t op86 = nullptr;
1961 status = xnn_create_global_average_pooling_nwc_f32(
1962 576 /* channels */, 576 /* input stride */, 576 /* output stride */,
1963 -std::numeric_limits<float>::infinity(), std::numeric_limits<float>::infinity(),
1964 0 /* flags */,
1965 &op86);
1966 if (status != xnn_status_success) {
1967 std::cerr << "failed to create operation #86" << std::endl;
1968 return ExecutionPlan();
1969 }
1970 operators.emplace_back(op86, xnn_delete_operator);
1971
1972 xnn_operator_t op87 = nullptr;
1973 status = xnn_create_convolution2d_nhwc_f32(
1974 0 /* top padding */, 0 /* right padding */,
1975 0 /* bottom padding */, 0 /* left padding */,
1976 1 /* kernel height */, 1 /* kernel width */,
1977 1 /* subsampling height */, 1 /* subsampling width */,
1978 1 /* dilation_height */, 1 /* dilation_width */,
1979 1 /* groups */,
1980 576 /* input channels per group */,
1981 144 /* output_channels_per_group */,
1982 576 /* input pixel stride */,
1983 144 /* output pixel stride */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08001984 w196.data(), w197.data(),
Marat Dukhanc08cdf52019-12-09 09:17:51 -08001985 0.0f /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1986 0 /* flags */,
1987 &op87);
1988 if (status != xnn_status_success) {
1989 std::cerr << "failed to create operation #87" << std::endl;
1990 return ExecutionPlan();
1991 }
1992 operators.emplace_back(op87, xnn_delete_operator);
1993
1994 xnn_operator_t op88 = nullptr;
1995 status = xnn_create_convolution2d_nhwc_f32(
1996 0 /* top padding */, 0 /* right padding */,
1997 0 /* bottom padding */, 0 /* left padding */,
1998 1 /* kernel height */, 1 /* kernel width */,
1999 1 /* subsampling height */, 1 /* subsampling width */,
2000 1 /* dilation_height */, 1 /* dilation_width */,
2001 1 /* groups */,
2002 144 /* input channels per group */,
2003 576 /* output_channels_per_group */,
2004 144 /* input pixel stride */,
2005 576 /* output pixel stride */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002006 w198.data(), w199.data(),
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002007 0.0f /* output min */, +0x1.00014Fp+0 /* output max */,
2008 0 /* flags */,
2009 &op88);
2010 if (status != xnn_status_success) {
2011 std::cerr << "failed to create operation #88" << std::endl;
2012 return ExecutionPlan();
2013 }
2014 operators.emplace_back(op88, xnn_delete_operator);
2015
2016 xnn_operator_t op89 = nullptr;
2017 status = xnn_create_multiply_nd_f32(
2018 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
2019 0 /* flags */,
2020 &op89);
2021 if (status != xnn_status_success) {
2022 std::cerr << "failed to create operation #89" << std::endl;
2023 return ExecutionPlan();
2024 }
2025 operators.emplace_back(op89, xnn_delete_operator);
2026
2027 xnn_operator_t op90 = nullptr;
2028 status = xnn_create_convolution2d_nhwc_f32(
2029 0 /* top padding */, 0 /* right padding */,
2030 0 /* bottom padding */, 0 /* left padding */,
2031 1 /* kernel height */, 1 /* kernel width */,
2032 1 /* subsampling height */, 1 /* subsampling width */,
2033 1 /* dilation_height */, 1 /* dilation_width */,
2034 1 /* groups */,
2035 576 /* input channels per group */,
2036 96 /* output_channels_per_group */,
2037 576 /* input pixel stride */,
2038 96 /* output pixel stride */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002039 w200.data(), w201.data(),
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002040 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
2041 0 /* flags */,
2042 &op90);
2043 if (status != xnn_status_success) {
2044 std::cerr << "failed to create operation #90" << std::endl;
2045 return ExecutionPlan();
2046 }
2047 operators.emplace_back(op90, xnn_delete_operator);
2048
2049 xnn_operator_t op91 = nullptr;
Marat Dukhanb2164a32020-06-04 19:05:27 -07002050 status = xnn_create_add_nd_f32(
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002051 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
2052 0 /* flags */,
2053 &op91);
2054 if (status != xnn_status_success) {
2055 std::cerr << "failed to create operation #91" << std::endl;
2056 return ExecutionPlan();
2057 }
2058 operators.emplace_back(op91, xnn_delete_operator);
2059
2060 xnn_operator_t op92 = nullptr;
2061 status = xnn_create_convolution2d_nhwc_f32(
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 96 /* input channels per group */,
2069 576 /* output_channels_per_group */,
2070 96 /* input pixel stride */,
2071 576 /* output pixel stride */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002072 w202.data(), w203.data(),
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002073 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
2074 0 /* flags */,
2075 &op92);
2076 if (status != xnn_status_success) {
2077 std::cerr << "failed to create operation #92" << std::endl;
2078 return ExecutionPlan();
2079 }
2080 operators.emplace_back(op92, xnn_delete_operator);
2081
2082 xnn_operator_t op93 = nullptr;
2083 status = xnn_create_hardswish_nc_f32(
2084 576 /* channels */,
2085 576 /* input stride */,
2086 576 /* output stride */,
2087 0 /* flags */,
2088 &op93);
2089 if (status != xnn_status_success) {
2090 std::cerr << "failed to create operation #93" << std::endl;
2091 return ExecutionPlan();
2092 }
2093 operators.emplace_back(op93, xnn_delete_operator);
2094
2095 xnn_operator_t op94 = nullptr;
2096 status = xnn_create_global_average_pooling_nwc_f32(
2097 576 /* channels */, 576 /* input stride */, 576 /* output stride */,
2098 -std::numeric_limits<float>::infinity(), std::numeric_limits<float>::infinity(),
2099 0 /* flags */,
2100 &op94);
2101 if (status != xnn_status_success) {
2102 std::cerr << "failed to create operation #94" << std::endl;
2103 return ExecutionPlan();
2104 }
2105 operators.emplace_back(op94, xnn_delete_operator);
2106
2107 xnn_operator_t op95 = nullptr;
2108 status = xnn_create_convolution2d_nhwc_f32(
2109 0 /* top padding */, 0 /* right padding */,
2110 0 /* bottom padding */, 0 /* left padding */,
2111 1 /* kernel height */, 1 /* kernel width */,
2112 1 /* subsampling height */, 1 /* subsampling width */,
2113 1 /* dilation_height */, 1 /* dilation_width */,
2114 1 /* groups */,
2115 576 /* input channels per group */,
2116 1024 /* output_channels_per_group */,
2117 576 /* input pixel stride */,
2118 1024 /* output pixel stride */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002119 w204.data(), w205.data(),
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002120 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
2121 0 /* flags */,
2122 &op95);
2123 if (status != xnn_status_success) {
2124 std::cerr << "failed to create operation #95" << std::endl;
2125 return ExecutionPlan();
2126 }
2127 operators.emplace_back(op95, xnn_delete_operator);
2128
2129 xnn_operator_t op96 = nullptr;
2130 status = xnn_create_hardswish_nc_f32(
2131 1024 /* channels */,
2132 1024 /* input stride */,
2133 1024 /* output stride */,
2134 0 /* flags */,
2135 &op96);
2136 if (status != xnn_status_success) {
2137 std::cerr << "failed to create operation #96" << std::endl;
2138 return ExecutionPlan();
2139 }
2140 operators.emplace_back(op96, xnn_delete_operator);
2141
2142 xnn_operator_t op97 = nullptr;
2143 status = xnn_create_global_average_pooling_nwc_f32(
2144 1024 /* channels */, 1024 /* input stride */, 1024 /* output stride */,
2145 -std::numeric_limits<float>::infinity(), std::numeric_limits<float>::infinity(),
2146 0 /* flags */,
2147 &op97);
2148 if (status != xnn_status_success) {
2149 std::cerr << "failed to create operation #97" << std::endl;
2150 return ExecutionPlan();
2151 }
2152 operators.emplace_back(op97, xnn_delete_operator);
2153
2154 xnn_operator_t op98 = nullptr;
2155 status = xnn_create_convolution2d_nhwc_f32(
2156 0 /* top padding */, 0 /* right padding */,
2157 0 /* bottom padding */, 0 /* left padding */,
2158 1 /* kernel height */, 1 /* kernel width */,
2159 1 /* subsampling height */, 1 /* subsampling width */,
2160 1 /* dilation_height */, 1 /* dilation_width */,
2161 1 /* groups */,
2162 1024 /* input channels per group */,
2163 1001 /* output_channels_per_group */,
2164 1024 /* input pixel stride */,
2165 1001 /* output pixel stride */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002166 w206.data(), w207.data(),
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002167 -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
2168 0 /* flags */,
2169 &op98);
2170 if (status != xnn_status_success) {
2171 std::cerr << "failed to create operation #98" << std::endl;
2172 return ExecutionPlan();
2173 }
2174 operators.emplace_back(op98, xnn_delete_operator);
2175
2176
2177
2178 status = xnn_setup_convolution2d_nhwc_f32(
2179 op0,
2180 1 /* batch size */, 224 /* input height */, 224 /* input width */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002181 v0.data() /* input */, v1.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002182 threadpool /* threadpool */);
2183 if (status != xnn_status_success) {
2184 std::cerr << "failed to setup operation #0" << std::endl;
2185 return ExecutionPlan();
2186 }
2187
2188 status = xnn_setup_hardswish_nc_f32(
2189 op1,
2190 12544 /* batch size */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002191 v1.data() /* input */, v2.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002192 threadpool /* threadpool */);
2193 if (status != xnn_status_success) {
2194 std::cerr << "failed to setup operation #1" << std::endl;
2195 return ExecutionPlan();
2196 }
2197
2198 status = xnn_setup_convolution2d_nhwc_f32(
2199 op2,
2200 1 /* batch size */, 112 /* input height */, 112 /* input width */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002201 v2.data() /* input */, v3.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002202 threadpool /* threadpool */);
2203 if (status != xnn_status_success) {
2204 std::cerr << "failed to setup operation #2" << std::endl;
2205 return ExecutionPlan();
2206 }
2207
2208 status = xnn_setup_global_average_pooling_nwc_f32(
2209 op3,
2210 1 /* batch size */, 3136 /* width */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002211 v3.data() /* input */, v4.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002212 threadpool /* threadpool */);
2213 if (status != xnn_status_success) {
2214 std::cerr << "failed to setup operation #3" << std::endl;
2215 return ExecutionPlan();
2216 }
2217
2218 status = xnn_setup_convolution2d_nhwc_f32(
2219 op4,
2220 1 /* batch size */, 1 /* input height */, 1 /* input width */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002221 v4.data() /* input */, v5.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002222 threadpool /* threadpool */);
2223 if (status != xnn_status_success) {
2224 std::cerr << "failed to setup operation #4" << std::endl;
2225 return ExecutionPlan();
2226 }
2227
2228 status = xnn_setup_convolution2d_nhwc_f32(
2229 op5,
2230 1 /* batch size */, 1 /* input height */, 1 /* input width */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002231 v5.data() /* input */, v6.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002232 threadpool /* threadpool */);
2233 if (status != xnn_status_success) {
2234 std::cerr << "failed to setup operation #5" << std::endl;
2235 return ExecutionPlan();
2236 }
2237
2238 {
2239 const size_t a_shape[] = { 1, 56, 56, 16 };
2240 const size_t b_shape[] = { 1, 1, 1, 16 };
2241 status = xnn_setup_multiply_nd_f32(
2242 op6,
2243 4, a_shape, 4, b_shape,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002244 v3.data() /* a */, v6.data() /* b */, v7.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002245 threadpool /* threadpool */);
2246 }
2247 if (status != xnn_status_success) {
2248 std::cerr << "failed to setup operation #6" << std::endl;
2249 return ExecutionPlan();
2250 }
2251
2252 status = xnn_setup_convolution2d_nhwc_f32(
2253 op7,
2254 1 /* batch size */, 56 /* input height */, 56 /* input width */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002255 v7.data() /* input */, v8.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002256 threadpool /* threadpool */);
2257 if (status != xnn_status_success) {
2258 std::cerr << "failed to setup operation #7" << std::endl;
2259 return ExecutionPlan();
2260 }
2261
2262 status = xnn_setup_convolution2d_nhwc_f32(
2263 op8,
2264 1 /* batch size */, 56 /* input height */, 56 /* input width */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002265 v8.data() /* input */, v9.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002266 threadpool /* threadpool */);
2267 if (status != xnn_status_success) {
2268 std::cerr << "failed to setup operation #8" << std::endl;
2269 return ExecutionPlan();
2270 }
2271
2272 status = xnn_setup_convolution2d_nhwc_f32(
2273 op9,
2274 1 /* batch size */, 56 /* input height */, 56 /* input width */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002275 v9.data() /* input */, v10.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002276 threadpool /* threadpool */);
2277 if (status != xnn_status_success) {
2278 std::cerr << "failed to setup operation #9" << std::endl;
2279 return ExecutionPlan();
2280 }
2281
2282 status = xnn_setup_convolution2d_nhwc_f32(
2283 op10,
2284 1 /* batch size */, 28 /* input height */, 28 /* input width */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002285 v10.data() /* input */, v11.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002286 threadpool /* threadpool */);
2287 if (status != xnn_status_success) {
2288 std::cerr << "failed to setup operation #10" << std::endl;
2289 return ExecutionPlan();
2290 }
2291
2292 status = xnn_setup_convolution2d_nhwc_f32(
2293 op11,
2294 1 /* batch size */, 28 /* input height */, 28 /* input width */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002295 v11.data() /* input */, v12.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002296 threadpool /* threadpool */);
2297 if (status != xnn_status_success) {
2298 std::cerr << "failed to setup operation #11" << std::endl;
2299 return ExecutionPlan();
2300 }
2301
2302 status = xnn_setup_convolution2d_nhwc_f32(
2303 op12,
2304 1 /* batch size */, 28 /* input height */, 28 /* input width */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002305 v12.data() /* input */, v13.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002306 threadpool /* threadpool */);
2307 if (status != xnn_status_success) {
2308 std::cerr << "failed to setup operation #12" << std::endl;
2309 return ExecutionPlan();
2310 }
2311
2312 status = xnn_setup_convolution2d_nhwc_f32(
2313 op13,
2314 1 /* batch size */, 28 /* input height */, 28 /* input width */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002315 v13.data() /* input */, v14.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002316 threadpool /* threadpool */);
2317 if (status != xnn_status_success) {
2318 std::cerr << "failed to setup operation #13" << std::endl;
2319 return ExecutionPlan();
2320 }
2321
Marat Dukhanb2164a32020-06-04 19:05:27 -07002322 {
2323 const size_t a_shape[] = { 1, 28, 28, 24 };
2324 const size_t b_shape[] = { 1, 28, 28, 24 };
2325 status = xnn_setup_add_nd_f32(
2326 op14,
2327 4, a_shape, 4, b_shape,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002328 v14.data() /* a */, v11.data() /* b */, v15.data() /* output */,
Marat Dukhanb2164a32020-06-04 19:05:27 -07002329 threadpool /* threadpool */);
2330 }
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002331 if (status != xnn_status_success) {
2332 std::cerr << "failed to setup operation #14" << std::endl;
2333 return ExecutionPlan();
2334 }
2335
2336 status = xnn_setup_convolution2d_nhwc_f32(
2337 op15,
2338 1 /* batch size */, 28 /* input height */, 28 /* input width */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002339 v15.data() /* input */, v16.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002340 threadpool /* threadpool */);
2341 if (status != xnn_status_success) {
2342 std::cerr << "failed to setup operation #15" << std::endl;
2343 return ExecutionPlan();
2344 }
2345
2346 status = xnn_setup_hardswish_nc_f32(
2347 op16,
2348 784 /* batch size */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002349 v16.data() /* input */, v17.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002350 threadpool /* threadpool */);
2351 if (status != xnn_status_success) {
2352 std::cerr << "failed to setup operation #16" << std::endl;
2353 return ExecutionPlan();
2354 }
2355
2356 status = xnn_setup_convolution2d_nhwc_f32(
2357 op17,
2358 1 /* batch size */, 28 /* input height */, 28 /* input width */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002359 v17.data() /* input */, v18.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002360 threadpool /* threadpool */);
2361 if (status != xnn_status_success) {
2362 std::cerr << "failed to setup operation #17" << std::endl;
2363 return ExecutionPlan();
2364 }
2365
2366 status = xnn_setup_hardswish_nc_f32(
2367 op18,
2368 196 /* batch size */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002369 v18.data() /* input */, v19.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002370 threadpool /* threadpool */);
2371 if (status != xnn_status_success) {
2372 std::cerr << "failed to setup operation #18" << std::endl;
2373 return ExecutionPlan();
2374 }
2375
2376 status = xnn_setup_global_average_pooling_nwc_f32(
2377 op19,
2378 1 /* batch size */, 196 /* width */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002379 v19.data() /* input */, v20.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002380 threadpool /* threadpool */);
2381 if (status != xnn_status_success) {
2382 std::cerr << "failed to setup operation #19" << std::endl;
2383 return ExecutionPlan();
2384 }
2385
2386 status = xnn_setup_convolution2d_nhwc_f32(
2387 op20,
2388 1 /* batch size */, 1 /* input height */, 1 /* input width */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002389 v20.data() /* input */, v21.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002390 threadpool /* threadpool */);
2391 if (status != xnn_status_success) {
2392 std::cerr << "failed to setup operation #20" << std::endl;
2393 return ExecutionPlan();
2394 }
2395
2396 status = xnn_setup_convolution2d_nhwc_f32(
2397 op21,
2398 1 /* batch size */, 1 /* input height */, 1 /* input width */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002399 v21.data() /* input */, v22.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002400 threadpool /* threadpool */);
2401 if (status != xnn_status_success) {
2402 std::cerr << "failed to setup operation #21" << std::endl;
2403 return ExecutionPlan();
2404 }
2405
2406 {
2407 const size_t a_shape[] = { 1, 14, 14, 96 };
2408 const size_t b_shape[] = { 1, 1, 1, 96 };
2409 status = xnn_setup_multiply_nd_f32(
2410 op22,
2411 4, a_shape, 4, b_shape,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002412 v19.data() /* a */, v22.data() /* b */, v23.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002413 threadpool /* threadpool */);
2414 }
2415 if (status != xnn_status_success) {
2416 std::cerr << "failed to setup operation #22" << std::endl;
2417 return ExecutionPlan();
2418 }
2419
2420 status = xnn_setup_convolution2d_nhwc_f32(
2421 op23,
2422 1 /* batch size */, 14 /* input height */, 14 /* input width */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002423 v23.data() /* input */, v24.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002424 threadpool /* threadpool */);
2425 if (status != xnn_status_success) {
2426 std::cerr << "failed to setup operation #23" << std::endl;
2427 return ExecutionPlan();
2428 }
2429
2430 status = xnn_setup_convolution2d_nhwc_f32(
2431 op24,
2432 1 /* batch size */, 14 /* input height */, 14 /* input width */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002433 v24.data() /* input */, v25.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002434 threadpool /* threadpool */);
2435 if (status != xnn_status_success) {
2436 std::cerr << "failed to setup operation #24" << std::endl;
2437 return ExecutionPlan();
2438 }
2439
2440 status = xnn_setup_hardswish_nc_f32(
2441 op25,
2442 196 /* batch size */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002443 v25.data() /* input */, v26.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002444 threadpool /* threadpool */);
2445 if (status != xnn_status_success) {
2446 std::cerr << "failed to setup operation #25" << std::endl;
2447 return ExecutionPlan();
2448 }
2449
2450 status = xnn_setup_convolution2d_nhwc_f32(
2451 op26,
2452 1 /* batch size */, 14 /* input height */, 14 /* input width */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002453 v26.data() /* input */, v27.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002454 threadpool /* threadpool */);
2455 if (status != xnn_status_success) {
2456 std::cerr << "failed to setup operation #26" << std::endl;
2457 return ExecutionPlan();
2458 }
2459
2460 status = xnn_setup_hardswish_nc_f32(
2461 op27,
2462 196 /* batch size */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002463 v27.data() /* input */, v28.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002464 threadpool /* threadpool */);
2465 if (status != xnn_status_success) {
2466 std::cerr << "failed to setup operation #27" << std::endl;
2467 return ExecutionPlan();
2468 }
2469
2470 status = xnn_setup_global_average_pooling_nwc_f32(
2471 op28,
2472 1 /* batch size */, 196 /* width */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002473 v28.data() /* input */, v29.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002474 threadpool /* threadpool */);
2475 if (status != xnn_status_success) {
2476 std::cerr << "failed to setup operation #28" << std::endl;
2477 return ExecutionPlan();
2478 }
2479
2480 status = xnn_setup_convolution2d_nhwc_f32(
2481 op29,
2482 1 /* batch size */, 1 /* input height */, 1 /* input width */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002483 v29.data() /* input */, v30.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002484 threadpool /* threadpool */);
2485 if (status != xnn_status_success) {
2486 std::cerr << "failed to setup operation #29" << std::endl;
2487 return ExecutionPlan();
2488 }
2489
2490 status = xnn_setup_convolution2d_nhwc_f32(
2491 op30,
2492 1 /* batch size */, 1 /* input height */, 1 /* input width */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002493 v30.data() /* input */, v31.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002494 threadpool /* threadpool */);
2495 if (status != xnn_status_success) {
2496 std::cerr << "failed to setup operation #30" << std::endl;
2497 return ExecutionPlan();
2498 }
2499
2500 {
2501 const size_t a_shape[] = { 1, 14, 14, 240 };
2502 const size_t b_shape[] = { 1, 1, 1, 240 };
2503 status = xnn_setup_multiply_nd_f32(
2504 op31,
2505 4, a_shape, 4, b_shape,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002506 v28.data() /* a */, v31.data() /* b */, v32.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002507 threadpool /* threadpool */);
2508 }
2509 if (status != xnn_status_success) {
2510 std::cerr << "failed to setup operation #31" << std::endl;
2511 return ExecutionPlan();
2512 }
2513
2514 status = xnn_setup_convolution2d_nhwc_f32(
2515 op32,
2516 1 /* batch size */, 14 /* input height */, 14 /* input width */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002517 v32.data() /* input */, v33.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002518 threadpool /* threadpool */);
2519 if (status != xnn_status_success) {
2520 std::cerr << "failed to setup operation #32" << std::endl;
2521 return ExecutionPlan();
2522 }
2523
Marat Dukhanb2164a32020-06-04 19:05:27 -07002524 {
2525 const size_t a_shape[] = { 1, 14, 14, 40 };
2526 const size_t b_shape[] = { 1, 14, 14, 40 };
2527 status = xnn_setup_add_nd_f32(
2528 op33,
2529 4, a_shape, 4, b_shape,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002530 v33.data() /* a */, v24.data() /* b */, v34.data() /* output */,
Marat Dukhanb2164a32020-06-04 19:05:27 -07002531 threadpool /* threadpool */);
2532 }
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002533 if (status != xnn_status_success) {
2534 std::cerr << "failed to setup operation #33" << std::endl;
2535 return ExecutionPlan();
2536 }
2537
2538 status = xnn_setup_convolution2d_nhwc_f32(
2539 op34,
2540 1 /* batch size */, 14 /* input height */, 14 /* input width */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002541 v34.data() /* input */, v35.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002542 threadpool /* threadpool */);
2543 if (status != xnn_status_success) {
2544 std::cerr << "failed to setup operation #34" << std::endl;
2545 return ExecutionPlan();
2546 }
2547
2548 status = xnn_setup_hardswish_nc_f32(
2549 op35,
2550 196 /* batch size */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002551 v35.data() /* input */, v36.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002552 threadpool /* threadpool */);
2553 if (status != xnn_status_success) {
2554 std::cerr << "failed to setup operation #35" << std::endl;
2555 return ExecutionPlan();
2556 }
2557
2558 status = xnn_setup_convolution2d_nhwc_f32(
2559 op36,
2560 1 /* batch size */, 14 /* input height */, 14 /* input width */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002561 v36.data() /* input */, v37.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002562 threadpool /* threadpool */);
2563 if (status != xnn_status_success) {
2564 std::cerr << "failed to setup operation #36" << std::endl;
2565 return ExecutionPlan();
2566 }
2567
2568 status = xnn_setup_hardswish_nc_f32(
2569 op37,
2570 196 /* batch size */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002571 v37.data() /* input */, v38.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002572 threadpool /* threadpool */);
2573 if (status != xnn_status_success) {
2574 std::cerr << "failed to setup operation #37" << std::endl;
2575 return ExecutionPlan();
2576 }
2577
2578 status = xnn_setup_global_average_pooling_nwc_f32(
2579 op38,
2580 1 /* batch size */, 196 /* width */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002581 v38.data() /* input */, v39.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002582 threadpool /* threadpool */);
2583 if (status != xnn_status_success) {
2584 std::cerr << "failed to setup operation #38" << std::endl;
2585 return ExecutionPlan();
2586 }
2587
2588 status = xnn_setup_convolution2d_nhwc_f32(
2589 op39,
2590 1 /* batch size */, 1 /* input height */, 1 /* input width */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002591 v39.data() /* input */, v40.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002592 threadpool /* threadpool */);
2593 if (status != xnn_status_success) {
2594 std::cerr << "failed to setup operation #39" << std::endl;
2595 return ExecutionPlan();
2596 }
2597
2598 status = xnn_setup_convolution2d_nhwc_f32(
2599 op40,
2600 1 /* batch size */, 1 /* input height */, 1 /* input width */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002601 v40.data() /* input */, v41.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002602 threadpool /* threadpool */);
2603 if (status != xnn_status_success) {
2604 std::cerr << "failed to setup operation #40" << std::endl;
2605 return ExecutionPlan();
2606 }
2607
2608 {
2609 const size_t a_shape[] = { 1, 14, 14, 240 };
2610 const size_t b_shape[] = { 1, 1, 1, 240 };
2611 status = xnn_setup_multiply_nd_f32(
2612 op41,
2613 4, a_shape, 4, b_shape,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002614 v38.data() /* a */, v41.data() /* b */, v42.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002615 threadpool /* threadpool */);
2616 }
2617 if (status != xnn_status_success) {
2618 std::cerr << "failed to setup operation #41" << std::endl;
2619 return ExecutionPlan();
2620 }
2621
2622 status = xnn_setup_convolution2d_nhwc_f32(
2623 op42,
2624 1 /* batch size */, 14 /* input height */, 14 /* input width */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002625 v42.data() /* input */, v43.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002626 threadpool /* threadpool */);
2627 if (status != xnn_status_success) {
2628 std::cerr << "failed to setup operation #42" << std::endl;
2629 return ExecutionPlan();
2630 }
2631
Marat Dukhanb2164a32020-06-04 19:05:27 -07002632 {
2633 const size_t a_shape[] = { 1, 14, 14, 40 };
2634 const size_t b_shape[] = { 1, 14, 14, 40 };
2635 status = xnn_setup_add_nd_f32(
2636 op43,
2637 4, a_shape, 4, b_shape,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002638 v43.data() /* a */, v34.data() /* b */, v44.data() /* output */,
Marat Dukhanb2164a32020-06-04 19:05:27 -07002639 threadpool /* threadpool */);
2640 }
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002641 if (status != xnn_status_success) {
2642 std::cerr << "failed to setup operation #43" << std::endl;
2643 return ExecutionPlan();
2644 }
2645
2646 status = xnn_setup_convolution2d_nhwc_f32(
2647 op44,
2648 1 /* batch size */, 14 /* input height */, 14 /* input width */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002649 v44.data() /* input */, v45.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002650 threadpool /* threadpool */);
2651 if (status != xnn_status_success) {
2652 std::cerr << "failed to setup operation #44" << std::endl;
2653 return ExecutionPlan();
2654 }
2655
2656 status = xnn_setup_hardswish_nc_f32(
2657 op45,
2658 196 /* batch size */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002659 v45.data() /* input */, v46.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002660 threadpool /* threadpool */);
2661 if (status != xnn_status_success) {
2662 std::cerr << "failed to setup operation #45" << std::endl;
2663 return ExecutionPlan();
2664 }
2665
2666 status = xnn_setup_convolution2d_nhwc_f32(
2667 op46,
2668 1 /* batch size */, 14 /* input height */, 14 /* input width */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002669 v46.data() /* input */, v47.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002670 threadpool /* threadpool */);
2671 if (status != xnn_status_success) {
2672 std::cerr << "failed to setup operation #46" << std::endl;
2673 return ExecutionPlan();
2674 }
2675
2676 status = xnn_setup_hardswish_nc_f32(
2677 op47,
2678 196 /* batch size */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002679 v47.data() /* input */, v48.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002680 threadpool /* threadpool */);
2681 if (status != xnn_status_success) {
2682 std::cerr << "failed to setup operation #47" << std::endl;
2683 return ExecutionPlan();
2684 }
2685
2686 status = xnn_setup_global_average_pooling_nwc_f32(
2687 op48,
2688 1 /* batch size */, 196 /* width */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002689 v48.data() /* input */, v49.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002690 threadpool /* threadpool */);
2691 if (status != xnn_status_success) {
2692 std::cerr << "failed to setup operation #48" << std::endl;
2693 return ExecutionPlan();
2694 }
2695
2696 status = xnn_setup_convolution2d_nhwc_f32(
2697 op49,
2698 1 /* batch size */, 1 /* input height */, 1 /* input width */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002699 v49.data() /* input */, v50.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002700 threadpool /* threadpool */);
2701 if (status != xnn_status_success) {
2702 std::cerr << "failed to setup operation #49" << std::endl;
2703 return ExecutionPlan();
2704 }
2705
2706 status = xnn_setup_convolution2d_nhwc_f32(
2707 op50,
2708 1 /* batch size */, 1 /* input height */, 1 /* input width */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002709 v50.data() /* input */, v51.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002710 threadpool /* threadpool */);
2711 if (status != xnn_status_success) {
2712 std::cerr << "failed to setup operation #50" << std::endl;
2713 return ExecutionPlan();
2714 }
2715
2716 {
2717 const size_t a_shape[] = { 1, 14, 14, 120 };
2718 const size_t b_shape[] = { 1, 1, 1, 120 };
2719 status = xnn_setup_multiply_nd_f32(
2720 op51,
2721 4, a_shape, 4, b_shape,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002722 v48.data() /* a */, v51.data() /* b */, v52.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002723 threadpool /* threadpool */);
2724 }
2725 if (status != xnn_status_success) {
2726 std::cerr << "failed to setup operation #51" << std::endl;
2727 return ExecutionPlan();
2728 }
2729
2730 status = xnn_setup_convolution2d_nhwc_f32(
2731 op52,
2732 1 /* batch size */, 14 /* input height */, 14 /* input width */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002733 v52.data() /* input */, v53.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002734 threadpool /* threadpool */);
2735 if (status != xnn_status_success) {
2736 std::cerr << "failed to setup operation #52" << std::endl;
2737 return ExecutionPlan();
2738 }
2739
2740 status = xnn_setup_convolution2d_nhwc_f32(
2741 op53,
2742 1 /* batch size */, 14 /* input height */, 14 /* input width */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002743 v53.data() /* input */, v54.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002744 threadpool /* threadpool */);
2745 if (status != xnn_status_success) {
2746 std::cerr << "failed to setup operation #53" << std::endl;
2747 return ExecutionPlan();
2748 }
2749
2750 status = xnn_setup_hardswish_nc_f32(
2751 op54,
2752 196 /* batch size */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002753 v54.data() /* input */, v55.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002754 threadpool /* threadpool */);
2755 if (status != xnn_status_success) {
2756 std::cerr << "failed to setup operation #54" << std::endl;
2757 return ExecutionPlan();
2758 }
2759
2760 status = xnn_setup_convolution2d_nhwc_f32(
2761 op55,
2762 1 /* batch size */, 14 /* input height */, 14 /* input width */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002763 v55.data() /* input */, v56.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002764 threadpool /* threadpool */);
2765 if (status != xnn_status_success) {
2766 std::cerr << "failed to setup operation #55" << std::endl;
2767 return ExecutionPlan();
2768 }
2769
2770 status = xnn_setup_hardswish_nc_f32(
2771 op56,
2772 196 /* batch size */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002773 v56.data() /* input */, v57.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002774 threadpool /* threadpool */);
2775 if (status != xnn_status_success) {
2776 std::cerr << "failed to setup operation #56" << std::endl;
2777 return ExecutionPlan();
2778 }
2779
2780 status = xnn_setup_global_average_pooling_nwc_f32(
2781 op57,
2782 1 /* batch size */, 196 /* width */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002783 v57.data() /* input */, v58.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002784 threadpool /* threadpool */);
2785 if (status != xnn_status_success) {
2786 std::cerr << "failed to setup operation #57" << std::endl;
2787 return ExecutionPlan();
2788 }
2789
2790 status = xnn_setup_convolution2d_nhwc_f32(
2791 op58,
2792 1 /* batch size */, 1 /* input height */, 1 /* input width */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002793 v58.data() /* input */, v59.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002794 threadpool /* threadpool */);
2795 if (status != xnn_status_success) {
2796 std::cerr << "failed to setup operation #58" << std::endl;
2797 return ExecutionPlan();
2798 }
2799
2800 status = xnn_setup_convolution2d_nhwc_f32(
2801 op59,
2802 1 /* batch size */, 1 /* input height */, 1 /* input width */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002803 v59.data() /* input */, v60.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002804 threadpool /* threadpool */);
2805 if (status != xnn_status_success) {
2806 std::cerr << "failed to setup operation #59" << std::endl;
2807 return ExecutionPlan();
2808 }
2809
2810 {
2811 const size_t a_shape[] = { 1, 14, 14, 144 };
2812 const size_t b_shape[] = { 1, 1, 1, 144 };
2813 status = xnn_setup_multiply_nd_f32(
2814 op60,
2815 4, a_shape, 4, b_shape,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002816 v57.data() /* a */, v60.data() /* b */, v61.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002817 threadpool /* threadpool */);
2818 }
2819 if (status != xnn_status_success) {
2820 std::cerr << "failed to setup operation #60" << std::endl;
2821 return ExecutionPlan();
2822 }
2823
2824 status = xnn_setup_convolution2d_nhwc_f32(
2825 op61,
2826 1 /* batch size */, 14 /* input height */, 14 /* input width */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002827 v61.data() /* input */, v62.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002828 threadpool /* threadpool */);
2829 if (status != xnn_status_success) {
2830 std::cerr << "failed to setup operation #61" << std::endl;
2831 return ExecutionPlan();
2832 }
2833
Marat Dukhanb2164a32020-06-04 19:05:27 -07002834 {
2835 const size_t a_shape[] = { 1, 14, 14, 48 };
2836 const size_t b_shape[] = { 1, 14, 14, 48 };
2837 status = xnn_setup_add_nd_f32(
2838 op62,
2839 4, a_shape, 4, b_shape,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002840 v62.data() /* a */, v53.data() /* b */, v63.data() /* output */,
Marat Dukhanb2164a32020-06-04 19:05:27 -07002841 threadpool /* threadpool */);
2842 }
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002843 if (status != xnn_status_success) {
2844 std::cerr << "failed to setup operation #62" << std::endl;
2845 return ExecutionPlan();
2846 }
2847
2848 status = xnn_setup_convolution2d_nhwc_f32(
2849 op63,
2850 1 /* batch size */, 14 /* input height */, 14 /* input width */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002851 v63.data() /* input */, v64.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002852 threadpool /* threadpool */);
2853 if (status != xnn_status_success) {
2854 std::cerr << "failed to setup operation #63" << std::endl;
2855 return ExecutionPlan();
2856 }
2857
2858 status = xnn_setup_hardswish_nc_f32(
2859 op64,
2860 196 /* batch size */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002861 v64.data() /* input */, v65.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002862 threadpool /* threadpool */);
2863 if (status != xnn_status_success) {
2864 std::cerr << "failed to setup operation #64" << std::endl;
2865 return ExecutionPlan();
2866 }
2867
2868 status = xnn_setup_convolution2d_nhwc_f32(
2869 op65,
2870 1 /* batch size */, 14 /* input height */, 14 /* input width */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002871 v65.data() /* input */, v66.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002872 threadpool /* threadpool */);
2873 if (status != xnn_status_success) {
2874 std::cerr << "failed to setup operation #65" << std::endl;
2875 return ExecutionPlan();
2876 }
2877
2878 status = xnn_setup_hardswish_nc_f32(
2879 op66,
2880 49 /* batch size */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002881 v66.data() /* input */, v67.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002882 threadpool /* threadpool */);
2883 if (status != xnn_status_success) {
2884 std::cerr << "failed to setup operation #66" << std::endl;
2885 return ExecutionPlan();
2886 }
2887
2888 status = xnn_setup_global_average_pooling_nwc_f32(
2889 op67,
2890 1 /* batch size */, 49 /* width */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002891 v67.data() /* input */, v68.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002892 threadpool /* threadpool */);
2893 if (status != xnn_status_success) {
2894 std::cerr << "failed to setup operation #67" << std::endl;
2895 return ExecutionPlan();
2896 }
2897
2898 status = xnn_setup_convolution2d_nhwc_f32(
2899 op68,
2900 1 /* batch size */, 1 /* input height */, 1 /* input width */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002901 v68.data() /* input */, v69.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002902 threadpool /* threadpool */);
2903 if (status != xnn_status_success) {
2904 std::cerr << "failed to setup operation #68" << std::endl;
2905 return ExecutionPlan();
2906 }
2907
2908 status = xnn_setup_convolution2d_nhwc_f32(
2909 op69,
2910 1 /* batch size */, 1 /* input height */, 1 /* input width */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002911 v69.data() /* input */, v70.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002912 threadpool /* threadpool */);
2913 if (status != xnn_status_success) {
2914 std::cerr << "failed to setup operation #69" << std::endl;
2915 return ExecutionPlan();
2916 }
2917
2918 {
2919 const size_t a_shape[] = { 1, 7, 7, 288 };
2920 const size_t b_shape[] = { 1, 1, 1, 288 };
2921 status = xnn_setup_multiply_nd_f32(
2922 op70,
2923 4, a_shape, 4, b_shape,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002924 v67.data() /* a */, v70.data() /* b */, v71.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002925 threadpool /* threadpool */);
2926 }
2927 if (status != xnn_status_success) {
2928 std::cerr << "failed to setup operation #70" << std::endl;
2929 return ExecutionPlan();
2930 }
2931
2932 status = xnn_setup_convolution2d_nhwc_f32(
2933 op71,
2934 1 /* batch size */, 7 /* input height */, 7 /* input width */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002935 v71.data() /* input */, v72.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002936 threadpool /* threadpool */);
2937 if (status != xnn_status_success) {
2938 std::cerr << "failed to setup operation #71" << std::endl;
2939 return ExecutionPlan();
2940 }
2941
2942 status = xnn_setup_convolution2d_nhwc_f32(
2943 op72,
2944 1 /* batch size */, 7 /* input height */, 7 /* input width */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002945 v72.data() /* input */, v73.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002946 threadpool /* threadpool */);
2947 if (status != xnn_status_success) {
2948 std::cerr << "failed to setup operation #72" << std::endl;
2949 return ExecutionPlan();
2950 }
2951
2952 status = xnn_setup_hardswish_nc_f32(
2953 op73,
2954 49 /* batch size */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002955 v73.data() /* input */, v74.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002956 threadpool /* threadpool */);
2957 if (status != xnn_status_success) {
2958 std::cerr << "failed to setup operation #73" << std::endl;
2959 return ExecutionPlan();
2960 }
2961
2962 status = xnn_setup_convolution2d_nhwc_f32(
2963 op74,
2964 1 /* batch size */, 7 /* input height */, 7 /* input width */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002965 v74.data() /* input */, v75.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002966 threadpool /* threadpool */);
2967 if (status != xnn_status_success) {
2968 std::cerr << "failed to setup operation #74" << std::endl;
2969 return ExecutionPlan();
2970 }
2971
2972 status = xnn_setup_hardswish_nc_f32(
2973 op75,
2974 49 /* batch size */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002975 v75.data() /* input */, v76.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002976 threadpool /* threadpool */);
2977 if (status != xnn_status_success) {
2978 std::cerr << "failed to setup operation #75" << std::endl;
2979 return ExecutionPlan();
2980 }
2981
2982 status = xnn_setup_global_average_pooling_nwc_f32(
2983 op76,
2984 1 /* batch size */, 49 /* width */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002985 v76.data() /* input */, v77.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002986 threadpool /* threadpool */);
2987 if (status != xnn_status_success) {
2988 std::cerr << "failed to setup operation #76" << std::endl;
2989 return ExecutionPlan();
2990 }
2991
2992 status = xnn_setup_convolution2d_nhwc_f32(
2993 op77,
2994 1 /* batch size */, 1 /* input height */, 1 /* input width */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08002995 v77.data() /* input */, v78.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08002996 threadpool /* threadpool */);
2997 if (status != xnn_status_success) {
2998 std::cerr << "failed to setup operation #77" << std::endl;
2999 return ExecutionPlan();
3000 }
3001
3002 status = xnn_setup_convolution2d_nhwc_f32(
3003 op78,
3004 1 /* batch size */, 1 /* input height */, 1 /* input width */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08003005 v78.data() /* input */, v79.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08003006 threadpool /* threadpool */);
3007 if (status != xnn_status_success) {
3008 std::cerr << "failed to setup operation #78" << std::endl;
3009 return ExecutionPlan();
3010 }
3011
3012 {
3013 const size_t a_shape[] = { 1, 7, 7, 576 };
3014 const size_t b_shape[] = { 1, 1, 1, 576 };
3015 status = xnn_setup_multiply_nd_f32(
3016 op79,
3017 4, a_shape, 4, b_shape,
Marat Dukhan52e061d2021-03-09 00:02:44 -08003018 v76.data() /* a */, v79.data() /* b */, v80.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08003019 threadpool /* threadpool */);
3020 }
3021 if (status != xnn_status_success) {
3022 std::cerr << "failed to setup operation #79" << std::endl;
3023 return ExecutionPlan();
3024 }
3025
3026 status = xnn_setup_convolution2d_nhwc_f32(
3027 op80,
3028 1 /* batch size */, 7 /* input height */, 7 /* input width */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08003029 v80.data() /* input */, v81.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08003030 threadpool /* threadpool */);
3031 if (status != xnn_status_success) {
3032 std::cerr << "failed to setup operation #80" << std::endl;
3033 return ExecutionPlan();
3034 }
3035
Marat Dukhanb2164a32020-06-04 19:05:27 -07003036 {
3037 const size_t a_shape[] = { 1, 7, 7, 96 };
3038 const size_t b_shape[] = { 1, 7, 7, 96 };
3039 status = xnn_setup_add_nd_f32(
3040 op81,
3041 4, a_shape, 4, b_shape,
Marat Dukhan52e061d2021-03-09 00:02:44 -08003042 v81.data() /* a */, v72.data() /* b */, v82.data() /* output */,
Marat Dukhanb2164a32020-06-04 19:05:27 -07003043 threadpool /* threadpool */);
3044 }
Marat Dukhanc08cdf52019-12-09 09:17:51 -08003045 if (status != xnn_status_success) {
3046 std::cerr << "failed to setup operation #81" << std::endl;
3047 return ExecutionPlan();
3048 }
3049
3050 status = xnn_setup_convolution2d_nhwc_f32(
3051 op82,
3052 1 /* batch size */, 7 /* input height */, 7 /* input width */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08003053 v82.data() /* input */, v83.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08003054 threadpool /* threadpool */);
3055 if (status != xnn_status_success) {
3056 std::cerr << "failed to setup operation #82" << std::endl;
3057 return ExecutionPlan();
3058 }
3059
3060 status = xnn_setup_hardswish_nc_f32(
3061 op83,
3062 49 /* batch size */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08003063 v83.data() /* input */, v84.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08003064 threadpool /* threadpool */);
3065 if (status != xnn_status_success) {
3066 std::cerr << "failed to setup operation #83" << std::endl;
3067 return ExecutionPlan();
3068 }
3069
3070 status = xnn_setup_convolution2d_nhwc_f32(
3071 op84,
3072 1 /* batch size */, 7 /* input height */, 7 /* input width */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08003073 v84.data() /* input */, v85.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08003074 threadpool /* threadpool */);
3075 if (status != xnn_status_success) {
3076 std::cerr << "failed to setup operation #84" << std::endl;
3077 return ExecutionPlan();
3078 }
3079
3080 status = xnn_setup_hardswish_nc_f32(
3081 op85,
3082 49 /* batch size */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08003083 v85.data() /* input */, v86.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08003084 threadpool /* threadpool */);
3085 if (status != xnn_status_success) {
3086 std::cerr << "failed to setup operation #85" << std::endl;
3087 return ExecutionPlan();
3088 }
3089
3090 status = xnn_setup_global_average_pooling_nwc_f32(
3091 op86,
3092 1 /* batch size */, 49 /* width */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08003093 v86.data() /* input */, v87.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08003094 threadpool /* threadpool */);
3095 if (status != xnn_status_success) {
3096 std::cerr << "failed to setup operation #86" << std::endl;
3097 return ExecutionPlan();
3098 }
3099
3100 status = xnn_setup_convolution2d_nhwc_f32(
3101 op87,
3102 1 /* batch size */, 1 /* input height */, 1 /* input width */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08003103 v87.data() /* input */, v88.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08003104 threadpool /* threadpool */);
3105 if (status != xnn_status_success) {
3106 std::cerr << "failed to setup operation #87" << std::endl;
3107 return ExecutionPlan();
3108 }
3109
3110 status = xnn_setup_convolution2d_nhwc_f32(
3111 op88,
3112 1 /* batch size */, 1 /* input height */, 1 /* input width */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08003113 v88.data() /* input */, v89.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08003114 threadpool /* threadpool */);
3115 if (status != xnn_status_success) {
3116 std::cerr << "failed to setup operation #88" << std::endl;
3117 return ExecutionPlan();
3118 }
3119
3120 {
3121 const size_t a_shape[] = { 1, 7, 7, 576 };
3122 const size_t b_shape[] = { 1, 1, 1, 576 };
3123 status = xnn_setup_multiply_nd_f32(
3124 op89,
3125 4, a_shape, 4, b_shape,
Marat Dukhan52e061d2021-03-09 00:02:44 -08003126 v86.data() /* a */, v89.data() /* b */, v90.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08003127 threadpool /* threadpool */);
3128 }
3129 if (status != xnn_status_success) {
3130 std::cerr << "failed to setup operation #89" << std::endl;
3131 return ExecutionPlan();
3132 }
3133
3134 status = xnn_setup_convolution2d_nhwc_f32(
3135 op90,
3136 1 /* batch size */, 7 /* input height */, 7 /* input width */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08003137 v90.data() /* input */, v91.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08003138 threadpool /* threadpool */);
3139 if (status != xnn_status_success) {
3140 std::cerr << "failed to setup operation #90" << std::endl;
3141 return ExecutionPlan();
3142 }
3143
Marat Dukhanb2164a32020-06-04 19:05:27 -07003144 {
3145 const size_t a_shape[] = { 1, 7, 7, 96 };
3146 const size_t b_shape[] = { 1, 7, 7, 96 };
3147 status = xnn_setup_add_nd_f32(
3148 op91,
3149 4, a_shape, 4, b_shape,
Marat Dukhan52e061d2021-03-09 00:02:44 -08003150 v91.data() /* a */, v82.data() /* b */, v92.data() /* output */,
Marat Dukhanb2164a32020-06-04 19:05:27 -07003151 threadpool /* threadpool */);
3152 }
Marat Dukhanc08cdf52019-12-09 09:17:51 -08003153 if (status != xnn_status_success) {
3154 std::cerr << "failed to setup operation #91" << std::endl;
3155 return ExecutionPlan();
3156 }
3157
3158 status = xnn_setup_convolution2d_nhwc_f32(
3159 op92,
3160 1 /* batch size */, 7 /* input height */, 7 /* input width */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08003161 v92.data() /* input */, v93.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08003162 threadpool /* threadpool */);
3163 if (status != xnn_status_success) {
3164 std::cerr << "failed to setup operation #92" << std::endl;
3165 return ExecutionPlan();
3166 }
3167
3168 status = xnn_setup_hardswish_nc_f32(
3169 op93,
3170 49 /* batch size */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08003171 v93.data() /* input */, v94.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08003172 threadpool /* threadpool */);
3173 if (status != xnn_status_success) {
3174 std::cerr << "failed to setup operation #93" << std::endl;
3175 return ExecutionPlan();
3176 }
3177
3178 status = xnn_setup_global_average_pooling_nwc_f32(
3179 op94,
3180 1 /* batch size */, 49 /* width */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08003181 v94.data() /* input */, v95.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08003182 threadpool /* threadpool */);
3183 if (status != xnn_status_success) {
3184 std::cerr << "failed to setup operation #94" << std::endl;
3185 return ExecutionPlan();
3186 }
3187
3188 status = xnn_setup_convolution2d_nhwc_f32(
3189 op95,
3190 1 /* batch size */, 1 /* input height */, 1 /* input width */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08003191 v95.data() /* input */, v96.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08003192 threadpool /* threadpool */);
3193 if (status != xnn_status_success) {
3194 std::cerr << "failed to setup operation #95" << std::endl;
3195 return ExecutionPlan();
3196 }
3197
3198 status = xnn_setup_hardswish_nc_f32(
3199 op96,
3200 1 /* batch size */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08003201 v96.data() /* input */, v97.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08003202 threadpool /* threadpool */);
3203 if (status != xnn_status_success) {
3204 std::cerr << "failed to setup operation #96" << std::endl;
3205 return ExecutionPlan();
3206 }
3207
3208 status = xnn_setup_global_average_pooling_nwc_f32(
3209 op97,
3210 1 /* batch size */, 1 /* width */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08003211 v97.data() /* input */, v98.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08003212 threadpool /* threadpool */);
3213 if (status != xnn_status_success) {
3214 std::cerr << "failed to setup operation #97" << std::endl;
3215 return ExecutionPlan();
3216 }
3217
3218 status = xnn_setup_convolution2d_nhwc_f32(
3219 op98,
3220 1 /* batch size */, 1 /* input height */, 1 /* input width */,
Marat Dukhan52e061d2021-03-09 00:02:44 -08003221 v98.data() /* input */, v99.data() /* output */,
Marat Dukhanc08cdf52019-12-09 09:17:51 -08003222 threadpool /* threadpool */);
3223 if (status != xnn_status_success) {
3224 std::cerr << "failed to setup operation #98" << std::endl;
3225 return ExecutionPlan();
3226 }
3227
3228 #pragma clang diagnostic push
3229 #pragma clang diagnostic ignored "-Wpessimizing-move"
3230 return operators;
3231 #pragma clang diagnostic pop
3232}
3233
3234} // namespace models