1*4bdc9457SAndroid Build Coastguard Worker // Copyright 2021 Google LLC
2*4bdc9457SAndroid Build Coastguard Worker //
3*4bdc9457SAndroid Build Coastguard Worker // This source code is licensed under the BSD-style license found in the
4*4bdc9457SAndroid Build Coastguard Worker // LICENSE file in the root directory of this source tree.
5*4bdc9457SAndroid Build Coastguard Worker
6*4bdc9457SAndroid Build Coastguard Worker #include <xnnpack.h>
7*4bdc9457SAndroid Build Coastguard Worker
8*4bdc9457SAndroid Build Coastguard Worker #include <array>
9*4bdc9457SAndroid Build Coastguard Worker #include <algorithm>
10*4bdc9457SAndroid Build Coastguard Worker #include <functional>
11*4bdc9457SAndroid Build Coastguard Worker #include <iostream>
12*4bdc9457SAndroid Build Coastguard Worker #include <limits>
13*4bdc9457SAndroid Build Coastguard Worker #include <random>
14*4bdc9457SAndroid Build Coastguard Worker
15*4bdc9457SAndroid Build Coastguard Worker #include <xnnpack/cache.h>
16*4bdc9457SAndroid Build Coastguard Worker
17*4bdc9457SAndroid Build Coastguard Worker #include "models/models.h"
18*4bdc9457SAndroid Build Coastguard Worker
19*4bdc9457SAndroid Build Coastguard Worker namespace models {
20*4bdc9457SAndroid Build Coastguard Worker
QU8MobileNetV1(pthreadpool_t threadpool)21*4bdc9457SAndroid Build Coastguard Worker ExecutionPlan QU8MobileNetV1(pthreadpool_t threadpool) {
22*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<uint8_t, 150528 + XNN_EXTRA_BYTES / sizeof(uint8_t)> v0;
23*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<uint8_t, 401408> v1;
24*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<uint8_t, 401408> v2;
25*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<uint8_t, 802816> v3;
26*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<uint8_t, 200704> v4;
27*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<uint8_t, 401408> v5;
28*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<uint8_t, 401408> v6;
29*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<uint8_t, 401408> v7;
30*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<uint8_t, 100352> v8;
31*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<uint8_t, 200704> v9;
32*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<uint8_t, 200704> v10;
33*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<uint8_t, 200704> v11;
34*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<uint8_t, 50176> v12;
35*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<uint8_t, 100352> v13;
36*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<uint8_t, 100352> v14;
37*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<uint8_t, 100352> v15;
38*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<uint8_t, 100352> v16;
39*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<uint8_t, 100352> v17;
40*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<uint8_t, 100352> v18;
41*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<uint8_t, 100352> v19;
42*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<uint8_t, 100352> v20;
43*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<uint8_t, 100352> v21;
44*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<uint8_t, 100352> v22;
45*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<uint8_t, 100352> v23;
46*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<uint8_t, 25088> v24;
47*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<uint8_t, 50176> v25;
48*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<uint8_t, 50176> v26;
49*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<uint8_t, 50176> v27;
50*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<uint8_t, 1024> v28;
51*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<uint8_t, 1001> v29;
52*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<uint8_t, 864> w30;
53*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<int32_t, 32> w31;
54*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<uint8_t, 288> w32;
55*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<int32_t, 32> w33;
56*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<uint8_t, 2048> w34;
57*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<int32_t, 64> w35;
58*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<uint8_t, 576> w36;
59*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<int32_t, 64> w37;
60*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<uint8_t, 8192> w38;
61*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<int32_t, 128> w39;
62*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<uint8_t, 1152> w40;
63*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<int32_t, 128> w41;
64*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<uint8_t, 16384> w42;
65*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<int32_t, 128> w43;
66*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<uint8_t, 1152> w44;
67*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<int32_t, 128> w45;
68*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<uint8_t, 32768> w46;
69*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<int32_t, 256> w47;
70*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<uint8_t, 2304> w48;
71*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<int32_t, 256> w49;
72*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<uint8_t, 65536> w50;
73*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<int32_t, 256> w51;
74*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<uint8_t, 2304> w52;
75*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<int32_t, 256> w53;
76*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<uint8_t, 131072> w54;
77*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<int32_t, 512> w55;
78*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<uint8_t, 4608> w56;
79*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<int32_t, 512> w57;
80*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<uint8_t, 262144> w58;
81*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<int32_t, 512> w59;
82*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<uint8_t, 4608> w60;
83*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<int32_t, 512> w61;
84*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<uint8_t, 262144> w62;
85*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<int32_t, 512> w63;
86*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<uint8_t, 4608> w64;
87*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<int32_t, 512> w65;
88*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<uint8_t, 262144> w66;
89*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<int32_t, 512> w67;
90*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<uint8_t, 4608> w68;
91*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<int32_t, 512> w69;
92*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<uint8_t, 262144> w70;
93*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<int32_t, 512> w71;
94*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<uint8_t, 4608> w72;
95*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<int32_t, 512> w73;
96*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<uint8_t, 262144> w74;
97*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<int32_t, 512> w75;
98*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<uint8_t, 4608> w76;
99*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<int32_t, 512> w77;
100*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<uint8_t, 524288> w78;
101*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<int32_t, 1024> w79;
102*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<uint8_t, 9216> w80;
103*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<int32_t, 1024> w81;
104*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<uint8_t, 1048576> w82;
105*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<int32_t, 1024> w83;
106*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<uint8_t, 1025024> w84;
107*4bdc9457SAndroid Build Coastguard Worker alignas(16) static std::array<int32_t, 1001> w85;
108*4bdc9457SAndroid Build Coastguard Worker
109*4bdc9457SAndroid Build Coastguard Worker std::random_device random_device;
110*4bdc9457SAndroid Build Coastguard Worker auto rng = std::mt19937(random_device());
111*4bdc9457SAndroid Build Coastguard Worker auto u8rng = std::bind(std::uniform_int_distribution<uint32_t>(0, 255), std::ref(rng));
112*4bdc9457SAndroid Build Coastguard Worker auto i32rng = std::bind(std::uniform_int_distribution<int32_t>(-10000, 10000), std::ref(rng));
113*4bdc9457SAndroid Build Coastguard Worker std::generate(v0.begin(), v0.end(), std::ref(u8rng));
114*4bdc9457SAndroid Build Coastguard Worker std::generate(v1.begin(), v1.end(), std::ref(u8rng));
115*4bdc9457SAndroid Build Coastguard Worker std::generate(v2.begin(), v2.end(), std::ref(u8rng));
116*4bdc9457SAndroid Build Coastguard Worker std::generate(v3.begin(), v3.end(), std::ref(u8rng));
117*4bdc9457SAndroid Build Coastguard Worker std::generate(v4.begin(), v4.end(), std::ref(u8rng));
118*4bdc9457SAndroid Build Coastguard Worker std::generate(v5.begin(), v5.end(), std::ref(u8rng));
119*4bdc9457SAndroid Build Coastguard Worker std::generate(v6.begin(), v6.end(), std::ref(u8rng));
120*4bdc9457SAndroid Build Coastguard Worker std::generate(v7.begin(), v7.end(), std::ref(u8rng));
121*4bdc9457SAndroid Build Coastguard Worker std::generate(v8.begin(), v8.end(), std::ref(u8rng));
122*4bdc9457SAndroid Build Coastguard Worker std::generate(v9.begin(), v9.end(), std::ref(u8rng));
123*4bdc9457SAndroid Build Coastguard Worker std::generate(v10.begin(), v10.end(), std::ref(u8rng));
124*4bdc9457SAndroid Build Coastguard Worker std::generate(v11.begin(), v11.end(), std::ref(u8rng));
125*4bdc9457SAndroid Build Coastguard Worker std::generate(v12.begin(), v12.end(), std::ref(u8rng));
126*4bdc9457SAndroid Build Coastguard Worker std::generate(v13.begin(), v13.end(), std::ref(u8rng));
127*4bdc9457SAndroid Build Coastguard Worker std::generate(v14.begin(), v14.end(), std::ref(u8rng));
128*4bdc9457SAndroid Build Coastguard Worker std::generate(v15.begin(), v15.end(), std::ref(u8rng));
129*4bdc9457SAndroid Build Coastguard Worker std::generate(v16.begin(), v16.end(), std::ref(u8rng));
130*4bdc9457SAndroid Build Coastguard Worker std::generate(v17.begin(), v17.end(), std::ref(u8rng));
131*4bdc9457SAndroid Build Coastguard Worker std::generate(v18.begin(), v18.end(), std::ref(u8rng));
132*4bdc9457SAndroid Build Coastguard Worker std::generate(v19.begin(), v19.end(), std::ref(u8rng));
133*4bdc9457SAndroid Build Coastguard Worker std::generate(v20.begin(), v20.end(), std::ref(u8rng));
134*4bdc9457SAndroid Build Coastguard Worker std::generate(v21.begin(), v21.end(), std::ref(u8rng));
135*4bdc9457SAndroid Build Coastguard Worker std::generate(v22.begin(), v22.end(), std::ref(u8rng));
136*4bdc9457SAndroid Build Coastguard Worker std::generate(v23.begin(), v23.end(), std::ref(u8rng));
137*4bdc9457SAndroid Build Coastguard Worker std::generate(v24.begin(), v24.end(), std::ref(u8rng));
138*4bdc9457SAndroid Build Coastguard Worker std::generate(v25.begin(), v25.end(), std::ref(u8rng));
139*4bdc9457SAndroid Build Coastguard Worker std::generate(v26.begin(), v26.end(), std::ref(u8rng));
140*4bdc9457SAndroid Build Coastguard Worker std::generate(v27.begin(), v27.end(), std::ref(u8rng));
141*4bdc9457SAndroid Build Coastguard Worker std::generate(v28.begin(), v28.end(), std::ref(u8rng));
142*4bdc9457SAndroid Build Coastguard Worker std::generate(v29.begin(), v29.end(), std::ref(u8rng));
143*4bdc9457SAndroid Build Coastguard Worker std::generate(w30.begin(), w30.end(), std::ref(u8rng));
144*4bdc9457SAndroid Build Coastguard Worker std::generate(w31.begin(), w31.end(), std::ref(i32rng));
145*4bdc9457SAndroid Build Coastguard Worker std::generate(w32.begin(), w32.end(), std::ref(u8rng));
146*4bdc9457SAndroid Build Coastguard Worker std::generate(w33.begin(), w33.end(), std::ref(i32rng));
147*4bdc9457SAndroid Build Coastguard Worker std::generate(w34.begin(), w34.end(), std::ref(u8rng));
148*4bdc9457SAndroid Build Coastguard Worker std::generate(w35.begin(), w35.end(), std::ref(i32rng));
149*4bdc9457SAndroid Build Coastguard Worker std::generate(w36.begin(), w36.end(), std::ref(u8rng));
150*4bdc9457SAndroid Build Coastguard Worker std::generate(w37.begin(), w37.end(), std::ref(i32rng));
151*4bdc9457SAndroid Build Coastguard Worker std::generate(w38.begin(), w38.end(), std::ref(u8rng));
152*4bdc9457SAndroid Build Coastguard Worker std::generate(w39.begin(), w39.end(), std::ref(i32rng));
153*4bdc9457SAndroid Build Coastguard Worker std::generate(w40.begin(), w40.end(), std::ref(u8rng));
154*4bdc9457SAndroid Build Coastguard Worker std::generate(w41.begin(), w41.end(), std::ref(i32rng));
155*4bdc9457SAndroid Build Coastguard Worker std::generate(w42.begin(), w42.end(), std::ref(u8rng));
156*4bdc9457SAndroid Build Coastguard Worker std::generate(w43.begin(), w43.end(), std::ref(i32rng));
157*4bdc9457SAndroid Build Coastguard Worker std::generate(w44.begin(), w44.end(), std::ref(u8rng));
158*4bdc9457SAndroid Build Coastguard Worker std::generate(w45.begin(), w45.end(), std::ref(i32rng));
159*4bdc9457SAndroid Build Coastguard Worker std::generate(w46.begin(), w46.end(), std::ref(u8rng));
160*4bdc9457SAndroid Build Coastguard Worker std::generate(w47.begin(), w47.end(), std::ref(i32rng));
161*4bdc9457SAndroid Build Coastguard Worker std::generate(w48.begin(), w48.end(), std::ref(u8rng));
162*4bdc9457SAndroid Build Coastguard Worker std::generate(w49.begin(), w49.end(), std::ref(i32rng));
163*4bdc9457SAndroid Build Coastguard Worker std::generate(w50.begin(), w50.end(), std::ref(u8rng));
164*4bdc9457SAndroid Build Coastguard Worker std::generate(w51.begin(), w51.end(), std::ref(i32rng));
165*4bdc9457SAndroid Build Coastguard Worker std::generate(w52.begin(), w52.end(), std::ref(u8rng));
166*4bdc9457SAndroid Build Coastguard Worker std::generate(w53.begin(), w53.end(), std::ref(i32rng));
167*4bdc9457SAndroid Build Coastguard Worker std::generate(w54.begin(), w54.end(), std::ref(u8rng));
168*4bdc9457SAndroid Build Coastguard Worker std::generate(w55.begin(), w55.end(), std::ref(i32rng));
169*4bdc9457SAndroid Build Coastguard Worker std::generate(w56.begin(), w56.end(), std::ref(u8rng));
170*4bdc9457SAndroid Build Coastguard Worker std::generate(w57.begin(), w57.end(), std::ref(i32rng));
171*4bdc9457SAndroid Build Coastguard Worker std::generate(w58.begin(), w58.end(), std::ref(u8rng));
172*4bdc9457SAndroid Build Coastguard Worker std::generate(w59.begin(), w59.end(), std::ref(i32rng));
173*4bdc9457SAndroid Build Coastguard Worker std::generate(w60.begin(), w60.end(), std::ref(u8rng));
174*4bdc9457SAndroid Build Coastguard Worker std::generate(w61.begin(), w61.end(), std::ref(i32rng));
175*4bdc9457SAndroid Build Coastguard Worker std::generate(w62.begin(), w62.end(), std::ref(u8rng));
176*4bdc9457SAndroid Build Coastguard Worker std::generate(w63.begin(), w63.end(), std::ref(i32rng));
177*4bdc9457SAndroid Build Coastguard Worker std::generate(w64.begin(), w64.end(), std::ref(u8rng));
178*4bdc9457SAndroid Build Coastguard Worker std::generate(w65.begin(), w65.end(), std::ref(i32rng));
179*4bdc9457SAndroid Build Coastguard Worker std::generate(w66.begin(), w66.end(), std::ref(u8rng));
180*4bdc9457SAndroid Build Coastguard Worker std::generate(w67.begin(), w67.end(), std::ref(i32rng));
181*4bdc9457SAndroid Build Coastguard Worker std::generate(w68.begin(), w68.end(), std::ref(u8rng));
182*4bdc9457SAndroid Build Coastguard Worker std::generate(w69.begin(), w69.end(), std::ref(i32rng));
183*4bdc9457SAndroid Build Coastguard Worker std::generate(w70.begin(), w70.end(), std::ref(u8rng));
184*4bdc9457SAndroid Build Coastguard Worker std::generate(w71.begin(), w71.end(), std::ref(i32rng));
185*4bdc9457SAndroid Build Coastguard Worker std::generate(w72.begin(), w72.end(), std::ref(u8rng));
186*4bdc9457SAndroid Build Coastguard Worker std::generate(w73.begin(), w73.end(), std::ref(i32rng));
187*4bdc9457SAndroid Build Coastguard Worker std::generate(w74.begin(), w74.end(), std::ref(u8rng));
188*4bdc9457SAndroid Build Coastguard Worker std::generate(w75.begin(), w75.end(), std::ref(i32rng));
189*4bdc9457SAndroid Build Coastguard Worker std::generate(w76.begin(), w76.end(), std::ref(u8rng));
190*4bdc9457SAndroid Build Coastguard Worker std::generate(w77.begin(), w77.end(), std::ref(i32rng));
191*4bdc9457SAndroid Build Coastguard Worker std::generate(w78.begin(), w78.end(), std::ref(u8rng));
192*4bdc9457SAndroid Build Coastguard Worker std::generate(w79.begin(), w79.end(), std::ref(i32rng));
193*4bdc9457SAndroid Build Coastguard Worker std::generate(w80.begin(), w80.end(), std::ref(u8rng));
194*4bdc9457SAndroid Build Coastguard Worker std::generate(w81.begin(), w81.end(), std::ref(i32rng));
195*4bdc9457SAndroid Build Coastguard Worker std::generate(w82.begin(), w82.end(), std::ref(u8rng));
196*4bdc9457SAndroid Build Coastguard Worker std::generate(w83.begin(), w83.end(), std::ref(i32rng));
197*4bdc9457SAndroid Build Coastguard Worker std::generate(w84.begin(), w84.end(), std::ref(u8rng));
198*4bdc9457SAndroid Build Coastguard Worker std::generate(w85.begin(), w85.end(), std::ref(i32rng));
199*4bdc9457SAndroid Build Coastguard Worker
200*4bdc9457SAndroid Build Coastguard Worker ExecutionPlan operators;
201*4bdc9457SAndroid Build Coastguard Worker xnn_status status;
202*4bdc9457SAndroid Build Coastguard Worker xnn_code_cache code_cache;
203*4bdc9457SAndroid Build Coastguard Worker #if XNN_PLATFORM_JIT
204*4bdc9457SAndroid Build Coastguard Worker xnn_init_code_cache(&code_cache);
205*4bdc9457SAndroid Build Coastguard Worker #endif
206*4bdc9457SAndroid Build Coastguard Worker xnn_caches caches = { 0 };
207*4bdc9457SAndroid Build Coastguard Worker caches.code_cache = &code_cache;
208*4bdc9457SAndroid Build Coastguard Worker
209*4bdc9457SAndroid Build Coastguard Worker xnn_operator_t op0 = nullptr;
210*4bdc9457SAndroid Build Coastguard Worker status = xnn_create_convolution2d_nhwc_qu8(
211*4bdc9457SAndroid Build Coastguard Worker 0 /* top padding */, 1 /* right padding */,
212*4bdc9457SAndroid Build Coastguard Worker 1 /* bottom padding */, 0 /* left padding */,
213*4bdc9457SAndroid Build Coastguard Worker 3 /* kernel height */, 3 /* kernel width */,
214*4bdc9457SAndroid Build Coastguard Worker 2 /* subsampling height */, 2 /* subsampling width */,
215*4bdc9457SAndroid Build Coastguard Worker 1 /* dilation_height */, 1 /* dilation_width */,
216*4bdc9457SAndroid Build Coastguard Worker 1 /* groups */,
217*4bdc9457SAndroid Build Coastguard Worker 3 /* input channels per group */,
218*4bdc9457SAndroid Build Coastguard Worker 32 /* output_channels_per_group */,
219*4bdc9457SAndroid Build Coastguard Worker 3 /* input pixel stride */,
220*4bdc9457SAndroid Build Coastguard Worker 32 /* output pixel stride */,
221*4bdc9457SAndroid Build Coastguard Worker 127 /* input zero point */, 0.5f /* input scale */, 128 /* kernel zero point */, 0.5f /* kernel scale */,
222*4bdc9457SAndroid Build Coastguard Worker w30.data(), w31.data(),
223*4bdc9457SAndroid Build Coastguard Worker 127 /* output zero point */, 0.5f /* output scale */, 0 /* output min */, 255 /* output max */,
224*4bdc9457SAndroid Build Coastguard Worker 0 /* flags */,
225*4bdc9457SAndroid Build Coastguard Worker &caches,
226*4bdc9457SAndroid Build Coastguard Worker &op0);
227*4bdc9457SAndroid Build Coastguard Worker if (status != xnn_status_success) {
228*4bdc9457SAndroid Build Coastguard Worker std::cerr << "failed to create operation #0" << std::endl;
229*4bdc9457SAndroid Build Coastguard Worker return ExecutionPlan();
230*4bdc9457SAndroid Build Coastguard Worker }
231*4bdc9457SAndroid Build Coastguard Worker operators.emplace_back(op0, xnn_delete_operator);
232*4bdc9457SAndroid Build Coastguard Worker
233*4bdc9457SAndroid Build Coastguard Worker xnn_operator_t op1 = nullptr;
234*4bdc9457SAndroid Build Coastguard Worker status = xnn_create_convolution2d_nhwc_qu8(
235*4bdc9457SAndroid Build Coastguard Worker 1 /* top padding */, 1 /* right padding */,
236*4bdc9457SAndroid Build Coastguard Worker 1 /* bottom padding */, 1 /* left padding */,
237*4bdc9457SAndroid Build Coastguard Worker 3 /* kernel height */, 3 /* kernel width */,
238*4bdc9457SAndroid Build Coastguard Worker 1 /* subsampling height */, 1 /* subsampling width */,
239*4bdc9457SAndroid Build Coastguard Worker 1 /* dilation_height */, 1 /* dilation_width */,
240*4bdc9457SAndroid Build Coastguard Worker 32 /* groups */,
241*4bdc9457SAndroid Build Coastguard Worker 1 /* input channels per group */,
242*4bdc9457SAndroid Build Coastguard Worker 1 /* output_channels_per_group */,
243*4bdc9457SAndroid Build Coastguard Worker 32 /* input pixel stride */,
244*4bdc9457SAndroid Build Coastguard Worker 32 /* output pixel stride */,
245*4bdc9457SAndroid Build Coastguard Worker 127 /* input zero point */, 0.5f /* input scale */, 128 /* kernel zero point */, 0.5f /* kernel scale */,
246*4bdc9457SAndroid Build Coastguard Worker w32.data(), w33.data(),
247*4bdc9457SAndroid Build Coastguard Worker 127 /* output zero point */, 0.5f /* output scale */, 0 /* output min */, 255 /* output max */,
248*4bdc9457SAndroid Build Coastguard Worker 0 /* flags */,
249*4bdc9457SAndroid Build Coastguard Worker &caches,
250*4bdc9457SAndroid Build Coastguard Worker &op1);
251*4bdc9457SAndroid Build Coastguard Worker if (status != xnn_status_success) {
252*4bdc9457SAndroid Build Coastguard Worker std::cerr << "failed to create operation #1" << std::endl;
253*4bdc9457SAndroid Build Coastguard Worker return ExecutionPlan();
254*4bdc9457SAndroid Build Coastguard Worker }
255*4bdc9457SAndroid Build Coastguard Worker operators.emplace_back(op1, xnn_delete_operator);
256*4bdc9457SAndroid Build Coastguard Worker
257*4bdc9457SAndroid Build Coastguard Worker xnn_operator_t op2 = nullptr;
258*4bdc9457SAndroid Build Coastguard Worker status = xnn_create_convolution2d_nhwc_qu8(
259*4bdc9457SAndroid Build Coastguard Worker 0 /* top padding */, 0 /* right padding */,
260*4bdc9457SAndroid Build Coastguard Worker 0 /* bottom padding */, 0 /* left padding */,
261*4bdc9457SAndroid Build Coastguard Worker 1 /* kernel height */, 1 /* kernel width */,
262*4bdc9457SAndroid Build Coastguard Worker 1 /* subsampling height */, 1 /* subsampling width */,
263*4bdc9457SAndroid Build Coastguard Worker 1 /* dilation_height */, 1 /* dilation_width */,
264*4bdc9457SAndroid Build Coastguard Worker 1 /* groups */,
265*4bdc9457SAndroid Build Coastguard Worker 32 /* input channels per group */,
266*4bdc9457SAndroid Build Coastguard Worker 64 /* output_channels_per_group */,
267*4bdc9457SAndroid Build Coastguard Worker 32 /* input pixel stride */,
268*4bdc9457SAndroid Build Coastguard Worker 64 /* output pixel stride */,
269*4bdc9457SAndroid Build Coastguard Worker 127 /* input zero point */, 0.5f /* input scale */, 128 /* kernel zero point */, 0.5f /* kernel scale */,
270*4bdc9457SAndroid Build Coastguard Worker w34.data(), w35.data(),
271*4bdc9457SAndroid Build Coastguard Worker 127 /* output zero point */, 0.5f /* output scale */, 0 /* output min */, 255 /* output max */,
272*4bdc9457SAndroid Build Coastguard Worker 0 /* flags */,
273*4bdc9457SAndroid Build Coastguard Worker &caches,
274*4bdc9457SAndroid Build Coastguard Worker &op2);
275*4bdc9457SAndroid Build Coastguard Worker if (status != xnn_status_success) {
276*4bdc9457SAndroid Build Coastguard Worker std::cerr << "failed to create operation #2" << std::endl;
277*4bdc9457SAndroid Build Coastguard Worker return ExecutionPlan();
278*4bdc9457SAndroid Build Coastguard Worker }
279*4bdc9457SAndroid Build Coastguard Worker operators.emplace_back(op2, xnn_delete_operator);
280*4bdc9457SAndroid Build Coastguard Worker
281*4bdc9457SAndroid Build Coastguard Worker xnn_operator_t op3 = nullptr;
282*4bdc9457SAndroid Build Coastguard Worker status = xnn_create_convolution2d_nhwc_qu8(
283*4bdc9457SAndroid Build Coastguard Worker 0 /* top padding */, 1 /* right padding */,
284*4bdc9457SAndroid Build Coastguard Worker 1 /* bottom padding */, 0 /* left padding */,
285*4bdc9457SAndroid Build Coastguard Worker 3 /* kernel height */, 3 /* kernel width */,
286*4bdc9457SAndroid Build Coastguard Worker 2 /* subsampling height */, 2 /* subsampling width */,
287*4bdc9457SAndroid Build Coastguard Worker 1 /* dilation_height */, 1 /* dilation_width */,
288*4bdc9457SAndroid Build Coastguard Worker 64 /* groups */,
289*4bdc9457SAndroid Build Coastguard Worker 1 /* input channels per group */,
290*4bdc9457SAndroid Build Coastguard Worker 1 /* output_channels_per_group */,
291*4bdc9457SAndroid Build Coastguard Worker 64 /* input pixel stride */,
292*4bdc9457SAndroid Build Coastguard Worker 64 /* output pixel stride */,
293*4bdc9457SAndroid Build Coastguard Worker 127 /* input zero point */, 0.5f /* input scale */, 128 /* kernel zero point */, 0.5f /* kernel scale */,
294*4bdc9457SAndroid Build Coastguard Worker w36.data(), w37.data(),
295*4bdc9457SAndroid Build Coastguard Worker 127 /* output zero point */, 0.5f /* output scale */, 0 /* output min */, 255 /* output max */,
296*4bdc9457SAndroid Build Coastguard Worker 0 /* flags */,
297*4bdc9457SAndroid Build Coastguard Worker &caches,
298*4bdc9457SAndroid Build Coastguard Worker &op3);
299*4bdc9457SAndroid Build Coastguard Worker if (status != xnn_status_success) {
300*4bdc9457SAndroid Build Coastguard Worker std::cerr << "failed to create operation #3" << std::endl;
301*4bdc9457SAndroid Build Coastguard Worker return ExecutionPlan();
302*4bdc9457SAndroid Build Coastguard Worker }
303*4bdc9457SAndroid Build Coastguard Worker operators.emplace_back(op3, xnn_delete_operator);
304*4bdc9457SAndroid Build Coastguard Worker
305*4bdc9457SAndroid Build Coastguard Worker xnn_operator_t op4 = nullptr;
306*4bdc9457SAndroid Build Coastguard Worker status = xnn_create_convolution2d_nhwc_qu8(
307*4bdc9457SAndroid Build Coastguard Worker 0 /* top padding */, 0 /* right padding */,
308*4bdc9457SAndroid Build Coastguard Worker 0 /* bottom padding */, 0 /* left padding */,
309*4bdc9457SAndroid Build Coastguard Worker 1 /* kernel height */, 1 /* kernel width */,
310*4bdc9457SAndroid Build Coastguard Worker 1 /* subsampling height */, 1 /* subsampling width */,
311*4bdc9457SAndroid Build Coastguard Worker 1 /* dilation_height */, 1 /* dilation_width */,
312*4bdc9457SAndroid Build Coastguard Worker 1 /* groups */,
313*4bdc9457SAndroid Build Coastguard Worker 64 /* input channels per group */,
314*4bdc9457SAndroid Build Coastguard Worker 128 /* output_channels_per_group */,
315*4bdc9457SAndroid Build Coastguard Worker 64 /* input pixel stride */,
316*4bdc9457SAndroid Build Coastguard Worker 128 /* output pixel stride */,
317*4bdc9457SAndroid Build Coastguard Worker 127 /* input zero point */, 0.5f /* input scale */, 128 /* kernel zero point */, 0.5f /* kernel scale */,
318*4bdc9457SAndroid Build Coastguard Worker w38.data(), w39.data(),
319*4bdc9457SAndroid Build Coastguard Worker 127 /* output zero point */, 0.5f /* output scale */, 0 /* output min */, 255 /* output max */,
320*4bdc9457SAndroid Build Coastguard Worker 0 /* flags */,
321*4bdc9457SAndroid Build Coastguard Worker &caches,
322*4bdc9457SAndroid Build Coastguard Worker &op4);
323*4bdc9457SAndroid Build Coastguard Worker if (status != xnn_status_success) {
324*4bdc9457SAndroid Build Coastguard Worker std::cerr << "failed to create operation #4" << std::endl;
325*4bdc9457SAndroid Build Coastguard Worker return ExecutionPlan();
326*4bdc9457SAndroid Build Coastguard Worker }
327*4bdc9457SAndroid Build Coastguard Worker operators.emplace_back(op4, xnn_delete_operator);
328*4bdc9457SAndroid Build Coastguard Worker
329*4bdc9457SAndroid Build Coastguard Worker xnn_operator_t op5 = nullptr;
330*4bdc9457SAndroid Build Coastguard Worker status = xnn_create_convolution2d_nhwc_qu8(
331*4bdc9457SAndroid Build Coastguard Worker 1 /* top padding */, 1 /* right padding */,
332*4bdc9457SAndroid Build Coastguard Worker 1 /* bottom padding */, 1 /* left padding */,
333*4bdc9457SAndroid Build Coastguard Worker 3 /* kernel height */, 3 /* kernel width */,
334*4bdc9457SAndroid Build Coastguard Worker 1 /* subsampling height */, 1 /* subsampling width */,
335*4bdc9457SAndroid Build Coastguard Worker 1 /* dilation_height */, 1 /* dilation_width */,
336*4bdc9457SAndroid Build Coastguard Worker 128 /* groups */,
337*4bdc9457SAndroid Build Coastguard Worker 1 /* input channels per group */,
338*4bdc9457SAndroid Build Coastguard Worker 1 /* output_channels_per_group */,
339*4bdc9457SAndroid Build Coastguard Worker 128 /* input pixel stride */,
340*4bdc9457SAndroid Build Coastguard Worker 128 /* output pixel stride */,
341*4bdc9457SAndroid Build Coastguard Worker 127 /* input zero point */, 0.5f /* input scale */, 128 /* kernel zero point */, 0.5f /* kernel scale */,
342*4bdc9457SAndroid Build Coastguard Worker w40.data(), w41.data(),
343*4bdc9457SAndroid Build Coastguard Worker 127 /* output zero point */, 0.5f /* output scale */, 0 /* output min */, 255 /* output max */,
344*4bdc9457SAndroid Build Coastguard Worker 0 /* flags */,
345*4bdc9457SAndroid Build Coastguard Worker &caches,
346*4bdc9457SAndroid Build Coastguard Worker &op5);
347*4bdc9457SAndroid Build Coastguard Worker if (status != xnn_status_success) {
348*4bdc9457SAndroid Build Coastguard Worker std::cerr << "failed to create operation #5" << std::endl;
349*4bdc9457SAndroid Build Coastguard Worker return ExecutionPlan();
350*4bdc9457SAndroid Build Coastguard Worker }
351*4bdc9457SAndroid Build Coastguard Worker operators.emplace_back(op5, xnn_delete_operator);
352*4bdc9457SAndroid Build Coastguard Worker
353*4bdc9457SAndroid Build Coastguard Worker xnn_operator_t op6 = nullptr;
354*4bdc9457SAndroid Build Coastguard Worker status = xnn_create_convolution2d_nhwc_qu8(
355*4bdc9457SAndroid Build Coastguard Worker 0 /* top padding */, 0 /* right padding */,
356*4bdc9457SAndroid Build Coastguard Worker 0 /* bottom padding */, 0 /* left padding */,
357*4bdc9457SAndroid Build Coastguard Worker 1 /* kernel height */, 1 /* kernel width */,
358*4bdc9457SAndroid Build Coastguard Worker 1 /* subsampling height */, 1 /* subsampling width */,
359*4bdc9457SAndroid Build Coastguard Worker 1 /* dilation_height */, 1 /* dilation_width */,
360*4bdc9457SAndroid Build Coastguard Worker 1 /* groups */,
361*4bdc9457SAndroid Build Coastguard Worker 128 /* input channels per group */,
362*4bdc9457SAndroid Build Coastguard Worker 128 /* output_channels_per_group */,
363*4bdc9457SAndroid Build Coastguard Worker 128 /* input pixel stride */,
364*4bdc9457SAndroid Build Coastguard Worker 128 /* output pixel stride */,
365*4bdc9457SAndroid Build Coastguard Worker 127 /* input zero point */, 0.5f /* input scale */, 128 /* kernel zero point */, 0.5f /* kernel scale */,
366*4bdc9457SAndroid Build Coastguard Worker w42.data(), w43.data(),
367*4bdc9457SAndroid Build Coastguard Worker 127 /* output zero point */, 0.5f /* output scale */, 0 /* output min */, 255 /* output max */,
368*4bdc9457SAndroid Build Coastguard Worker 0 /* flags */,
369*4bdc9457SAndroid Build Coastguard Worker &caches,
370*4bdc9457SAndroid Build Coastguard Worker &op6);
371*4bdc9457SAndroid Build Coastguard Worker if (status != xnn_status_success) {
372*4bdc9457SAndroid Build Coastguard Worker std::cerr << "failed to create operation #6" << std::endl;
373*4bdc9457SAndroid Build Coastguard Worker return ExecutionPlan();
374*4bdc9457SAndroid Build Coastguard Worker }
375*4bdc9457SAndroid Build Coastguard Worker operators.emplace_back(op6, xnn_delete_operator);
376*4bdc9457SAndroid Build Coastguard Worker
377*4bdc9457SAndroid Build Coastguard Worker xnn_operator_t op7 = nullptr;
378*4bdc9457SAndroid Build Coastguard Worker status = xnn_create_convolution2d_nhwc_qu8(
379*4bdc9457SAndroid Build Coastguard Worker 0 /* top padding */, 1 /* right padding */,
380*4bdc9457SAndroid Build Coastguard Worker 1 /* bottom padding */, 0 /* left padding */,
381*4bdc9457SAndroid Build Coastguard Worker 3 /* kernel height */, 3 /* kernel width */,
382*4bdc9457SAndroid Build Coastguard Worker 2 /* subsampling height */, 2 /* subsampling width */,
383*4bdc9457SAndroid Build Coastguard Worker 1 /* dilation_height */, 1 /* dilation_width */,
384*4bdc9457SAndroid Build Coastguard Worker 128 /* groups */,
385*4bdc9457SAndroid Build Coastguard Worker 1 /* input channels per group */,
386*4bdc9457SAndroid Build Coastguard Worker 1 /* output_channels_per_group */,
387*4bdc9457SAndroid Build Coastguard Worker 128 /* input pixel stride */,
388*4bdc9457SAndroid Build Coastguard Worker 128 /* output pixel stride */,
389*4bdc9457SAndroid Build Coastguard Worker 127 /* input zero point */, 0.5f /* input scale */, 128 /* kernel zero point */, 0.5f /* kernel scale */,
390*4bdc9457SAndroid Build Coastguard Worker w44.data(), w45.data(),
391*4bdc9457SAndroid Build Coastguard Worker 127 /* output zero point */, 0.5f /* output scale */, 0 /* output min */, 255 /* output max */,
392*4bdc9457SAndroid Build Coastguard Worker 0 /* flags */,
393*4bdc9457SAndroid Build Coastguard Worker &caches,
394*4bdc9457SAndroid Build Coastguard Worker &op7);
395*4bdc9457SAndroid Build Coastguard Worker if (status != xnn_status_success) {
396*4bdc9457SAndroid Build Coastguard Worker std::cerr << "failed to create operation #7" << std::endl;
397*4bdc9457SAndroid Build Coastguard Worker return ExecutionPlan();
398*4bdc9457SAndroid Build Coastguard Worker }
399*4bdc9457SAndroid Build Coastguard Worker operators.emplace_back(op7, xnn_delete_operator);
400*4bdc9457SAndroid Build Coastguard Worker
401*4bdc9457SAndroid Build Coastguard Worker xnn_operator_t op8 = nullptr;
402*4bdc9457SAndroid Build Coastguard Worker status = xnn_create_convolution2d_nhwc_qu8(
403*4bdc9457SAndroid Build Coastguard Worker 0 /* top padding */, 0 /* right padding */,
404*4bdc9457SAndroid Build Coastguard Worker 0 /* bottom padding */, 0 /* left padding */,
405*4bdc9457SAndroid Build Coastguard Worker 1 /* kernel height */, 1 /* kernel width */,
406*4bdc9457SAndroid Build Coastguard Worker 1 /* subsampling height */, 1 /* subsampling width */,
407*4bdc9457SAndroid Build Coastguard Worker 1 /* dilation_height */, 1 /* dilation_width */,
408*4bdc9457SAndroid Build Coastguard Worker 1 /* groups */,
409*4bdc9457SAndroid Build Coastguard Worker 128 /* input channels per group */,
410*4bdc9457SAndroid Build Coastguard Worker 256 /* output_channels_per_group */,
411*4bdc9457SAndroid Build Coastguard Worker 128 /* input pixel stride */,
412*4bdc9457SAndroid Build Coastguard Worker 256 /* output pixel stride */,
413*4bdc9457SAndroid Build Coastguard Worker 127 /* input zero point */, 0.5f /* input scale */, 128 /* kernel zero point */, 0.5f /* kernel scale */,
414*4bdc9457SAndroid Build Coastguard Worker w46.data(), w47.data(),
415*4bdc9457SAndroid Build Coastguard Worker 127 /* output zero point */, 0.5f /* output scale */, 0 /* output min */, 255 /* output max */,
416*4bdc9457SAndroid Build Coastguard Worker 0 /* flags */,
417*4bdc9457SAndroid Build Coastguard Worker &caches,
418*4bdc9457SAndroid Build Coastguard Worker &op8);
419*4bdc9457SAndroid Build Coastguard Worker if (status != xnn_status_success) {
420*4bdc9457SAndroid Build Coastguard Worker std::cerr << "failed to create operation #8" << std::endl;
421*4bdc9457SAndroid Build Coastguard Worker return ExecutionPlan();
422*4bdc9457SAndroid Build Coastguard Worker }
423*4bdc9457SAndroid Build Coastguard Worker operators.emplace_back(op8, xnn_delete_operator);
424*4bdc9457SAndroid Build Coastguard Worker
425*4bdc9457SAndroid Build Coastguard Worker xnn_operator_t op9 = nullptr;
426*4bdc9457SAndroid Build Coastguard Worker status = xnn_create_convolution2d_nhwc_qu8(
427*4bdc9457SAndroid Build Coastguard Worker 1 /* top padding */, 1 /* right padding */,
428*4bdc9457SAndroid Build Coastguard Worker 1 /* bottom padding */, 1 /* left padding */,
429*4bdc9457SAndroid Build Coastguard Worker 3 /* kernel height */, 3 /* kernel width */,
430*4bdc9457SAndroid Build Coastguard Worker 1 /* subsampling height */, 1 /* subsampling width */,
431*4bdc9457SAndroid Build Coastguard Worker 1 /* dilation_height */, 1 /* dilation_width */,
432*4bdc9457SAndroid Build Coastguard Worker 256 /* groups */,
433*4bdc9457SAndroid Build Coastguard Worker 1 /* input channels per group */,
434*4bdc9457SAndroid Build Coastguard Worker 1 /* output_channels_per_group */,
435*4bdc9457SAndroid Build Coastguard Worker 256 /* input pixel stride */,
436*4bdc9457SAndroid Build Coastguard Worker 256 /* output pixel stride */,
437*4bdc9457SAndroid Build Coastguard Worker 127 /* input zero point */, 0.5f /* input scale */, 128 /* kernel zero point */, 0.5f /* kernel scale */,
438*4bdc9457SAndroid Build Coastguard Worker w48.data(), w49.data(),
439*4bdc9457SAndroid Build Coastguard Worker 127 /* output zero point */, 0.5f /* output scale */, 0 /* output min */, 255 /* output max */,
440*4bdc9457SAndroid Build Coastguard Worker 0 /* flags */,
441*4bdc9457SAndroid Build Coastguard Worker &caches,
442*4bdc9457SAndroid Build Coastguard Worker &op9);
443*4bdc9457SAndroid Build Coastguard Worker if (status != xnn_status_success) {
444*4bdc9457SAndroid Build Coastguard Worker std::cerr << "failed to create operation #9" << std::endl;
445*4bdc9457SAndroid Build Coastguard Worker return ExecutionPlan();
446*4bdc9457SAndroid Build Coastguard Worker }
447*4bdc9457SAndroid Build Coastguard Worker operators.emplace_back(op9, xnn_delete_operator);
448*4bdc9457SAndroid Build Coastguard Worker
449*4bdc9457SAndroid Build Coastguard Worker xnn_operator_t op10 = nullptr;
450*4bdc9457SAndroid Build Coastguard Worker status = xnn_create_convolution2d_nhwc_qu8(
451*4bdc9457SAndroid Build Coastguard Worker 0 /* top padding */, 0 /* right padding */,
452*4bdc9457SAndroid Build Coastguard Worker 0 /* bottom padding */, 0 /* left padding */,
453*4bdc9457SAndroid Build Coastguard Worker 1 /* kernel height */, 1 /* kernel width */,
454*4bdc9457SAndroid Build Coastguard Worker 1 /* subsampling height */, 1 /* subsampling width */,
455*4bdc9457SAndroid Build Coastguard Worker 1 /* dilation_height */, 1 /* dilation_width */,
456*4bdc9457SAndroid Build Coastguard Worker 1 /* groups */,
457*4bdc9457SAndroid Build Coastguard Worker 256 /* input channels per group */,
458*4bdc9457SAndroid Build Coastguard Worker 256 /* output_channels_per_group */,
459*4bdc9457SAndroid Build Coastguard Worker 256 /* input pixel stride */,
460*4bdc9457SAndroid Build Coastguard Worker 256 /* output pixel stride */,
461*4bdc9457SAndroid Build Coastguard Worker 127 /* input zero point */, 0.5f /* input scale */, 128 /* kernel zero point */, 0.5f /* kernel scale */,
462*4bdc9457SAndroid Build Coastguard Worker w50.data(), w51.data(),
463*4bdc9457SAndroid Build Coastguard Worker 127 /* output zero point */, 0.5f /* output scale */, 0 /* output min */, 255 /* output max */,
464*4bdc9457SAndroid Build Coastguard Worker 0 /* flags */,
465*4bdc9457SAndroid Build Coastguard Worker &caches,
466*4bdc9457SAndroid Build Coastguard Worker &op10);
467*4bdc9457SAndroid Build Coastguard Worker if (status != xnn_status_success) {
468*4bdc9457SAndroid Build Coastguard Worker std::cerr << "failed to create operation #10" << std::endl;
469*4bdc9457SAndroid Build Coastguard Worker return ExecutionPlan();
470*4bdc9457SAndroid Build Coastguard Worker }
471*4bdc9457SAndroid Build Coastguard Worker operators.emplace_back(op10, xnn_delete_operator);
472*4bdc9457SAndroid Build Coastguard Worker
473*4bdc9457SAndroid Build Coastguard Worker xnn_operator_t op11 = nullptr;
474*4bdc9457SAndroid Build Coastguard Worker status = xnn_create_convolution2d_nhwc_qu8(
475*4bdc9457SAndroid Build Coastguard Worker 0 /* top padding */, 1 /* right padding */,
476*4bdc9457SAndroid Build Coastguard Worker 1 /* bottom padding */, 0 /* left padding */,
477*4bdc9457SAndroid Build Coastguard Worker 3 /* kernel height */, 3 /* kernel width */,
478*4bdc9457SAndroid Build Coastguard Worker 2 /* subsampling height */, 2 /* subsampling width */,
479*4bdc9457SAndroid Build Coastguard Worker 1 /* dilation_height */, 1 /* dilation_width */,
480*4bdc9457SAndroid Build Coastguard Worker 256 /* groups */,
481*4bdc9457SAndroid Build Coastguard Worker 1 /* input channels per group */,
482*4bdc9457SAndroid Build Coastguard Worker 1 /* output_channels_per_group */,
483*4bdc9457SAndroid Build Coastguard Worker 256 /* input pixel stride */,
484*4bdc9457SAndroid Build Coastguard Worker 256 /* output pixel stride */,
485*4bdc9457SAndroid Build Coastguard Worker 127 /* input zero point */, 0.5f /* input scale */, 128 /* kernel zero point */, 0.5f /* kernel scale */,
486*4bdc9457SAndroid Build Coastguard Worker w52.data(), w53.data(),
487*4bdc9457SAndroid Build Coastguard Worker 127 /* output zero point */, 0.5f /* output scale */, 0 /* output min */, 255 /* output max */,
488*4bdc9457SAndroid Build Coastguard Worker 0 /* flags */,
489*4bdc9457SAndroid Build Coastguard Worker &caches,
490*4bdc9457SAndroid Build Coastguard Worker &op11);
491*4bdc9457SAndroid Build Coastguard Worker if (status != xnn_status_success) {
492*4bdc9457SAndroid Build Coastguard Worker std::cerr << "failed to create operation #11" << std::endl;
493*4bdc9457SAndroid Build Coastguard Worker return ExecutionPlan();
494*4bdc9457SAndroid Build Coastguard Worker }
495*4bdc9457SAndroid Build Coastguard Worker operators.emplace_back(op11, xnn_delete_operator);
496*4bdc9457SAndroid Build Coastguard Worker
497*4bdc9457SAndroid Build Coastguard Worker xnn_operator_t op12 = nullptr;
498*4bdc9457SAndroid Build Coastguard Worker status = xnn_create_convolution2d_nhwc_qu8(
499*4bdc9457SAndroid Build Coastguard Worker 0 /* top padding */, 0 /* right padding */,
500*4bdc9457SAndroid Build Coastguard Worker 0 /* bottom padding */, 0 /* left padding */,
501*4bdc9457SAndroid Build Coastguard Worker 1 /* kernel height */, 1 /* kernel width */,
502*4bdc9457SAndroid Build Coastguard Worker 1 /* subsampling height */, 1 /* subsampling width */,
503*4bdc9457SAndroid Build Coastguard Worker 1 /* dilation_height */, 1 /* dilation_width */,
504*4bdc9457SAndroid Build Coastguard Worker 1 /* groups */,
505*4bdc9457SAndroid Build Coastguard Worker 256 /* input channels per group */,
506*4bdc9457SAndroid Build Coastguard Worker 512 /* output_channels_per_group */,
507*4bdc9457SAndroid Build Coastguard Worker 256 /* input pixel stride */,
508*4bdc9457SAndroid Build Coastguard Worker 512 /* output pixel stride */,
509*4bdc9457SAndroid Build Coastguard Worker 127 /* input zero point */, 0.5f /* input scale */, 128 /* kernel zero point */, 0.5f /* kernel scale */,
510*4bdc9457SAndroid Build Coastguard Worker w54.data(), w55.data(),
511*4bdc9457SAndroid Build Coastguard Worker 127 /* output zero point */, 0.5f /* output scale */, 0 /* output min */, 255 /* output max */,
512*4bdc9457SAndroid Build Coastguard Worker 0 /* flags */,
513*4bdc9457SAndroid Build Coastguard Worker &caches,
514*4bdc9457SAndroid Build Coastguard Worker &op12);
515*4bdc9457SAndroid Build Coastguard Worker if (status != xnn_status_success) {
516*4bdc9457SAndroid Build Coastguard Worker std::cerr << "failed to create operation #12" << std::endl;
517*4bdc9457SAndroid Build Coastguard Worker return ExecutionPlan();
518*4bdc9457SAndroid Build Coastguard Worker }
519*4bdc9457SAndroid Build Coastguard Worker operators.emplace_back(op12, xnn_delete_operator);
520*4bdc9457SAndroid Build Coastguard Worker
521*4bdc9457SAndroid Build Coastguard Worker xnn_operator_t op13 = nullptr;
522*4bdc9457SAndroid Build Coastguard Worker status = xnn_create_convolution2d_nhwc_qu8(
523*4bdc9457SAndroid Build Coastguard Worker 1 /* top padding */, 1 /* right padding */,
524*4bdc9457SAndroid Build Coastguard Worker 1 /* bottom padding */, 1 /* left padding */,
525*4bdc9457SAndroid Build Coastguard Worker 3 /* kernel height */, 3 /* kernel width */,
526*4bdc9457SAndroid Build Coastguard Worker 1 /* subsampling height */, 1 /* subsampling width */,
527*4bdc9457SAndroid Build Coastguard Worker 1 /* dilation_height */, 1 /* dilation_width */,
528*4bdc9457SAndroid Build Coastguard Worker 512 /* groups */,
529*4bdc9457SAndroid Build Coastguard Worker 1 /* input channels per group */,
530*4bdc9457SAndroid Build Coastguard Worker 1 /* output_channels_per_group */,
531*4bdc9457SAndroid Build Coastguard Worker 512 /* input pixel stride */,
532*4bdc9457SAndroid Build Coastguard Worker 512 /* output pixel stride */,
533*4bdc9457SAndroid Build Coastguard Worker 127 /* input zero point */, 0.5f /* input scale */, 128 /* kernel zero point */, 0.5f /* kernel scale */,
534*4bdc9457SAndroid Build Coastguard Worker w56.data(), w57.data(),
535*4bdc9457SAndroid Build Coastguard Worker 127 /* output zero point */, 0.5f /* output scale */, 0 /* output min */, 255 /* output max */,
536*4bdc9457SAndroid Build Coastguard Worker 0 /* flags */,
537*4bdc9457SAndroid Build Coastguard Worker &caches,
538*4bdc9457SAndroid Build Coastguard Worker &op13);
539*4bdc9457SAndroid Build Coastguard Worker if (status != xnn_status_success) {
540*4bdc9457SAndroid Build Coastguard Worker std::cerr << "failed to create operation #13" << std::endl;
541*4bdc9457SAndroid Build Coastguard Worker return ExecutionPlan();
542*4bdc9457SAndroid Build Coastguard Worker }
543*4bdc9457SAndroid Build Coastguard Worker operators.emplace_back(op13, xnn_delete_operator);
544*4bdc9457SAndroid Build Coastguard Worker
545*4bdc9457SAndroid Build Coastguard Worker xnn_operator_t op14 = nullptr;
546*4bdc9457SAndroid Build Coastguard Worker status = xnn_create_convolution2d_nhwc_qu8(
547*4bdc9457SAndroid Build Coastguard Worker 0 /* top padding */, 0 /* right padding */,
548*4bdc9457SAndroid Build Coastguard Worker 0 /* bottom padding */, 0 /* left padding */,
549*4bdc9457SAndroid Build Coastguard Worker 1 /* kernel height */, 1 /* kernel width */,
550*4bdc9457SAndroid Build Coastguard Worker 1 /* subsampling height */, 1 /* subsampling width */,
551*4bdc9457SAndroid Build Coastguard Worker 1 /* dilation_height */, 1 /* dilation_width */,
552*4bdc9457SAndroid Build Coastguard Worker 1 /* groups */,
553*4bdc9457SAndroid Build Coastguard Worker 512 /* input channels per group */,
554*4bdc9457SAndroid Build Coastguard Worker 512 /* output_channels_per_group */,
555*4bdc9457SAndroid Build Coastguard Worker 512 /* input pixel stride */,
556*4bdc9457SAndroid Build Coastguard Worker 512 /* output pixel stride */,
557*4bdc9457SAndroid Build Coastguard Worker 127 /* input zero point */, 0.5f /* input scale */, 128 /* kernel zero point */, 0.5f /* kernel scale */,
558*4bdc9457SAndroid Build Coastguard Worker w58.data(), w59.data(),
559*4bdc9457SAndroid Build Coastguard Worker 127 /* output zero point */, 0.5f /* output scale */, 0 /* output min */, 255 /* output max */,
560*4bdc9457SAndroid Build Coastguard Worker 0 /* flags */,
561*4bdc9457SAndroid Build Coastguard Worker &caches,
562*4bdc9457SAndroid Build Coastguard Worker &op14);
563*4bdc9457SAndroid Build Coastguard Worker if (status != xnn_status_success) {
564*4bdc9457SAndroid Build Coastguard Worker std::cerr << "failed to create operation #14" << std::endl;
565*4bdc9457SAndroid Build Coastguard Worker return ExecutionPlan();
566*4bdc9457SAndroid Build Coastguard Worker }
567*4bdc9457SAndroid Build Coastguard Worker operators.emplace_back(op14, xnn_delete_operator);
568*4bdc9457SAndroid Build Coastguard Worker
569*4bdc9457SAndroid Build Coastguard Worker xnn_operator_t op15 = nullptr;
570*4bdc9457SAndroid Build Coastguard Worker status = xnn_create_convolution2d_nhwc_qu8(
571*4bdc9457SAndroid Build Coastguard Worker 1 /* top padding */, 1 /* right padding */,
572*4bdc9457SAndroid Build Coastguard Worker 1 /* bottom padding */, 1 /* left padding */,
573*4bdc9457SAndroid Build Coastguard Worker 3 /* kernel height */, 3 /* kernel width */,
574*4bdc9457SAndroid Build Coastguard Worker 1 /* subsampling height */, 1 /* subsampling width */,
575*4bdc9457SAndroid Build Coastguard Worker 1 /* dilation_height */, 1 /* dilation_width */,
576*4bdc9457SAndroid Build Coastguard Worker 512 /* groups */,
577*4bdc9457SAndroid Build Coastguard Worker 1 /* input channels per group */,
578*4bdc9457SAndroid Build Coastguard Worker 1 /* output_channels_per_group */,
579*4bdc9457SAndroid Build Coastguard Worker 512 /* input pixel stride */,
580*4bdc9457SAndroid Build Coastguard Worker 512 /* output pixel stride */,
581*4bdc9457SAndroid Build Coastguard Worker 127 /* input zero point */, 0.5f /* input scale */, 128 /* kernel zero point */, 0.5f /* kernel scale */,
582*4bdc9457SAndroid Build Coastguard Worker w60.data(), w61.data(),
583*4bdc9457SAndroid Build Coastguard Worker 127 /* output zero point */, 0.5f /* output scale */, 0 /* output min */, 255 /* output max */,
584*4bdc9457SAndroid Build Coastguard Worker 0 /* flags */,
585*4bdc9457SAndroid Build Coastguard Worker &caches,
586*4bdc9457SAndroid Build Coastguard Worker &op15);
587*4bdc9457SAndroid Build Coastguard Worker if (status != xnn_status_success) {
588*4bdc9457SAndroid Build Coastguard Worker std::cerr << "failed to create operation #15" << std::endl;
589*4bdc9457SAndroid Build Coastguard Worker return ExecutionPlan();
590*4bdc9457SAndroid Build Coastguard Worker }
591*4bdc9457SAndroid Build Coastguard Worker operators.emplace_back(op15, xnn_delete_operator);
592*4bdc9457SAndroid Build Coastguard Worker
593*4bdc9457SAndroid Build Coastguard Worker xnn_operator_t op16 = nullptr;
594*4bdc9457SAndroid Build Coastguard Worker status = xnn_create_convolution2d_nhwc_qu8(
595*4bdc9457SAndroid Build Coastguard Worker 0 /* top padding */, 0 /* right padding */,
596*4bdc9457SAndroid Build Coastguard Worker 0 /* bottom padding */, 0 /* left padding */,
597*4bdc9457SAndroid Build Coastguard Worker 1 /* kernel height */, 1 /* kernel width */,
598*4bdc9457SAndroid Build Coastguard Worker 1 /* subsampling height */, 1 /* subsampling width */,
599*4bdc9457SAndroid Build Coastguard Worker 1 /* dilation_height */, 1 /* dilation_width */,
600*4bdc9457SAndroid Build Coastguard Worker 1 /* groups */,
601*4bdc9457SAndroid Build Coastguard Worker 512 /* input channels per group */,
602*4bdc9457SAndroid Build Coastguard Worker 512 /* output_channels_per_group */,
603*4bdc9457SAndroid Build Coastguard Worker 512 /* input pixel stride */,
604*4bdc9457SAndroid Build Coastguard Worker 512 /* output pixel stride */,
605*4bdc9457SAndroid Build Coastguard Worker 127 /* input zero point */, 0.5f /* input scale */, 128 /* kernel zero point */, 0.5f /* kernel scale */,
606*4bdc9457SAndroid Build Coastguard Worker w62.data(), w63.data(),
607*4bdc9457SAndroid Build Coastguard Worker 127 /* output zero point */, 0.5f /* output scale */, 0 /* output min */, 255 /* output max */,
608*4bdc9457SAndroid Build Coastguard Worker 0 /* flags */,
609*4bdc9457SAndroid Build Coastguard Worker &caches,
610*4bdc9457SAndroid Build Coastguard Worker &op16);
611*4bdc9457SAndroid Build Coastguard Worker if (status != xnn_status_success) {
612*4bdc9457SAndroid Build Coastguard Worker std::cerr << "failed to create operation #16" << std::endl;
613*4bdc9457SAndroid Build Coastguard Worker return ExecutionPlan();
614*4bdc9457SAndroid Build Coastguard Worker }
615*4bdc9457SAndroid Build Coastguard Worker operators.emplace_back(op16, xnn_delete_operator);
616*4bdc9457SAndroid Build Coastguard Worker
617*4bdc9457SAndroid Build Coastguard Worker xnn_operator_t op17 = nullptr;
618*4bdc9457SAndroid Build Coastguard Worker status = xnn_create_convolution2d_nhwc_qu8(
619*4bdc9457SAndroid Build Coastguard Worker 1 /* top padding */, 1 /* right padding */,
620*4bdc9457SAndroid Build Coastguard Worker 1 /* bottom padding */, 1 /* left padding */,
621*4bdc9457SAndroid Build Coastguard Worker 3 /* kernel height */, 3 /* kernel width */,
622*4bdc9457SAndroid Build Coastguard Worker 1 /* subsampling height */, 1 /* subsampling width */,
623*4bdc9457SAndroid Build Coastguard Worker 1 /* dilation_height */, 1 /* dilation_width */,
624*4bdc9457SAndroid Build Coastguard Worker 512 /* groups */,
625*4bdc9457SAndroid Build Coastguard Worker 1 /* input channels per group */,
626*4bdc9457SAndroid Build Coastguard Worker 1 /* output_channels_per_group */,
627*4bdc9457SAndroid Build Coastguard Worker 512 /* input pixel stride */,
628*4bdc9457SAndroid Build Coastguard Worker 512 /* output pixel stride */,
629*4bdc9457SAndroid Build Coastguard Worker 127 /* input zero point */, 0.5f /* input scale */, 128 /* kernel zero point */, 0.5f /* kernel scale */,
630*4bdc9457SAndroid Build Coastguard Worker w64.data(), w65.data(),
631*4bdc9457SAndroid Build Coastguard Worker 127 /* output zero point */, 0.5f /* output scale */, 0 /* output min */, 255 /* output max */,
632*4bdc9457SAndroid Build Coastguard Worker 0 /* flags */,
633*4bdc9457SAndroid Build Coastguard Worker &caches,
634*4bdc9457SAndroid Build Coastguard Worker &op17);
635*4bdc9457SAndroid Build Coastguard Worker if (status != xnn_status_success) {
636*4bdc9457SAndroid Build Coastguard Worker std::cerr << "failed to create operation #17" << std::endl;
637*4bdc9457SAndroid Build Coastguard Worker return ExecutionPlan();
638*4bdc9457SAndroid Build Coastguard Worker }
639*4bdc9457SAndroid Build Coastguard Worker operators.emplace_back(op17, xnn_delete_operator);
640*4bdc9457SAndroid Build Coastguard Worker
641*4bdc9457SAndroid Build Coastguard Worker xnn_operator_t op18 = nullptr;
642*4bdc9457SAndroid Build Coastguard Worker status = xnn_create_convolution2d_nhwc_qu8(
643*4bdc9457SAndroid Build Coastguard Worker 0 /* top padding */, 0 /* right padding */,
644*4bdc9457SAndroid Build Coastguard Worker 0 /* bottom padding */, 0 /* left padding */,
645*4bdc9457SAndroid Build Coastguard Worker 1 /* kernel height */, 1 /* kernel width */,
646*4bdc9457SAndroid Build Coastguard Worker 1 /* subsampling height */, 1 /* subsampling width */,
647*4bdc9457SAndroid Build Coastguard Worker 1 /* dilation_height */, 1 /* dilation_width */,
648*4bdc9457SAndroid Build Coastguard Worker 1 /* groups */,
649*4bdc9457SAndroid Build Coastguard Worker 512 /* input channels per group */,
650*4bdc9457SAndroid Build Coastguard Worker 512 /* output_channels_per_group */,
651*4bdc9457SAndroid Build Coastguard Worker 512 /* input pixel stride */,
652*4bdc9457SAndroid Build Coastguard Worker 512 /* output pixel stride */,
653*4bdc9457SAndroid Build Coastguard Worker 127 /* input zero point */, 0.5f /* input scale */, 128 /* kernel zero point */, 0.5f /* kernel scale */,
654*4bdc9457SAndroid Build Coastguard Worker w66.data(), w67.data(),
655*4bdc9457SAndroid Build Coastguard Worker 127 /* output zero point */, 0.5f /* output scale */, 0 /* output min */, 255 /* output max */,
656*4bdc9457SAndroid Build Coastguard Worker 0 /* flags */,
657*4bdc9457SAndroid Build Coastguard Worker &caches,
658*4bdc9457SAndroid Build Coastguard Worker &op18);
659*4bdc9457SAndroid Build Coastguard Worker if (status != xnn_status_success) {
660*4bdc9457SAndroid Build Coastguard Worker std::cerr << "failed to create operation #18" << std::endl;
661*4bdc9457SAndroid Build Coastguard Worker return ExecutionPlan();
662*4bdc9457SAndroid Build Coastguard Worker }
663*4bdc9457SAndroid Build Coastguard Worker operators.emplace_back(op18, xnn_delete_operator);
664*4bdc9457SAndroid Build Coastguard Worker
665*4bdc9457SAndroid Build Coastguard Worker xnn_operator_t op19 = nullptr;
666*4bdc9457SAndroid Build Coastguard Worker status = xnn_create_convolution2d_nhwc_qu8(
667*4bdc9457SAndroid Build Coastguard Worker 1 /* top padding */, 1 /* right padding */,
668*4bdc9457SAndroid Build Coastguard Worker 1 /* bottom padding */, 1 /* left padding */,
669*4bdc9457SAndroid Build Coastguard Worker 3 /* kernel height */, 3 /* kernel width */,
670*4bdc9457SAndroid Build Coastguard Worker 1 /* subsampling height */, 1 /* subsampling width */,
671*4bdc9457SAndroid Build Coastguard Worker 1 /* dilation_height */, 1 /* dilation_width */,
672*4bdc9457SAndroid Build Coastguard Worker 512 /* groups */,
673*4bdc9457SAndroid Build Coastguard Worker 1 /* input channels per group */,
674*4bdc9457SAndroid Build Coastguard Worker 1 /* output_channels_per_group */,
675*4bdc9457SAndroid Build Coastguard Worker 512 /* input pixel stride */,
676*4bdc9457SAndroid Build Coastguard Worker 512 /* output pixel stride */,
677*4bdc9457SAndroid Build Coastguard Worker 127 /* input zero point */, 0.5f /* input scale */, 128 /* kernel zero point */, 0.5f /* kernel scale */,
678*4bdc9457SAndroid Build Coastguard Worker w68.data(), w69.data(),
679*4bdc9457SAndroid Build Coastguard Worker 127 /* output zero point */, 0.5f /* output scale */, 0 /* output min */, 255 /* output max */,
680*4bdc9457SAndroid Build Coastguard Worker 0 /* flags */,
681*4bdc9457SAndroid Build Coastguard Worker &caches,
682*4bdc9457SAndroid Build Coastguard Worker &op19);
683*4bdc9457SAndroid Build Coastguard Worker if (status != xnn_status_success) {
684*4bdc9457SAndroid Build Coastguard Worker std::cerr << "failed to create operation #19" << std::endl;
685*4bdc9457SAndroid Build Coastguard Worker return ExecutionPlan();
686*4bdc9457SAndroid Build Coastguard Worker }
687*4bdc9457SAndroid Build Coastguard Worker operators.emplace_back(op19, xnn_delete_operator);
688*4bdc9457SAndroid Build Coastguard Worker
689*4bdc9457SAndroid Build Coastguard Worker xnn_operator_t op20 = nullptr;
690*4bdc9457SAndroid Build Coastguard Worker status = xnn_create_convolution2d_nhwc_qu8(
691*4bdc9457SAndroid Build Coastguard Worker 0 /* top padding */, 0 /* right padding */,
692*4bdc9457SAndroid Build Coastguard Worker 0 /* bottom padding */, 0 /* left padding */,
693*4bdc9457SAndroid Build Coastguard Worker 1 /* kernel height */, 1 /* kernel width */,
694*4bdc9457SAndroid Build Coastguard Worker 1 /* subsampling height */, 1 /* subsampling width */,
695*4bdc9457SAndroid Build Coastguard Worker 1 /* dilation_height */, 1 /* dilation_width */,
696*4bdc9457SAndroid Build Coastguard Worker 1 /* groups */,
697*4bdc9457SAndroid Build Coastguard Worker 512 /* input channels per group */,
698*4bdc9457SAndroid Build Coastguard Worker 512 /* output_channels_per_group */,
699*4bdc9457SAndroid Build Coastguard Worker 512 /* input pixel stride */,
700*4bdc9457SAndroid Build Coastguard Worker 512 /* output pixel stride */,
701*4bdc9457SAndroid Build Coastguard Worker 127 /* input zero point */, 0.5f /* input scale */, 128 /* kernel zero point */, 0.5f /* kernel scale */,
702*4bdc9457SAndroid Build Coastguard Worker w70.data(), w71.data(),
703*4bdc9457SAndroid Build Coastguard Worker 127 /* output zero point */, 0.5f /* output scale */, 0 /* output min */, 255 /* output max */,
704*4bdc9457SAndroid Build Coastguard Worker 0 /* flags */,
705*4bdc9457SAndroid Build Coastguard Worker &caches,
706*4bdc9457SAndroid Build Coastguard Worker &op20);
707*4bdc9457SAndroid Build Coastguard Worker if (status != xnn_status_success) {
708*4bdc9457SAndroid Build Coastguard Worker std::cerr << "failed to create operation #20" << std::endl;
709*4bdc9457SAndroid Build Coastguard Worker return ExecutionPlan();
710*4bdc9457SAndroid Build Coastguard Worker }
711*4bdc9457SAndroid Build Coastguard Worker operators.emplace_back(op20, xnn_delete_operator);
712*4bdc9457SAndroid Build Coastguard Worker
713*4bdc9457SAndroid Build Coastguard Worker xnn_operator_t op21 = nullptr;
714*4bdc9457SAndroid Build Coastguard Worker status = xnn_create_convolution2d_nhwc_qu8(
715*4bdc9457SAndroid Build Coastguard Worker 1 /* top padding */, 1 /* right padding */,
716*4bdc9457SAndroid Build Coastguard Worker 1 /* bottom padding */, 1 /* left padding */,
717*4bdc9457SAndroid Build Coastguard Worker 3 /* kernel height */, 3 /* kernel width */,
718*4bdc9457SAndroid Build Coastguard Worker 1 /* subsampling height */, 1 /* subsampling width */,
719*4bdc9457SAndroid Build Coastguard Worker 1 /* dilation_height */, 1 /* dilation_width */,
720*4bdc9457SAndroid Build Coastguard Worker 512 /* groups */,
721*4bdc9457SAndroid Build Coastguard Worker 1 /* input channels per group */,
722*4bdc9457SAndroid Build Coastguard Worker 1 /* output_channels_per_group */,
723*4bdc9457SAndroid Build Coastguard Worker 512 /* input pixel stride */,
724*4bdc9457SAndroid Build Coastguard Worker 512 /* output pixel stride */,
725*4bdc9457SAndroid Build Coastguard Worker 127 /* input zero point */, 0.5f /* input scale */, 128 /* kernel zero point */, 0.5f /* kernel scale */,
726*4bdc9457SAndroid Build Coastguard Worker w72.data(), w73.data(),
727*4bdc9457SAndroid Build Coastguard Worker 127 /* output zero point */, 0.5f /* output scale */, 0 /* output min */, 255 /* output max */,
728*4bdc9457SAndroid Build Coastguard Worker 0 /* flags */,
729*4bdc9457SAndroid Build Coastguard Worker &caches,
730*4bdc9457SAndroid Build Coastguard Worker &op21);
731*4bdc9457SAndroid Build Coastguard Worker if (status != xnn_status_success) {
732*4bdc9457SAndroid Build Coastguard Worker std::cerr << "failed to create operation #21" << std::endl;
733*4bdc9457SAndroid Build Coastguard Worker return ExecutionPlan();
734*4bdc9457SAndroid Build Coastguard Worker }
735*4bdc9457SAndroid Build Coastguard Worker operators.emplace_back(op21, xnn_delete_operator);
736*4bdc9457SAndroid Build Coastguard Worker
737*4bdc9457SAndroid Build Coastguard Worker xnn_operator_t op22 = nullptr;
738*4bdc9457SAndroid Build Coastguard Worker status = xnn_create_convolution2d_nhwc_qu8(
739*4bdc9457SAndroid Build Coastguard Worker 0 /* top padding */, 0 /* right padding */,
740*4bdc9457SAndroid Build Coastguard Worker 0 /* bottom padding */, 0 /* left padding */,
741*4bdc9457SAndroid Build Coastguard Worker 1 /* kernel height */, 1 /* kernel width */,
742*4bdc9457SAndroid Build Coastguard Worker 1 /* subsampling height */, 1 /* subsampling width */,
743*4bdc9457SAndroid Build Coastguard Worker 1 /* dilation_height */, 1 /* dilation_width */,
744*4bdc9457SAndroid Build Coastguard Worker 1 /* groups */,
745*4bdc9457SAndroid Build Coastguard Worker 512 /* input channels per group */,
746*4bdc9457SAndroid Build Coastguard Worker 512 /* output_channels_per_group */,
747*4bdc9457SAndroid Build Coastguard Worker 512 /* input pixel stride */,
748*4bdc9457SAndroid Build Coastguard Worker 512 /* output pixel stride */,
749*4bdc9457SAndroid Build Coastguard Worker 127 /* input zero point */, 0.5f /* input scale */, 128 /* kernel zero point */, 0.5f /* kernel scale */,
750*4bdc9457SAndroid Build Coastguard Worker w74.data(), w75.data(),
751*4bdc9457SAndroid Build Coastguard Worker 127 /* output zero point */, 0.5f /* output scale */, 0 /* output min */, 255 /* output max */,
752*4bdc9457SAndroid Build Coastguard Worker 0 /* flags */,
753*4bdc9457SAndroid Build Coastguard Worker &caches,
754*4bdc9457SAndroid Build Coastguard Worker &op22);
755*4bdc9457SAndroid Build Coastguard Worker if (status != xnn_status_success) {
756*4bdc9457SAndroid Build Coastguard Worker std::cerr << "failed to create operation #22" << std::endl;
757*4bdc9457SAndroid Build Coastguard Worker return ExecutionPlan();
758*4bdc9457SAndroid Build Coastguard Worker }
759*4bdc9457SAndroid Build Coastguard Worker operators.emplace_back(op22, xnn_delete_operator);
760*4bdc9457SAndroid Build Coastguard Worker
761*4bdc9457SAndroid Build Coastguard Worker xnn_operator_t op23 = nullptr;
762*4bdc9457SAndroid Build Coastguard Worker status = xnn_create_convolution2d_nhwc_qu8(
763*4bdc9457SAndroid Build Coastguard Worker 0 /* top padding */, 1 /* right padding */,
764*4bdc9457SAndroid Build Coastguard Worker 1 /* bottom padding */, 0 /* left padding */,
765*4bdc9457SAndroid Build Coastguard Worker 3 /* kernel height */, 3 /* kernel width */,
766*4bdc9457SAndroid Build Coastguard Worker 2 /* subsampling height */, 2 /* subsampling width */,
767*4bdc9457SAndroid Build Coastguard Worker 1 /* dilation_height */, 1 /* dilation_width */,
768*4bdc9457SAndroid Build Coastguard Worker 512 /* groups */,
769*4bdc9457SAndroid Build Coastguard Worker 1 /* input channels per group */,
770*4bdc9457SAndroid Build Coastguard Worker 1 /* output_channels_per_group */,
771*4bdc9457SAndroid Build Coastguard Worker 512 /* input pixel stride */,
772*4bdc9457SAndroid Build Coastguard Worker 512 /* output pixel stride */,
773*4bdc9457SAndroid Build Coastguard Worker 127 /* input zero point */, 0.5f /* input scale */, 128 /* kernel zero point */, 0.5f /* kernel scale */,
774*4bdc9457SAndroid Build Coastguard Worker w76.data(), w77.data(),
775*4bdc9457SAndroid Build Coastguard Worker 127 /* output zero point */, 0.5f /* output scale */, 0 /* output min */, 255 /* output max */,
776*4bdc9457SAndroid Build Coastguard Worker 0 /* flags */,
777*4bdc9457SAndroid Build Coastguard Worker &caches,
778*4bdc9457SAndroid Build Coastguard Worker &op23);
779*4bdc9457SAndroid Build Coastguard Worker if (status != xnn_status_success) {
780*4bdc9457SAndroid Build Coastguard Worker std::cerr << "failed to create operation #23" << std::endl;
781*4bdc9457SAndroid Build Coastguard Worker return ExecutionPlan();
782*4bdc9457SAndroid Build Coastguard Worker }
783*4bdc9457SAndroid Build Coastguard Worker operators.emplace_back(op23, xnn_delete_operator);
784*4bdc9457SAndroid Build Coastguard Worker
785*4bdc9457SAndroid Build Coastguard Worker xnn_operator_t op24 = nullptr;
786*4bdc9457SAndroid Build Coastguard Worker status = xnn_create_convolution2d_nhwc_qu8(
787*4bdc9457SAndroid Build Coastguard Worker 0 /* top padding */, 0 /* right padding */,
788*4bdc9457SAndroid Build Coastguard Worker 0 /* bottom padding */, 0 /* left padding */,
789*4bdc9457SAndroid Build Coastguard Worker 1 /* kernel height */, 1 /* kernel width */,
790*4bdc9457SAndroid Build Coastguard Worker 1 /* subsampling height */, 1 /* subsampling width */,
791*4bdc9457SAndroid Build Coastguard Worker 1 /* dilation_height */, 1 /* dilation_width */,
792*4bdc9457SAndroid Build Coastguard Worker 1 /* groups */,
793*4bdc9457SAndroid Build Coastguard Worker 512 /* input channels per group */,
794*4bdc9457SAndroid Build Coastguard Worker 1024 /* output_channels_per_group */,
795*4bdc9457SAndroid Build Coastguard Worker 512 /* input pixel stride */,
796*4bdc9457SAndroid Build Coastguard Worker 1024 /* output pixel stride */,
797*4bdc9457SAndroid Build Coastguard Worker 127 /* input zero point */, 0.5f /* input scale */, 128 /* kernel zero point */, 0.5f /* kernel scale */,
798*4bdc9457SAndroid Build Coastguard Worker w78.data(), w79.data(),
799*4bdc9457SAndroid Build Coastguard Worker 127 /* output zero point */, 0.5f /* output scale */, 0 /* output min */, 255 /* output max */,
800*4bdc9457SAndroid Build Coastguard Worker 0 /* flags */,
801*4bdc9457SAndroid Build Coastguard Worker &caches,
802*4bdc9457SAndroid Build Coastguard Worker &op24);
803*4bdc9457SAndroid Build Coastguard Worker if (status != xnn_status_success) {
804*4bdc9457SAndroid Build Coastguard Worker std::cerr << "failed to create operation #24" << std::endl;
805*4bdc9457SAndroid Build Coastguard Worker return ExecutionPlan();
806*4bdc9457SAndroid Build Coastguard Worker }
807*4bdc9457SAndroid Build Coastguard Worker operators.emplace_back(op24, xnn_delete_operator);
808*4bdc9457SAndroid Build Coastguard Worker
809*4bdc9457SAndroid Build Coastguard Worker xnn_operator_t op25 = nullptr;
810*4bdc9457SAndroid Build Coastguard Worker status = xnn_create_convolution2d_nhwc_qu8(
811*4bdc9457SAndroid Build Coastguard Worker 1 /* top padding */, 1 /* right padding */,
812*4bdc9457SAndroid Build Coastguard Worker 1 /* bottom padding */, 1 /* left padding */,
813*4bdc9457SAndroid Build Coastguard Worker 3 /* kernel height */, 3 /* kernel width */,
814*4bdc9457SAndroid Build Coastguard Worker 1 /* subsampling height */, 1 /* subsampling width */,
815*4bdc9457SAndroid Build Coastguard Worker 1 /* dilation_height */, 1 /* dilation_width */,
816*4bdc9457SAndroid Build Coastguard Worker 1024 /* groups */,
817*4bdc9457SAndroid Build Coastguard Worker 1 /* input channels per group */,
818*4bdc9457SAndroid Build Coastguard Worker 1 /* output_channels_per_group */,
819*4bdc9457SAndroid Build Coastguard Worker 1024 /* input pixel stride */,
820*4bdc9457SAndroid Build Coastguard Worker 1024 /* output pixel stride */,
821*4bdc9457SAndroid Build Coastguard Worker 127 /* input zero point */, 0.5f /* input scale */, 128 /* kernel zero point */, 0.5f /* kernel scale */,
822*4bdc9457SAndroid Build Coastguard Worker w80.data(), w81.data(),
823*4bdc9457SAndroid Build Coastguard Worker 127 /* output zero point */, 0.5f /* output scale */, 0 /* output min */, 255 /* output max */,
824*4bdc9457SAndroid Build Coastguard Worker 0 /* flags */,
825*4bdc9457SAndroid Build Coastguard Worker &caches,
826*4bdc9457SAndroid Build Coastguard Worker &op25);
827*4bdc9457SAndroid Build Coastguard Worker if (status != xnn_status_success) {
828*4bdc9457SAndroid Build Coastguard Worker std::cerr << "failed to create operation #25" << std::endl;
829*4bdc9457SAndroid Build Coastguard Worker return ExecutionPlan();
830*4bdc9457SAndroid Build Coastguard Worker }
831*4bdc9457SAndroid Build Coastguard Worker operators.emplace_back(op25, xnn_delete_operator);
832*4bdc9457SAndroid Build Coastguard Worker
833*4bdc9457SAndroid Build Coastguard Worker xnn_operator_t op26 = nullptr;
834*4bdc9457SAndroid Build Coastguard Worker status = xnn_create_convolution2d_nhwc_qu8(
835*4bdc9457SAndroid Build Coastguard Worker 0 /* top padding */, 0 /* right padding */,
836*4bdc9457SAndroid Build Coastguard Worker 0 /* bottom padding */, 0 /* left padding */,
837*4bdc9457SAndroid Build Coastguard Worker 1 /* kernel height */, 1 /* kernel width */,
838*4bdc9457SAndroid Build Coastguard Worker 1 /* subsampling height */, 1 /* subsampling width */,
839*4bdc9457SAndroid Build Coastguard Worker 1 /* dilation_height */, 1 /* dilation_width */,
840*4bdc9457SAndroid Build Coastguard Worker 1 /* groups */,
841*4bdc9457SAndroid Build Coastguard Worker 1024 /* input channels per group */,
842*4bdc9457SAndroid Build Coastguard Worker 1024 /* output_channels_per_group */,
843*4bdc9457SAndroid Build Coastguard Worker 1024 /* input pixel stride */,
844*4bdc9457SAndroid Build Coastguard Worker 1024 /* output pixel stride */,
845*4bdc9457SAndroid Build Coastguard Worker 127 /* input zero point */, 0.5f /* input scale */, 128 /* kernel zero point */, 0.5f /* kernel scale */,
846*4bdc9457SAndroid Build Coastguard Worker w82.data(), w83.data(),
847*4bdc9457SAndroid Build Coastguard Worker 127 /* output zero point */, 0.5f /* output scale */, 0 /* output min */, 255 /* output max */,
848*4bdc9457SAndroid Build Coastguard Worker 0 /* flags */,
849*4bdc9457SAndroid Build Coastguard Worker &caches,
850*4bdc9457SAndroid Build Coastguard Worker &op26);
851*4bdc9457SAndroid Build Coastguard Worker if (status != xnn_status_success) {
852*4bdc9457SAndroid Build Coastguard Worker std::cerr << "failed to create operation #26" << std::endl;
853*4bdc9457SAndroid Build Coastguard Worker return ExecutionPlan();
854*4bdc9457SAndroid Build Coastguard Worker }
855*4bdc9457SAndroid Build Coastguard Worker operators.emplace_back(op26, xnn_delete_operator);
856*4bdc9457SAndroid Build Coastguard Worker
857*4bdc9457SAndroid Build Coastguard Worker xnn_operator_t op27 = nullptr;
858*4bdc9457SAndroid Build Coastguard Worker status = xnn_create_global_average_pooling_nwc_qu8(
859*4bdc9457SAndroid Build Coastguard Worker 1024 /* channels */, 1024 /* input stride */, 1024 /* output stride */,
860*4bdc9457SAndroid Build Coastguard Worker 127 /* input zero point */, 0.5f /* input scale */,
861*4bdc9457SAndroid Build Coastguard Worker 127 /* output zero point */, 0.5f /* output scale */,
862*4bdc9457SAndroid Build Coastguard Worker 0 /* output min */, 255 /* output max */,
863*4bdc9457SAndroid Build Coastguard Worker 0 /* flags */,
864*4bdc9457SAndroid Build Coastguard Worker &op27);
865*4bdc9457SAndroid Build Coastguard Worker if (status != xnn_status_success) {
866*4bdc9457SAndroid Build Coastguard Worker std::cerr << "failed to create operation #27" << std::endl;
867*4bdc9457SAndroid Build Coastguard Worker return ExecutionPlan();
868*4bdc9457SAndroid Build Coastguard Worker }
869*4bdc9457SAndroid Build Coastguard Worker operators.emplace_back(op27, xnn_delete_operator);
870*4bdc9457SAndroid Build Coastguard Worker
871*4bdc9457SAndroid Build Coastguard Worker xnn_operator_t op28 = nullptr;
872*4bdc9457SAndroid Build Coastguard Worker status = xnn_create_convolution2d_nhwc_qu8(
873*4bdc9457SAndroid Build Coastguard Worker 0 /* top padding */, 0 /* right padding */,
874*4bdc9457SAndroid Build Coastguard Worker 0 /* bottom padding */, 0 /* left padding */,
875*4bdc9457SAndroid Build Coastguard Worker 1 /* kernel height */, 1 /* kernel width */,
876*4bdc9457SAndroid Build Coastguard Worker 1 /* subsampling height */, 1 /* subsampling width */,
877*4bdc9457SAndroid Build Coastguard Worker 1 /* dilation_height */, 1 /* dilation_width */,
878*4bdc9457SAndroid Build Coastguard Worker 1 /* groups */,
879*4bdc9457SAndroid Build Coastguard Worker 1024 /* input channels per group */,
880*4bdc9457SAndroid Build Coastguard Worker 1001 /* output_channels_per_group */,
881*4bdc9457SAndroid Build Coastguard Worker 1024 /* input pixel stride */,
882*4bdc9457SAndroid Build Coastguard Worker 1001 /* output pixel stride */,
883*4bdc9457SAndroid Build Coastguard Worker 127 /* input zero point */, 0.5f /* input scale */, 128 /* kernel zero point */, 0.5f /* kernel scale */,
884*4bdc9457SAndroid Build Coastguard Worker w84.data(), w85.data(),
885*4bdc9457SAndroid Build Coastguard Worker 127 /* output zero point */, 0.5f /* output scale */, 0 /* output min */, 255 /* output max */,
886*4bdc9457SAndroid Build Coastguard Worker 0 /* flags */,
887*4bdc9457SAndroid Build Coastguard Worker &caches,
888*4bdc9457SAndroid Build Coastguard Worker &op28);
889*4bdc9457SAndroid Build Coastguard Worker if (status != xnn_status_success) {
890*4bdc9457SAndroid Build Coastguard Worker std::cerr << "failed to create operation #28" << std::endl;
891*4bdc9457SAndroid Build Coastguard Worker return ExecutionPlan();
892*4bdc9457SAndroid Build Coastguard Worker }
893*4bdc9457SAndroid Build Coastguard Worker operators.emplace_back(op28, xnn_delete_operator);
894*4bdc9457SAndroid Build Coastguard Worker
895*4bdc9457SAndroid Build Coastguard Worker #if XNN_PLATFORM_JIT
896*4bdc9457SAndroid Build Coastguard Worker xnn_finalize_code_memory(&code_cache.cache.code);
897*4bdc9457SAndroid Build Coastguard Worker #endif
898*4bdc9457SAndroid Build Coastguard Worker
899*4bdc9457SAndroid Build Coastguard Worker status = xnn_setup_convolution2d_nhwc_qu8(
900*4bdc9457SAndroid Build Coastguard Worker op0,
901*4bdc9457SAndroid Build Coastguard Worker 1 /* batch size */, 224 /* input height */, 224 /* input width */,
902*4bdc9457SAndroid Build Coastguard Worker v0.data() /* input */, v1.data() /* output */,
903*4bdc9457SAndroid Build Coastguard Worker threadpool /* threadpool */);
904*4bdc9457SAndroid Build Coastguard Worker if (status != xnn_status_success) {
905*4bdc9457SAndroid Build Coastguard Worker std::cerr << "failed to setup operation #0" << std::endl;
906*4bdc9457SAndroid Build Coastguard Worker return ExecutionPlan();
907*4bdc9457SAndroid Build Coastguard Worker }
908*4bdc9457SAndroid Build Coastguard Worker
909*4bdc9457SAndroid Build Coastguard Worker status = xnn_setup_convolution2d_nhwc_qu8(
910*4bdc9457SAndroid Build Coastguard Worker op1,
911*4bdc9457SAndroid Build Coastguard Worker 1 /* batch size */, 112 /* input height */, 112 /* input width */,
912*4bdc9457SAndroid Build Coastguard Worker v1.data() /* input */, v2.data() /* output */,
913*4bdc9457SAndroid Build Coastguard Worker threadpool /* threadpool */);
914*4bdc9457SAndroid Build Coastguard Worker if (status != xnn_status_success) {
915*4bdc9457SAndroid Build Coastguard Worker std::cerr << "failed to setup operation #1" << std::endl;
916*4bdc9457SAndroid Build Coastguard Worker return ExecutionPlan();
917*4bdc9457SAndroid Build Coastguard Worker }
918*4bdc9457SAndroid Build Coastguard Worker
919*4bdc9457SAndroid Build Coastguard Worker status = xnn_setup_convolution2d_nhwc_qu8(
920*4bdc9457SAndroid Build Coastguard Worker op2,
921*4bdc9457SAndroid Build Coastguard Worker 1 /* batch size */, 112 /* input height */, 112 /* input width */,
922*4bdc9457SAndroid Build Coastguard Worker v2.data() /* input */, v3.data() /* output */,
923*4bdc9457SAndroid Build Coastguard Worker threadpool /* threadpool */);
924*4bdc9457SAndroid Build Coastguard Worker if (status != xnn_status_success) {
925*4bdc9457SAndroid Build Coastguard Worker std::cerr << "failed to setup operation #2" << std::endl;
926*4bdc9457SAndroid Build Coastguard Worker return ExecutionPlan();
927*4bdc9457SAndroid Build Coastguard Worker }
928*4bdc9457SAndroid Build Coastguard Worker
929*4bdc9457SAndroid Build Coastguard Worker status = xnn_setup_convolution2d_nhwc_qu8(
930*4bdc9457SAndroid Build Coastguard Worker op3,
931*4bdc9457SAndroid Build Coastguard Worker 1 /* batch size */, 112 /* input height */, 112 /* input width */,
932*4bdc9457SAndroid Build Coastguard Worker v3.data() /* input */, v4.data() /* output */,
933*4bdc9457SAndroid Build Coastguard Worker threadpool /* threadpool */);
934*4bdc9457SAndroid Build Coastguard Worker if (status != xnn_status_success) {
935*4bdc9457SAndroid Build Coastguard Worker std::cerr << "failed to setup operation #3" << std::endl;
936*4bdc9457SAndroid Build Coastguard Worker return ExecutionPlan();
937*4bdc9457SAndroid Build Coastguard Worker }
938*4bdc9457SAndroid Build Coastguard Worker
939*4bdc9457SAndroid Build Coastguard Worker status = xnn_setup_convolution2d_nhwc_qu8(
940*4bdc9457SAndroid Build Coastguard Worker op4,
941*4bdc9457SAndroid Build Coastguard Worker 1 /* batch size */, 56 /* input height */, 56 /* input width */,
942*4bdc9457SAndroid Build Coastguard Worker v4.data() /* input */, v5.data() /* output */,
943*4bdc9457SAndroid Build Coastguard Worker threadpool /* threadpool */);
944*4bdc9457SAndroid Build Coastguard Worker if (status != xnn_status_success) {
945*4bdc9457SAndroid Build Coastguard Worker std::cerr << "failed to setup operation #4" << std::endl;
946*4bdc9457SAndroid Build Coastguard Worker return ExecutionPlan();
947*4bdc9457SAndroid Build Coastguard Worker }
948*4bdc9457SAndroid Build Coastguard Worker
949*4bdc9457SAndroid Build Coastguard Worker status = xnn_setup_convolution2d_nhwc_qu8(
950*4bdc9457SAndroid Build Coastguard Worker op5,
951*4bdc9457SAndroid Build Coastguard Worker 1 /* batch size */, 56 /* input height */, 56 /* input width */,
952*4bdc9457SAndroid Build Coastguard Worker v5.data() /* input */, v6.data() /* output */,
953*4bdc9457SAndroid Build Coastguard Worker threadpool /* threadpool */);
954*4bdc9457SAndroid Build Coastguard Worker if (status != xnn_status_success) {
955*4bdc9457SAndroid Build Coastguard Worker std::cerr << "failed to setup operation #5" << std::endl;
956*4bdc9457SAndroid Build Coastguard Worker return ExecutionPlan();
957*4bdc9457SAndroid Build Coastguard Worker }
958*4bdc9457SAndroid Build Coastguard Worker
959*4bdc9457SAndroid Build Coastguard Worker status = xnn_setup_convolution2d_nhwc_qu8(
960*4bdc9457SAndroid Build Coastguard Worker op6,
961*4bdc9457SAndroid Build Coastguard Worker 1 /* batch size */, 56 /* input height */, 56 /* input width */,
962*4bdc9457SAndroid Build Coastguard Worker v6.data() /* input */, v7.data() /* output */,
963*4bdc9457SAndroid Build Coastguard Worker threadpool /* threadpool */);
964*4bdc9457SAndroid Build Coastguard Worker if (status != xnn_status_success) {
965*4bdc9457SAndroid Build Coastguard Worker std::cerr << "failed to setup operation #6" << std::endl;
966*4bdc9457SAndroid Build Coastguard Worker return ExecutionPlan();
967*4bdc9457SAndroid Build Coastguard Worker }
968*4bdc9457SAndroid Build Coastguard Worker
969*4bdc9457SAndroid Build Coastguard Worker status = xnn_setup_convolution2d_nhwc_qu8(
970*4bdc9457SAndroid Build Coastguard Worker op7,
971*4bdc9457SAndroid Build Coastguard Worker 1 /* batch size */, 56 /* input height */, 56 /* input width */,
972*4bdc9457SAndroid Build Coastguard Worker v7.data() /* input */, v8.data() /* output */,
973*4bdc9457SAndroid Build Coastguard Worker threadpool /* threadpool */);
974*4bdc9457SAndroid Build Coastguard Worker if (status != xnn_status_success) {
975*4bdc9457SAndroid Build Coastguard Worker std::cerr << "failed to setup operation #7" << std::endl;
976*4bdc9457SAndroid Build Coastguard Worker return ExecutionPlan();
977*4bdc9457SAndroid Build Coastguard Worker }
978*4bdc9457SAndroid Build Coastguard Worker
979*4bdc9457SAndroid Build Coastguard Worker status = xnn_setup_convolution2d_nhwc_qu8(
980*4bdc9457SAndroid Build Coastguard Worker op8,
981*4bdc9457SAndroid Build Coastguard Worker 1 /* batch size */, 28 /* input height */, 28 /* input width */,
982*4bdc9457SAndroid Build Coastguard Worker v8.data() /* input */, v9.data() /* output */,
983*4bdc9457SAndroid Build Coastguard Worker threadpool /* threadpool */);
984*4bdc9457SAndroid Build Coastguard Worker if (status != xnn_status_success) {
985*4bdc9457SAndroid Build Coastguard Worker std::cerr << "failed to setup operation #8" << std::endl;
986*4bdc9457SAndroid Build Coastguard Worker return ExecutionPlan();
987*4bdc9457SAndroid Build Coastguard Worker }
988*4bdc9457SAndroid Build Coastguard Worker
989*4bdc9457SAndroid Build Coastguard Worker status = xnn_setup_convolution2d_nhwc_qu8(
990*4bdc9457SAndroid Build Coastguard Worker op9,
991*4bdc9457SAndroid Build Coastguard Worker 1 /* batch size */, 28 /* input height */, 28 /* input width */,
992*4bdc9457SAndroid Build Coastguard Worker v9.data() /* input */, v10.data() /* output */,
993*4bdc9457SAndroid Build Coastguard Worker threadpool /* threadpool */);
994*4bdc9457SAndroid Build Coastguard Worker if (status != xnn_status_success) {
995*4bdc9457SAndroid Build Coastguard Worker std::cerr << "failed to setup operation #9" << std::endl;
996*4bdc9457SAndroid Build Coastguard Worker return ExecutionPlan();
997*4bdc9457SAndroid Build Coastguard Worker }
998*4bdc9457SAndroid Build Coastguard Worker
999*4bdc9457SAndroid Build Coastguard Worker status = xnn_setup_convolution2d_nhwc_qu8(
1000*4bdc9457SAndroid Build Coastguard Worker op10,
1001*4bdc9457SAndroid Build Coastguard Worker 1 /* batch size */, 28 /* input height */, 28 /* input width */,
1002*4bdc9457SAndroid Build Coastguard Worker v10.data() /* input */, v11.data() /* output */,
1003*4bdc9457SAndroid Build Coastguard Worker threadpool /* threadpool */);
1004*4bdc9457SAndroid Build Coastguard Worker if (status != xnn_status_success) {
1005*4bdc9457SAndroid Build Coastguard Worker std::cerr << "failed to setup operation #10" << std::endl;
1006*4bdc9457SAndroid Build Coastguard Worker return ExecutionPlan();
1007*4bdc9457SAndroid Build Coastguard Worker }
1008*4bdc9457SAndroid Build Coastguard Worker
1009*4bdc9457SAndroid Build Coastguard Worker status = xnn_setup_convolution2d_nhwc_qu8(
1010*4bdc9457SAndroid Build Coastguard Worker op11,
1011*4bdc9457SAndroid Build Coastguard Worker 1 /* batch size */, 28 /* input height */, 28 /* input width */,
1012*4bdc9457SAndroid Build Coastguard Worker v11.data() /* input */, v12.data() /* output */,
1013*4bdc9457SAndroid Build Coastguard Worker threadpool /* threadpool */);
1014*4bdc9457SAndroid Build Coastguard Worker if (status != xnn_status_success) {
1015*4bdc9457SAndroid Build Coastguard Worker std::cerr << "failed to setup operation #11" << std::endl;
1016*4bdc9457SAndroid Build Coastguard Worker return ExecutionPlan();
1017*4bdc9457SAndroid Build Coastguard Worker }
1018*4bdc9457SAndroid Build Coastguard Worker
1019*4bdc9457SAndroid Build Coastguard Worker status = xnn_setup_convolution2d_nhwc_qu8(
1020*4bdc9457SAndroid Build Coastguard Worker op12,
1021*4bdc9457SAndroid Build Coastguard Worker 1 /* batch size */, 14 /* input height */, 14 /* input width */,
1022*4bdc9457SAndroid Build Coastguard Worker v12.data() /* input */, v13.data() /* output */,
1023*4bdc9457SAndroid Build Coastguard Worker threadpool /* threadpool */);
1024*4bdc9457SAndroid Build Coastguard Worker if (status != xnn_status_success) {
1025*4bdc9457SAndroid Build Coastguard Worker std::cerr << "failed to setup operation #12" << std::endl;
1026*4bdc9457SAndroid Build Coastguard Worker return ExecutionPlan();
1027*4bdc9457SAndroid Build Coastguard Worker }
1028*4bdc9457SAndroid Build Coastguard Worker
1029*4bdc9457SAndroid Build Coastguard Worker status = xnn_setup_convolution2d_nhwc_qu8(
1030*4bdc9457SAndroid Build Coastguard Worker op13,
1031*4bdc9457SAndroid Build Coastguard Worker 1 /* batch size */, 14 /* input height */, 14 /* input width */,
1032*4bdc9457SAndroid Build Coastguard Worker v13.data() /* input */, v14.data() /* output */,
1033*4bdc9457SAndroid Build Coastguard Worker threadpool /* threadpool */);
1034*4bdc9457SAndroid Build Coastguard Worker if (status != xnn_status_success) {
1035*4bdc9457SAndroid Build Coastguard Worker std::cerr << "failed to setup operation #13" << std::endl;
1036*4bdc9457SAndroid Build Coastguard Worker return ExecutionPlan();
1037*4bdc9457SAndroid Build Coastguard Worker }
1038*4bdc9457SAndroid Build Coastguard Worker
1039*4bdc9457SAndroid Build Coastguard Worker status = xnn_setup_convolution2d_nhwc_qu8(
1040*4bdc9457SAndroid Build Coastguard Worker op14,
1041*4bdc9457SAndroid Build Coastguard Worker 1 /* batch size */, 14 /* input height */, 14 /* input width */,
1042*4bdc9457SAndroid Build Coastguard Worker v14.data() /* input */, v15.data() /* output */,
1043*4bdc9457SAndroid Build Coastguard Worker threadpool /* threadpool */);
1044*4bdc9457SAndroid Build Coastguard Worker if (status != xnn_status_success) {
1045*4bdc9457SAndroid Build Coastguard Worker std::cerr << "failed to setup operation #14" << std::endl;
1046*4bdc9457SAndroid Build Coastguard Worker return ExecutionPlan();
1047*4bdc9457SAndroid Build Coastguard Worker }
1048*4bdc9457SAndroid Build Coastguard Worker
1049*4bdc9457SAndroid Build Coastguard Worker status = xnn_setup_convolution2d_nhwc_qu8(
1050*4bdc9457SAndroid Build Coastguard Worker op15,
1051*4bdc9457SAndroid Build Coastguard Worker 1 /* batch size */, 14 /* input height */, 14 /* input width */,
1052*4bdc9457SAndroid Build Coastguard Worker v15.data() /* input */, v16.data() /* output */,
1053*4bdc9457SAndroid Build Coastguard Worker threadpool /* threadpool */);
1054*4bdc9457SAndroid Build Coastguard Worker if (status != xnn_status_success) {
1055*4bdc9457SAndroid Build Coastguard Worker std::cerr << "failed to setup operation #15" << std::endl;
1056*4bdc9457SAndroid Build Coastguard Worker return ExecutionPlan();
1057*4bdc9457SAndroid Build Coastguard Worker }
1058*4bdc9457SAndroid Build Coastguard Worker
1059*4bdc9457SAndroid Build Coastguard Worker status = xnn_setup_convolution2d_nhwc_qu8(
1060*4bdc9457SAndroid Build Coastguard Worker op16,
1061*4bdc9457SAndroid Build Coastguard Worker 1 /* batch size */, 14 /* input height */, 14 /* input width */,
1062*4bdc9457SAndroid Build Coastguard Worker v16.data() /* input */, v17.data() /* output */,
1063*4bdc9457SAndroid Build Coastguard Worker threadpool /* threadpool */);
1064*4bdc9457SAndroid Build Coastguard Worker if (status != xnn_status_success) {
1065*4bdc9457SAndroid Build Coastguard Worker std::cerr << "failed to setup operation #16" << std::endl;
1066*4bdc9457SAndroid Build Coastguard Worker return ExecutionPlan();
1067*4bdc9457SAndroid Build Coastguard Worker }
1068*4bdc9457SAndroid Build Coastguard Worker
1069*4bdc9457SAndroid Build Coastguard Worker status = xnn_setup_convolution2d_nhwc_qu8(
1070*4bdc9457SAndroid Build Coastguard Worker op17,
1071*4bdc9457SAndroid Build Coastguard Worker 1 /* batch size */, 14 /* input height */, 14 /* input width */,
1072*4bdc9457SAndroid Build Coastguard Worker v17.data() /* input */, v18.data() /* output */,
1073*4bdc9457SAndroid Build Coastguard Worker threadpool /* threadpool */);
1074*4bdc9457SAndroid Build Coastguard Worker if (status != xnn_status_success) {
1075*4bdc9457SAndroid Build Coastguard Worker std::cerr << "failed to setup operation #17" << std::endl;
1076*4bdc9457SAndroid Build Coastguard Worker return ExecutionPlan();
1077*4bdc9457SAndroid Build Coastguard Worker }
1078*4bdc9457SAndroid Build Coastguard Worker
1079*4bdc9457SAndroid Build Coastguard Worker status = xnn_setup_convolution2d_nhwc_qu8(
1080*4bdc9457SAndroid Build Coastguard Worker op18,
1081*4bdc9457SAndroid Build Coastguard Worker 1 /* batch size */, 14 /* input height */, 14 /* input width */,
1082*4bdc9457SAndroid Build Coastguard Worker v18.data() /* input */, v19.data() /* output */,
1083*4bdc9457SAndroid Build Coastguard Worker threadpool /* threadpool */);
1084*4bdc9457SAndroid Build Coastguard Worker if (status != xnn_status_success) {
1085*4bdc9457SAndroid Build Coastguard Worker std::cerr << "failed to setup operation #18" << std::endl;
1086*4bdc9457SAndroid Build Coastguard Worker return ExecutionPlan();
1087*4bdc9457SAndroid Build Coastguard Worker }
1088*4bdc9457SAndroid Build Coastguard Worker
1089*4bdc9457SAndroid Build Coastguard Worker status = xnn_setup_convolution2d_nhwc_qu8(
1090*4bdc9457SAndroid Build Coastguard Worker op19,
1091*4bdc9457SAndroid Build Coastguard Worker 1 /* batch size */, 14 /* input height */, 14 /* input width */,
1092*4bdc9457SAndroid Build Coastguard Worker v19.data() /* input */, v20.data() /* output */,
1093*4bdc9457SAndroid Build Coastguard Worker threadpool /* threadpool */);
1094*4bdc9457SAndroid Build Coastguard Worker if (status != xnn_status_success) {
1095*4bdc9457SAndroid Build Coastguard Worker std::cerr << "failed to setup operation #19" << std::endl;
1096*4bdc9457SAndroid Build Coastguard Worker return ExecutionPlan();
1097*4bdc9457SAndroid Build Coastguard Worker }
1098*4bdc9457SAndroid Build Coastguard Worker
1099*4bdc9457SAndroid Build Coastguard Worker status = xnn_setup_convolution2d_nhwc_qu8(
1100*4bdc9457SAndroid Build Coastguard Worker op20,
1101*4bdc9457SAndroid Build Coastguard Worker 1 /* batch size */, 14 /* input height */, 14 /* input width */,
1102*4bdc9457SAndroid Build Coastguard Worker v20.data() /* input */, v21.data() /* output */,
1103*4bdc9457SAndroid Build Coastguard Worker threadpool /* threadpool */);
1104*4bdc9457SAndroid Build Coastguard Worker if (status != xnn_status_success) {
1105*4bdc9457SAndroid Build Coastguard Worker std::cerr << "failed to setup operation #20" << std::endl;
1106*4bdc9457SAndroid Build Coastguard Worker return ExecutionPlan();
1107*4bdc9457SAndroid Build Coastguard Worker }
1108*4bdc9457SAndroid Build Coastguard Worker
1109*4bdc9457SAndroid Build Coastguard Worker status = xnn_setup_convolution2d_nhwc_qu8(
1110*4bdc9457SAndroid Build Coastguard Worker op21,
1111*4bdc9457SAndroid Build Coastguard Worker 1 /* batch size */, 14 /* input height */, 14 /* input width */,
1112*4bdc9457SAndroid Build Coastguard Worker v21.data() /* input */, v22.data() /* output */,
1113*4bdc9457SAndroid Build Coastguard Worker threadpool /* threadpool */);
1114*4bdc9457SAndroid Build Coastguard Worker if (status != xnn_status_success) {
1115*4bdc9457SAndroid Build Coastguard Worker std::cerr << "failed to setup operation #21" << std::endl;
1116*4bdc9457SAndroid Build Coastguard Worker return ExecutionPlan();
1117*4bdc9457SAndroid Build Coastguard Worker }
1118*4bdc9457SAndroid Build Coastguard Worker
1119*4bdc9457SAndroid Build Coastguard Worker status = xnn_setup_convolution2d_nhwc_qu8(
1120*4bdc9457SAndroid Build Coastguard Worker op22,
1121*4bdc9457SAndroid Build Coastguard Worker 1 /* batch size */, 14 /* input height */, 14 /* input width */,
1122*4bdc9457SAndroid Build Coastguard Worker v22.data() /* input */, v23.data() /* output */,
1123*4bdc9457SAndroid Build Coastguard Worker threadpool /* threadpool */);
1124*4bdc9457SAndroid Build Coastguard Worker if (status != xnn_status_success) {
1125*4bdc9457SAndroid Build Coastguard Worker std::cerr << "failed to setup operation #22" << std::endl;
1126*4bdc9457SAndroid Build Coastguard Worker return ExecutionPlan();
1127*4bdc9457SAndroid Build Coastguard Worker }
1128*4bdc9457SAndroid Build Coastguard Worker
1129*4bdc9457SAndroid Build Coastguard Worker status = xnn_setup_convolution2d_nhwc_qu8(
1130*4bdc9457SAndroid Build Coastguard Worker op23,
1131*4bdc9457SAndroid Build Coastguard Worker 1 /* batch size */, 14 /* input height */, 14 /* input width */,
1132*4bdc9457SAndroid Build Coastguard Worker v23.data() /* input */, v24.data() /* output */,
1133*4bdc9457SAndroid Build Coastguard Worker threadpool /* threadpool */);
1134*4bdc9457SAndroid Build Coastguard Worker if (status != xnn_status_success) {
1135*4bdc9457SAndroid Build Coastguard Worker std::cerr << "failed to setup operation #23" << std::endl;
1136*4bdc9457SAndroid Build Coastguard Worker return ExecutionPlan();
1137*4bdc9457SAndroid Build Coastguard Worker }
1138*4bdc9457SAndroid Build Coastguard Worker
1139*4bdc9457SAndroid Build Coastguard Worker status = xnn_setup_convolution2d_nhwc_qu8(
1140*4bdc9457SAndroid Build Coastguard Worker op24,
1141*4bdc9457SAndroid Build Coastguard Worker 1 /* batch size */, 7 /* input height */, 7 /* input width */,
1142*4bdc9457SAndroid Build Coastguard Worker v24.data() /* input */, v25.data() /* output */,
1143*4bdc9457SAndroid Build Coastguard Worker threadpool /* threadpool */);
1144*4bdc9457SAndroid Build Coastguard Worker if (status != xnn_status_success) {
1145*4bdc9457SAndroid Build Coastguard Worker std::cerr << "failed to setup operation #24" << std::endl;
1146*4bdc9457SAndroid Build Coastguard Worker return ExecutionPlan();
1147*4bdc9457SAndroid Build Coastguard Worker }
1148*4bdc9457SAndroid Build Coastguard Worker
1149*4bdc9457SAndroid Build Coastguard Worker status = xnn_setup_convolution2d_nhwc_qu8(
1150*4bdc9457SAndroid Build Coastguard Worker op25,
1151*4bdc9457SAndroid Build Coastguard Worker 1 /* batch size */, 7 /* input height */, 7 /* input width */,
1152*4bdc9457SAndroid Build Coastguard Worker v25.data() /* input */, v26.data() /* output */,
1153*4bdc9457SAndroid Build Coastguard Worker threadpool /* threadpool */);
1154*4bdc9457SAndroid Build Coastguard Worker if (status != xnn_status_success) {
1155*4bdc9457SAndroid Build Coastguard Worker std::cerr << "failed to setup operation #25" << std::endl;
1156*4bdc9457SAndroid Build Coastguard Worker return ExecutionPlan();
1157*4bdc9457SAndroid Build Coastguard Worker }
1158*4bdc9457SAndroid Build Coastguard Worker
1159*4bdc9457SAndroid Build Coastguard Worker status = xnn_setup_convolution2d_nhwc_qu8(
1160*4bdc9457SAndroid Build Coastguard Worker op26,
1161*4bdc9457SAndroid Build Coastguard Worker 1 /* batch size */, 7 /* input height */, 7 /* input width */,
1162*4bdc9457SAndroid Build Coastguard Worker v26.data() /* input */, v27.data() /* output */,
1163*4bdc9457SAndroid Build Coastguard Worker threadpool /* threadpool */);
1164*4bdc9457SAndroid Build Coastguard Worker if (status != xnn_status_success) {
1165*4bdc9457SAndroid Build Coastguard Worker std::cerr << "failed to setup operation #26" << std::endl;
1166*4bdc9457SAndroid Build Coastguard Worker return ExecutionPlan();
1167*4bdc9457SAndroid Build Coastguard Worker }
1168*4bdc9457SAndroid Build Coastguard Worker
1169*4bdc9457SAndroid Build Coastguard Worker status = xnn_setup_global_average_pooling_nwc_qu8(
1170*4bdc9457SAndroid Build Coastguard Worker op27,
1171*4bdc9457SAndroid Build Coastguard Worker 1 /* batch size */, 49 /* width */,
1172*4bdc9457SAndroid Build Coastguard Worker v27.data() /* input */, v28.data() /* output */,
1173*4bdc9457SAndroid Build Coastguard Worker threadpool /* threadpool */);
1174*4bdc9457SAndroid Build Coastguard Worker if (status != xnn_status_success) {
1175*4bdc9457SAndroid Build Coastguard Worker std::cerr << "failed to setup operation #27" << std::endl;
1176*4bdc9457SAndroid Build Coastguard Worker return ExecutionPlan();
1177*4bdc9457SAndroid Build Coastguard Worker }
1178*4bdc9457SAndroid Build Coastguard Worker
1179*4bdc9457SAndroid Build Coastguard Worker status = xnn_setup_convolution2d_nhwc_qu8(
1180*4bdc9457SAndroid Build Coastguard Worker op28,
1181*4bdc9457SAndroid Build Coastguard Worker 1 /* batch size */, 1 /* input height */, 1 /* input width */,
1182*4bdc9457SAndroid Build Coastguard Worker v28.data() /* input */, v29.data() /* output */,
1183*4bdc9457SAndroid Build Coastguard Worker threadpool /* threadpool */);
1184*4bdc9457SAndroid Build Coastguard Worker if (status != xnn_status_success) {
1185*4bdc9457SAndroid Build Coastguard Worker std::cerr << "failed to setup operation #28" << std::endl;
1186*4bdc9457SAndroid Build Coastguard Worker return ExecutionPlan();
1187*4bdc9457SAndroid Build Coastguard Worker }
1188*4bdc9457SAndroid Build Coastguard Worker
1189*4bdc9457SAndroid Build Coastguard Worker #pragma clang diagnostic push
1190*4bdc9457SAndroid Build Coastguard Worker #pragma clang diagnostic ignored "-Wpessimizing-move"
1191*4bdc9457SAndroid Build Coastguard Worker return operators;
1192*4bdc9457SAndroid Build Coastguard Worker #pragma clang diagnostic pop
1193*4bdc9457SAndroid Build Coastguard Worker }
1194*4bdc9457SAndroid Build Coastguard Worker
1195*4bdc9457SAndroid Build Coastguard Worker } // namespace models
1196