blob: 42a2789861678c3929351a403641cc40a3a43bbf [file] [log] [blame]
Sang-Hoon Park68001172020-03-06 16:32:01 +00001/*
Michele Di Giorgiod9eaf612020-07-08 11:12:57 +01002 * Copyright (c) 2020 Arm Limited.
Sang-Hoon Park68001172020-03-06 16:32:01 +00003 *
4 * SPDX-License-Identifier: MIT
5 *
6 * Permission is hereby granted, free of charge, to any person obtaining a copy
7 * of this software and associated documentation files (the "Software"), to
8 * deal in the Software without restriction, including without limitation the
9 * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
10 * sell copies of the Software, and to permit persons to whom the Software is
11 * furnished to do so, subject to the following conditions:
12 *
13 * The above copyright notice and this permission notice shall be included in all
14 * copies or substantial portions of the Software.
15 *
16 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22 * SOFTWARE.
23 */
24
25#ifndef ARM_COMPUTE_GRAPH_EDSR_H
26#define ARM_COMPUTE_GRAPH_EDSR_H
27
28#include "arm_compute/graph.h"
29
30#include "utils/GraphUtils.h"
31
32class GraphEdsr
33{
34public:
35 GraphEdsr()
36 : _graph(0, "EDSR")
37 {
38 }
39
40 bool setup(const arm_compute::utils::CommonGraphParams &common_params, const arm_compute::utils::SimpleOption<std::string> &expected_output_filename)
41 {
42 using namespace arm_compute;
43 using namespace arm_compute::graph;
44 using namespace arm_compute::utils;
45 using namespace arm_compute::graph_utils;
46
47 const auto &data_path = common_params.data_path;
48 const auto &target = common_params.target;
49
50 NodeID id_upscale_net_FakeQuantWithMinMaxVars_transposed = _graph.add_node<ConstNode>(
51 TensorDescriptor
52 {
53 TensorShape{ 12, 2, 2, 3 },
54 DataType::QASYMM8,
55 QuantizationInfo(0.00393533194437623, 1),
56 DataLayout::NHWC });
57 INode *node_upscale_net_FakeQuantWithMinMaxVars_transposed = _graph.node(id_upscale_net_FakeQuantWithMinMaxVars_transposed);
58 node_upscale_net_FakeQuantWithMinMaxVars_transposed->set_common_node_parameters(NodeParams{ "upscale_net_FakeQuantWithMinMaxVars_transposed", target });
59 node_upscale_net_FakeQuantWithMinMaxVars_transposed->output(0)->set_accessor(get_weights_accessor(data_path,
60 "/cnn_data/edsr_model/upscale_net_FakeQuantWithMinMaxVars_transposed.npy", DataLayout::NHWC));
61
62 NodeID id_pre_upscale_Conv2D_bias = _graph.add_node<ConstNode>(
63 TensorDescriptor
64 {
65 TensorShape{ 12 },
66 DataType::S32,
67 QuantizationInfo(2.9644968435604824e-06),
68 DataLayout::NHWC });
69 INode *node_pre_upscale_Conv2D_bias = _graph.node(id_pre_upscale_Conv2D_bias);
70 node_pre_upscale_Conv2D_bias->set_common_node_parameters(NodeParams{ "pre_upscale_Conv2D_bias", target });
71 node_pre_upscale_Conv2D_bias->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/pre_upscale_Conv2D_bias.npy", DataLayout::NHWC));
72
73 NodeID id_pre_upscale_FakeQuantWithMinMaxVars = _graph.add_node<ConstNode>(
74 TensorDescriptor
75 {
76 TensorShape{ 256, 3, 3, 12 },
77 DataType::QASYMM8,
78 QuantizationInfo(0.000455576169770211, 128),
79 DataLayout::NHWC });
80 INode *node_pre_upscale_FakeQuantWithMinMaxVars = _graph.node(id_pre_upscale_FakeQuantWithMinMaxVars);
81 node_pre_upscale_FakeQuantWithMinMaxVars->set_common_node_parameters(NodeParams{ "pre_upscale_FakeQuantWithMinMaxVars", target });
82 node_pre_upscale_FakeQuantWithMinMaxVars->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/pre_upscale_FakeQuantWithMinMaxVars.npy",
83 DataLayout::NHWC));
84
85 NodeID id_post_residual_Conv2D_bias = _graph.add_node<ConstNode>(
86 TensorDescriptor
87 {
88 TensorShape{ 256 },
89 DataType::S32,
90 QuantizationInfo(1.2760000345224398e-06),
91 DataLayout::NHWC });
92 INode *node_post_residual_Conv2D_bias = _graph.node(id_post_residual_Conv2D_bias);
93 node_post_residual_Conv2D_bias->set_common_node_parameters(NodeParams{ "post_residual_Conv2D_bias", target });
94 node_post_residual_Conv2D_bias->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/post_residual_Conv2D_bias.npy", DataLayout::NHWC));
95
96 NodeID id_post_residual_FakeQuantWithMinMaxVars = _graph.add_node<ConstNode>(
97 TensorDescriptor
98 {
99 TensorShape{ 256, 3, 3, 256 },
100 DataType::QASYMM8,
101 QuantizationInfo(0.00036424631252884865, 129),
102 DataLayout::NHWC });
103 INode *node_post_residual_FakeQuantWithMinMaxVars = _graph.node(id_post_residual_FakeQuantWithMinMaxVars);
104 node_post_residual_FakeQuantWithMinMaxVars->set_common_node_parameters(NodeParams{ "post_residual_FakeQuantWithMinMaxVars", target });
105 node_post_residual_FakeQuantWithMinMaxVars->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/post_residual_FakeQuantWithMinMaxVars.npy",
106 DataLayout::NHWC));
107
108 TensorShape scalar_4d_shape{};
109
110 scalar_4d_shape.set(0, 1, false).set(1, 1, false).set(2, 1, false).set(3, 1, false);
111
112 NodeID id_mul_15_y = _graph.add_node<ConstNode>(
113 TensorDescriptor
114 {
115 scalar_4d_shape,
116 DataType::QASYMM8,
117 QuantizationInfo(0.0003921568568330258),
118 DataLayout::NHWC });
119 INode *node_mul_15_y = _graph.node(id_mul_15_y);
120 node_mul_15_y->set_common_node_parameters(NodeParams{ "mul_15_y", target });
121 node_mul_15_y->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/mul_15_y.npy", DataLayout::NHWC));
122
123 NodeID id_block_15_1_Conv2D_bias = _graph.add_node<ConstNode>(
124 TensorDescriptor
125 {
126 TensorShape{ 256 },
127 DataType::S32,
128 QuantizationInfo(1.2441644230420934e-06),
129 DataLayout::NHWC });
130 INode *node_block_15_1_Conv2D_bias = _graph.node(id_block_15_1_Conv2D_bias);
131 node_block_15_1_Conv2D_bias->set_common_node_parameters(NodeParams{ "block_15_1_Conv2D_bias", target });
132 node_block_15_1_Conv2D_bias->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/block_15_1_Conv2D_bias.npy", DataLayout::NHWC));
133
134 NodeID id_block_15_1_FakeQuantWithMinMaxVars = _graph.add_node<ConstNode>(
135 TensorDescriptor
136 {
137 TensorShape{ 256, 3, 3, 256 },
138 DataType::QASYMM8,
139 QuantizationInfo(0.00037038681330159307, 125),
140 DataLayout::NHWC });
141 INode *node_block_15_1_FakeQuantWithMinMaxVars = _graph.node(id_block_15_1_FakeQuantWithMinMaxVars);
142 node_block_15_1_FakeQuantWithMinMaxVars->set_common_node_parameters(NodeParams{ "block_15_1_FakeQuantWithMinMaxVars", target });
143 node_block_15_1_FakeQuantWithMinMaxVars->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/block_15_1_FakeQuantWithMinMaxVars.npy",
144 DataLayout::NHWC));
145
146 NodeID id_mul_14_y = _graph.add_node<ConstNode>(
147 TensorDescriptor
148 {
149 scalar_4d_shape,
150 DataType::QASYMM8,
151 QuantizationInfo(0.0003921568568330258),
152 DataLayout::NHWC });
153 INode *node_mul_14_y = _graph.node(id_mul_14_y);
154 node_mul_14_y->set_common_node_parameters(NodeParams{ "mul_14_y", target });
155 node_mul_14_y->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/mul_14_y.npy", DataLayout::NHWC));
156
157 NodeID id_block_14_1_Conv2D_bias = _graph.add_node<ConstNode>(
158 TensorDescriptor
159 {
160 TensorShape{ 256 },
161 DataType::S32,
162 QuantizationInfo(1.3417260333881131e-06),
163 DataLayout::NHWC });
164 INode *node_block_14_1_Conv2D_bias = _graph.node(id_block_14_1_Conv2D_bias);
165 node_block_14_1_Conv2D_bias->set_common_node_parameters(NodeParams{ "block_14_1_Conv2D_bias", target });
166 node_block_14_1_Conv2D_bias->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/block_14_1_Conv2D_bias.npy", DataLayout::NHWC));
167
168 NodeID id_block_14_1_FakeQuantWithMinMaxVars = _graph.add_node<ConstNode>(
169 TensorDescriptor
170 {
171 TensorShape{ 256, 3, 3, 256 },
172 DataType::QASYMM8,
173 QuantizationInfo(0.00040307495510205626, 127),
174 DataLayout::NHWC });
175 INode *node_block_14_1_FakeQuantWithMinMaxVars = _graph.node(id_block_14_1_FakeQuantWithMinMaxVars);
176 node_block_14_1_FakeQuantWithMinMaxVars->set_common_node_parameters(NodeParams{ "block_14_1_FakeQuantWithMinMaxVars", target });
177 node_block_14_1_FakeQuantWithMinMaxVars->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/block_14_1_FakeQuantWithMinMaxVars.npy",
178 DataLayout::NHWC));
179
180 NodeID id_mul_13_y = _graph.add_node<ConstNode>(
181 TensorDescriptor
182 {
183 scalar_4d_shape,
184 DataType::QASYMM8,
185 QuantizationInfo(0.0003921568568330258),
186 DataLayout::NHWC });
187 INode *node_mul_13_y = _graph.node(id_mul_13_y);
188 node_mul_13_y->set_common_node_parameters(NodeParams{ "mul_13_y", target });
189 node_mul_13_y->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/mul_13_y.npy", DataLayout::NHWC));
190
191 NodeID id_block_13_1_Conv2D_bias = _graph.add_node<ConstNode>(
192 TensorDescriptor
193 {
194 TensorShape{ 256 },
195 DataType::S32,
196 QuantizationInfo(1.2636977544389083e-06),
197 DataLayout::NHWC });
198 INode *node_block_13_1_Conv2D_bias = _graph.node(id_block_13_1_Conv2D_bias);
199 node_block_13_1_Conv2D_bias->set_common_node_parameters(NodeParams{ "block_13_1_Conv2D_bias", target });
200 node_block_13_1_Conv2D_bias->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/block_13_1_Conv2D_bias.npy", DataLayout::NHWC));
201
202 NodeID id_block_13_1_FakeQuantWithMinMaxVars = _graph.add_node<ConstNode>(
203 TensorDescriptor
204 {
205 TensorShape{ 256, 3, 3, 256 },
206 DataType::QASYMM8,
207 QuantizationInfo(0.0003858553245663643, 131),
208 DataLayout::NHWC });
209 INode *node_block_13_1_FakeQuantWithMinMaxVars = _graph.node(id_block_13_1_FakeQuantWithMinMaxVars);
210 node_block_13_1_FakeQuantWithMinMaxVars->set_common_node_parameters(NodeParams{ "block_13_1_FakeQuantWithMinMaxVars", target });
211 node_block_13_1_FakeQuantWithMinMaxVars->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/block_13_1_FakeQuantWithMinMaxVars.npy",
212 DataLayout::NHWC));
213
214 NodeID id_mul_12_y = _graph.add_node<ConstNode>(
215 TensorDescriptor
216 {
217 scalar_4d_shape,
218 DataType::QASYMM8,
219 QuantizationInfo(0.0003921568568330258),
220 DataLayout::NHWC });
221 INode *node_mul_12_y = _graph.node(id_mul_12_y);
222 node_mul_12_y->set_common_node_parameters(NodeParams{ "mul_12_y", target });
223 node_mul_12_y->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/mul_12_y.npy", DataLayout::NHWC));
224
225 NodeID id_block_12_1_Conv2D_bias = _graph.add_node<ConstNode>(
226 TensorDescriptor
227 {
228 TensorShape{ 256 },
229 DataType::S32,
230 QuantizationInfo(1.3479783547154511e-06),
231 DataLayout::NHWC });
232 INode *node_block_12_1_Conv2D_bias = _graph.node(id_block_12_1_Conv2D_bias);
233 node_block_12_1_Conv2D_bias->set_common_node_parameters(NodeParams{ "block_12_1_Conv2D_bias", target });
234 node_block_12_1_Conv2D_bias->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/block_12_1_Conv2D_bias.npy", DataLayout::NHWC));
235
236 NodeID id_block_12_1_FakeQuantWithMinMaxVars = _graph.add_node<ConstNode>(
237 TensorDescriptor
238 {
239 TensorShape{ 256, 3, 3, 256 },
240 DataType::QASYMM8,
241 QuantizationInfo(0.00041212860378436744, 130),
242 DataLayout::NHWC });
243 INode *node_block_12_1_FakeQuantWithMinMaxVars = _graph.node(id_block_12_1_FakeQuantWithMinMaxVars);
244 node_block_12_1_FakeQuantWithMinMaxVars->set_common_node_parameters(NodeParams{ "block_12_1_FakeQuantWithMinMaxVars", target });
245 node_block_12_1_FakeQuantWithMinMaxVars->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/block_12_1_FakeQuantWithMinMaxVars.npy",
246 DataLayout::NHWC));
247
248 NodeID id_mul_11_y = _graph.add_node<ConstNode>(
249 TensorDescriptor
250 {
251 scalar_4d_shape,
252 DataType::QASYMM8,
253 QuantizationInfo(0.0003921568568330258),
254 DataLayout::NHWC });
255 INode *node_mul_11_y = _graph.node(id_mul_11_y);
256 node_mul_11_y->set_common_node_parameters(NodeParams{ "mul_11_y", target });
257 node_mul_11_y->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/mul_11_y.npy", DataLayout::NHWC));
258
259 NodeID id_block_11_1_Conv2D_bias = _graph.add_node<ConstNode>(
260 TensorDescriptor
261 {
262 TensorShape{ 256 },
263 DataType::S32,
264 QuantizationInfo(1.2847248171965475e-06),
265 DataLayout::NHWC });
266 INode *node_block_11_1_Conv2D_bias = _graph.node(id_block_11_1_Conv2D_bias);
267 node_block_11_1_Conv2D_bias->set_common_node_parameters(NodeParams{ "block_11_1_Conv2D_bias", target });
268 node_block_11_1_Conv2D_bias->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/block_11_1_Conv2D_bias.npy", DataLayout::NHWC));
269
270 NodeID id_block_11_1_FakeQuantWithMinMaxVars = _graph.add_node<ConstNode>(
271 TensorDescriptor
272 {
273 TensorShape{ 256, 3, 3, 256 },
274 DataType::QASYMM8,
275 QuantizationInfo(0.00040296532097272575, 131),
276 DataLayout::NHWC });
277 INode *node_block_11_1_FakeQuantWithMinMaxVars = _graph.node(id_block_11_1_FakeQuantWithMinMaxVars);
278 node_block_11_1_FakeQuantWithMinMaxVars->set_common_node_parameters(NodeParams{ "block_11_1_FakeQuantWithMinMaxVars", target });
279 node_block_11_1_FakeQuantWithMinMaxVars->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/block_11_1_FakeQuantWithMinMaxVars.npy",
280 DataLayout::NHWC));
281
282 NodeID id_mul_10_y = _graph.add_node<ConstNode>(
283 TensorDescriptor
284 {
285 scalar_4d_shape,
286 DataType::QASYMM8,
287 QuantizationInfo(0.0003921568568330258),
288 DataLayout::NHWC });
289 INode *node_mul_10_y = _graph.node(id_mul_10_y);
290 node_mul_10_y->set_common_node_parameters(NodeParams{ "mul_10_y", target });
291 node_mul_10_y->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/mul_10_y.npy", DataLayout::NHWC));
292
293 NodeID id_block_10_1_Conv2D_bias = _graph.add_node<ConstNode>(
294 TensorDescriptor
295 {
296 TensorShape{ 256 },
297 DataType::S32,
298 QuantizationInfo(1.1997129831797793e-06),
299 DataLayout::NHWC });
300 INode *node_block_10_1_Conv2D_bias = _graph.node(id_block_10_1_Conv2D_bias);
301 node_block_10_1_Conv2D_bias->set_common_node_parameters(NodeParams{ "block_10_1_Conv2D_bias", target });
302 node_block_10_1_Conv2D_bias->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/block_10_1_Conv2D_bias.npy", DataLayout::NHWC));
303
304 NodeID id_block_10_1_FakeQuantWithMinMaxVars = _graph.add_node<ConstNode>(
305 TensorDescriptor
306 {
307 TensorShape{ 256, 3, 3, 256 },
308 DataType::QASYMM8,
309 QuantizationInfo(0.00036640543839894235, 129),
310 DataLayout::NHWC });
311 INode *node_block_10_1_FakeQuantWithMinMaxVars = _graph.node(id_block_10_1_FakeQuantWithMinMaxVars);
312 node_block_10_1_FakeQuantWithMinMaxVars->set_common_node_parameters(NodeParams{ "block_10_1_FakeQuantWithMinMaxVars", target });
313 node_block_10_1_FakeQuantWithMinMaxVars->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/block_10_1_FakeQuantWithMinMaxVars.npy",
314 DataLayout::NHWC));
315
316 NodeID id_mul_9_y = _graph.add_node<ConstNode>(
317 TensorDescriptor
318 {
319 scalar_4d_shape,
320 DataType::QASYMM8,
321 QuantizationInfo(0.0003921568568330258),
322 DataLayout::NHWC });
323 INode *node_mul_9_y = _graph.node(id_mul_9_y);
324 node_mul_9_y->set_common_node_parameters(NodeParams{ "mul_9_y", target });
325 node_mul_9_y->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/mul_9_y.npy", DataLayout::NHWC));
326
327 NodeID id_block_9_1_Conv2D_bias = _graph.add_node<ConstNode>(
328 TensorDescriptor
329 {
330 TensorShape{ 256 },
331 DataType::S32,
332 QuantizationInfo(1.1920226370421005e-06),
333 DataLayout::NHWC });
334 INode *node_block_9_1_Conv2D_bias = _graph.node(id_block_9_1_Conv2D_bias);
335 node_block_9_1_Conv2D_bias->set_common_node_parameters(NodeParams{ "block_9_1_Conv2D_bias", target });
336 node_block_9_1_Conv2D_bias->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/block_9_1_Conv2D_bias.npy", DataLayout::NHWC));
337
338 NodeID id_block_9_1_FakeQuantWithMinMaxVars = _graph.add_node<ConstNode>(
339 TensorDescriptor
340 {
341 TensorShape{ 256, 3, 3, 256 },
342 DataType::QASYMM8,
343 QuantizationInfo(0.0003706997958943248, 129),
344 DataLayout::NHWC });
345 INode *node_block_9_1_FakeQuantWithMinMaxVars = _graph.node(id_block_9_1_FakeQuantWithMinMaxVars);
346 node_block_9_1_FakeQuantWithMinMaxVars->set_common_node_parameters(NodeParams{ "block_9_1_FakeQuantWithMinMaxVars", target });
347 node_block_9_1_FakeQuantWithMinMaxVars->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/block_9_1_FakeQuantWithMinMaxVars.npy",
348 DataLayout::NHWC));
349
350 NodeID id_mul_8_y = _graph.add_node<ConstNode>(
351 TensorDescriptor
352 {
353 scalar_4d_shape,
354 DataType::QASYMM8,
355 QuantizationInfo(0.0003921568568330258),
356 DataLayout::NHWC });
357 INode *node_mul_8_y = _graph.node(id_mul_8_y);
358 node_mul_8_y->set_common_node_parameters(NodeParams{ "mul_8_y", target });
359 node_mul_8_y->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/mul_8_y.npy", DataLayout::NHWC));
360
361 NodeID id_block_8_1_Conv2D_bias = _graph.add_node<ConstNode>(
362 TensorDescriptor
363 {
364 TensorShape{ 256 },
365 DataType::S32,
366 QuantizationInfo(1.218903321387188e-06),
367 DataLayout::NHWC });
368 INode *node_block_8_1_Conv2D_bias = _graph.node(id_block_8_1_Conv2D_bias);
369 node_block_8_1_Conv2D_bias->set_common_node_parameters(NodeParams{ "block_8_1_Conv2D_bias", target });
370 node_block_8_1_Conv2D_bias->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/block_8_1_Conv2D_bias.npy", DataLayout::NHWC));
371
372 NodeID id_block_8_1_FakeQuantWithMinMaxVars = _graph.add_node<ConstNode>(
373 TensorDescriptor
374 {
375 TensorShape{ 256, 3, 3, 256 },
376 DataType::QASYMM8,
377 QuantizationInfo(0.00038377835880964994, 127),
378 DataLayout::NHWC });
379 INode *node_block_8_1_FakeQuantWithMinMaxVars = _graph.node(id_block_8_1_FakeQuantWithMinMaxVars);
380 node_block_8_1_FakeQuantWithMinMaxVars->set_common_node_parameters(NodeParams{ "block_8_1_FakeQuantWithMinMaxVars", target });
381 node_block_8_1_FakeQuantWithMinMaxVars->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/block_8_1_FakeQuantWithMinMaxVars.npy",
382 DataLayout::NHWC));
383
384 NodeID id_mul_7_y = _graph.add_node<ConstNode>(
385 TensorDescriptor
386 {
387 scalar_4d_shape,
388 DataType::QASYMM8,
389 QuantizationInfo(0.0003921568568330258),
390 DataLayout::NHWC });
391 INode *node_mul_7_y = _graph.node(id_mul_7_y);
392 node_mul_7_y->set_common_node_parameters(NodeParams{ "mul_7_y", target });
393 node_mul_7_y->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/mul_7_y.npy", DataLayout::NHWC));
394
395 NodeID id_block_7_1_Conv2D_bias = _graph.add_node<ConstNode>(
396 TensorDescriptor
397 {
398 TensorShape{ 256 },
399 DataType::S32,
400 QuantizationInfo(1.257252392861119e-06),
401 DataLayout::NHWC });
402 INode *node_block_7_1_Conv2D_bias = _graph.node(id_block_7_1_Conv2D_bias);
403 node_block_7_1_Conv2D_bias->set_common_node_parameters(NodeParams{ "block_7_1_Conv2D_bias", target });
404 node_block_7_1_Conv2D_bias->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/block_7_1_Conv2D_bias.npy", DataLayout::NHWC));
405
406 NodeID id_block_7_1_FakeQuantWithMinMaxVars = _graph.add_node<ConstNode>(
407 TensorDescriptor
408 {
409 TensorShape{ 256, 3, 3, 256 },
410 DataType::QASYMM8,
411 QuantizationInfo(0.00039844686398282647, 129),
412 DataLayout::NHWC });
413 INode *node_block_7_1_FakeQuantWithMinMaxVars = _graph.node(id_block_7_1_FakeQuantWithMinMaxVars);
414 node_block_7_1_FakeQuantWithMinMaxVars->set_common_node_parameters(NodeParams{ "block_7_1_FakeQuantWithMinMaxVars", target });
415 node_block_7_1_FakeQuantWithMinMaxVars->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/block_7_1_FakeQuantWithMinMaxVars.npy",
416 DataLayout::NHWC));
417
418 NodeID id_mul_6_y = _graph.add_node<ConstNode>(
419 TensorDescriptor
420 {
421 scalar_4d_shape,
422 DataType::QASYMM8,
423 QuantizationInfo(0.0003921568568330258),
424 DataLayout::NHWC });
425 INode *node_mul_6_y = _graph.node(id_mul_6_y);
426 node_mul_6_y->set_common_node_parameters(NodeParams{ "mul_6_y", target });
427 node_mul_6_y->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/mul_6_y.npy", DataLayout::NHWC));
428
429 NodeID id_block_6_1_Conv2D_bias = _graph.add_node<ConstNode>(
430 TensorDescriptor
431 {
432 TensorShape{ 256 },
433 DataType::S32,
434 QuantizationInfo(1.244850636794581e-06),
435 DataLayout::NHWC });
436 INode *node_block_6_1_Conv2D_bias = _graph.node(id_block_6_1_Conv2D_bias);
437 node_block_6_1_Conv2D_bias->set_common_node_parameters(NodeParams{ "block_6_1_Conv2D_bias", target });
438 node_block_6_1_Conv2D_bias->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/block_6_1_Conv2D_bias.npy", DataLayout::NHWC));
439
440 NodeID id_block_6_1_FakeQuantWithMinMaxVars = _graph.add_node<ConstNode>(
441 TensorDescriptor
442 {
443 TensorShape{ 256, 3, 3, 256 },
444 DataType::QASYMM8,
445 QuantizationInfo(0.00040187727427110076, 132),
446 DataLayout::NHWC });
447 INode *node_block_6_1_FakeQuantWithMinMaxVars = _graph.node(id_block_6_1_FakeQuantWithMinMaxVars);
448 node_block_6_1_FakeQuantWithMinMaxVars->set_common_node_parameters(NodeParams{ "block_6_1_FakeQuantWithMinMaxVars", target });
449 node_block_6_1_FakeQuantWithMinMaxVars->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/block_6_1_FakeQuantWithMinMaxVars.npy",
450 DataLayout::NHWC));
451
452 NodeID id_mul_5_y = _graph.add_node<ConstNode>(
453 TensorDescriptor
454 {
455 scalar_4d_shape,
456 DataType::QASYMM8,
457 QuantizationInfo(0.0003921568568330258),
458 DataLayout::NHWC });
459 INode *node_mul_5_y = _graph.node(id_mul_5_y);
460 node_mul_5_y->set_common_node_parameters(NodeParams{ "mul_5_y", target });
461 node_mul_5_y->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/mul_5_y.npy", DataLayout::NHWC));
462
463 NodeID id_block_5_1_Conv2D_bias = _graph.add_node<ConstNode>(
464 TensorDescriptor
465 {
466 TensorShape{ 256 },
467 DataType::S32,
468 QuantizationInfo(1.241092718373693e-06),
469 DataLayout::NHWC });
470 INode *node_block_5_1_Conv2D_bias = _graph.node(id_block_5_1_Conv2D_bias);
471 node_block_5_1_Conv2D_bias->set_common_node_parameters(NodeParams{ "block_5_1_Conv2D_bias", target });
472 node_block_5_1_Conv2D_bias->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/block_5_1_Conv2D_bias.npy", DataLayout::NHWC));
473
474 NodeID id_block_5_1_FakeQuantWithMinMaxVars = _graph.add_node<ConstNode>(
475 TensorDescriptor
476 {
477 TensorShape{ 256, 3, 3, 256 },
478 DataType::QASYMM8,
479 QuantizationInfo(0.0003938926674891263, 129),
480 DataLayout::NHWC });
481 INode *node_block_5_1_FakeQuantWithMinMaxVars = _graph.node(id_block_5_1_FakeQuantWithMinMaxVars);
482 node_block_5_1_FakeQuantWithMinMaxVars->set_common_node_parameters(NodeParams{ "block_5_1_FakeQuantWithMinMaxVars", target });
483 node_block_5_1_FakeQuantWithMinMaxVars->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/block_5_1_FakeQuantWithMinMaxVars.npy",
484 DataLayout::NHWC));
485
486 NodeID id_mul_4_y = _graph.add_node<ConstNode>(
487 TensorDescriptor
488 {
489 scalar_4d_shape,
490 DataType::QASYMM8,
491 QuantizationInfo(0.0003921568568330258),
492 DataLayout::NHWC });
493 INode *node_mul_4_y = _graph.node(id_mul_4_y);
494 node_mul_4_y->set_common_node_parameters(NodeParams{ "mul_4_y", target });
495 node_mul_4_y->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/mul_4_y.npy", DataLayout::NHWC));
496
497 NodeID id_block_4_1_Conv2D_bias = _graph.add_node<ConstNode>(
498 TensorDescriptor
499 {
500 TensorShape{ 256 },
501 DataType::S32,
502 QuantizationInfo(1.1748390988941537e-06),
503 DataLayout::NHWC });
504 INode *node_block_4_1_Conv2D_bias = _graph.node(id_block_4_1_Conv2D_bias);
505 node_block_4_1_Conv2D_bias->set_common_node_parameters(NodeParams{ "block_4_1_Conv2D_bias", target });
506 node_block_4_1_Conv2D_bias->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/block_4_1_Conv2D_bias.npy", DataLayout::NHWC));
507
508 NodeID id_block_4_1_FakeQuantWithMinMaxVars = _graph.add_node<ConstNode>(
509 TensorDescriptor
510 {
511 TensorShape{ 256, 3, 3, 256 },
512 DataType::QASYMM8,
513 QuantizationInfo(0.0003788181929849088, 129),
514 DataLayout::NHWC });
515 INode *node_block_4_1_FakeQuantWithMinMaxVars = _graph.node(id_block_4_1_FakeQuantWithMinMaxVars);
516 node_block_4_1_FakeQuantWithMinMaxVars->set_common_node_parameters(NodeParams{ "block_4_1_FakeQuantWithMinMaxVars", target });
517 node_block_4_1_FakeQuantWithMinMaxVars->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/block_4_1_FakeQuantWithMinMaxVars.npy",
518 DataLayout::NHWC));
519
520 NodeID id_mul_3_y = _graph.add_node<ConstNode>(
521 TensorDescriptor
522 {
523 scalar_4d_shape,
524 DataType::QASYMM8,
525 QuantizationInfo(0.0003921568568330258),
526 DataLayout::NHWC });
527 INode *node_mul_3_y = _graph.node(id_mul_3_y);
528 node_mul_3_y->set_common_node_parameters(NodeParams{ "mul_3_y", target });
529 node_mul_3_y->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/mul_3_y.npy", DataLayout::NHWC));
530
531 NodeID id_block_3_1_Conv2D_bias = _graph.add_node<ConstNode>(
532 TensorDescriptor
533 {
534 TensorShape{ 256 },
535 DataType::S32,
536 QuantizationInfo(1.1937011095142225e-06),
537 DataLayout::NHWC });
538 INode *node_block_3_1_Conv2D_bias = _graph.node(id_block_3_1_Conv2D_bias);
539 node_block_3_1_Conv2D_bias->set_common_node_parameters(NodeParams{ "block_3_1_Conv2D_bias", target });
540 node_block_3_1_Conv2D_bias->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/block_3_1_Conv2D_bias.npy", DataLayout::NHWC));
541
542 NodeID id_block_3_1_FakeQuantWithMinMaxVars = _graph.add_node<ConstNode>(
543 TensorDescriptor
544 {
545 TensorShape{ 256, 3, 3, 256 },
546 DataType::QASYMM8,
547 QuantizationInfo(0.0003944312920793891, 129),
548 DataLayout::NHWC });
549 INode *node_block_3_1_FakeQuantWithMinMaxVars = _graph.node(id_block_3_1_FakeQuantWithMinMaxVars);
550 node_block_3_1_FakeQuantWithMinMaxVars->set_common_node_parameters(NodeParams{ "block_3_1_FakeQuantWithMinMaxVars", target });
551 node_block_3_1_FakeQuantWithMinMaxVars->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/block_3_1_FakeQuantWithMinMaxVars.npy",
552 DataLayout::NHWC));
553
554 NodeID id_mul_2_y = _graph.add_node<ConstNode>(
555 TensorDescriptor
556 {
557 scalar_4d_shape,
558 DataType::QASYMM8,
559 QuantizationInfo(0.0003921568568330258),
560 DataLayout::NHWC });
561 INode *node_mul_2_y = _graph.node(id_mul_2_y);
562 node_mul_2_y->set_common_node_parameters(NodeParams{ "mul_2_y", target });
563 node_mul_2_y->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/mul_2_y.npy", DataLayout::NHWC));
564
565 NodeID id_block_2_1_Conv2D_bias = _graph.add_node<ConstNode>(
566 TensorDescriptor
567 {
568 TensorShape{ 256 },
569 DataType::S32,
570 QuantizationInfo(1.1634580232566805e-06),
571 DataLayout::NHWC });
572 INode *node_block_2_1_Conv2D_bias = _graph.node(id_block_2_1_Conv2D_bias);
573 node_block_2_1_Conv2D_bias->set_common_node_parameters(NodeParams{ "block_2_1_Conv2D_bias", target });
574 node_block_2_1_Conv2D_bias->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/block_2_1_Conv2D_bias.npy", DataLayout::NHWC));
575
576 NodeID id_block_2_1_FakeQuantWithMinMaxVars = _graph.add_node<ConstNode>(
577 TensorDescriptor
578 {
579 TensorShape{ 256, 3, 3, 256 },
580 DataType::QASYMM8,
581 QuantizationInfo(0.0003789655165746808, 132),
582 DataLayout::NHWC });
583 INode *node_block_2_1_FakeQuantWithMinMaxVars = _graph.node(id_block_2_1_FakeQuantWithMinMaxVars);
584 node_block_2_1_FakeQuantWithMinMaxVars->set_common_node_parameters(NodeParams{ "block_2_1_FakeQuantWithMinMaxVars", target });
585 node_block_2_1_FakeQuantWithMinMaxVars->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/block_2_1_FakeQuantWithMinMaxVars.npy",
586 DataLayout::NHWC));
587
588 NodeID id_mul_1_y = _graph.add_node<ConstNode>(
589 TensorDescriptor
590 {
591 scalar_4d_shape,
592 DataType::QASYMM8,
593 QuantizationInfo(0.0003921568568330258),
594 DataLayout::NHWC });
595 INode *node_mul_1_y = _graph.node(id_mul_1_y);
596 node_mul_1_y->set_common_node_parameters(NodeParams{ "mul_1_y", target });
597 node_mul_1_y->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/mul_1_y.npy", DataLayout::NHWC));
598
599 NodeID id_block_1_1_Conv2D_bias = _graph.add_node<ConstNode>(
600 TensorDescriptor
601 {
602 TensorShape{ 256 },
603 DataType::S32,
604 QuantizationInfo(1.197920255435747e-06),
605 DataLayout::NHWC });
606 INode *node_block_1_1_Conv2D_bias = _graph.node(id_block_1_1_Conv2D_bias);
607 node_block_1_1_Conv2D_bias->set_common_node_parameters(NodeParams{ "block_1_1_Conv2D_bias", target });
608 node_block_1_1_Conv2D_bias->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/block_1_1_Conv2D_bias.npy", DataLayout::NHWC));
609
610 NodeID id_block_1_1_FakeQuantWithMinMaxVars = _graph.add_node<ConstNode>(
611 TensorDescriptor
612 {
613 TensorShape{ 256, 3, 3, 256 },
614 DataType::QASYMM8,
615 QuantizationInfo(0.00038527738070115447, 132),
616 DataLayout::NHWC });
617 INode *node_block_1_1_FakeQuantWithMinMaxVars = _graph.node(id_block_1_1_FakeQuantWithMinMaxVars);
618 node_block_1_1_FakeQuantWithMinMaxVars->set_common_node_parameters(NodeParams{ "block_1_1_FakeQuantWithMinMaxVars", target });
619 node_block_1_1_FakeQuantWithMinMaxVars->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/block_1_1_FakeQuantWithMinMaxVars.npy",
620 DataLayout::NHWC));
621
622 NodeID id_mul_y = _graph.add_node<ConstNode>(
623 TensorDescriptor
624 {
625 scalar_4d_shape,
626 DataType::QASYMM8,
627 QuantizationInfo(0.0003921568568330258),
628 DataLayout::NHWC });
629 INode *node_mul_y = _graph.node(id_mul_y);
630 node_mul_y->set_common_node_parameters(NodeParams{ "mul_y", target });
631 node_mul_y->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/mul_y.npy", DataLayout::NHWC));
632
633 NodeID id_block_0_1_Conv2D_bias = _graph.add_node<ConstNode>(
634 TensorDescriptor
635 {
636 TensorShape{ 256 },
637 DataType::S32,
638 QuantizationInfo(1.315485519626236e-06),
639 DataLayout::NHWC });
640 INode *node_block_0_1_Conv2D_bias = _graph.node(id_block_0_1_Conv2D_bias);
641 node_block_0_1_Conv2D_bias->set_common_node_parameters(NodeParams{ "block_0_1_Conv2D_bias", target });
642 node_block_0_1_Conv2D_bias->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/block_0_1_Conv2D_bias.npy", DataLayout::NHWC));
643
644 NodeID id_block_0_1_FakeQuantWithMinMaxVars = _graph.add_node<ConstNode>(
645 TensorDescriptor
646 {
647 TensorShape{ 256, 3, 3, 256 },
648 DataType::QASYMM8,
649 QuantizationInfo(0.00039420535904355347, 129),
650 DataLayout::NHWC });
651 INode *node_block_0_1_FakeQuantWithMinMaxVars = _graph.node(id_block_0_1_FakeQuantWithMinMaxVars);
652 node_block_0_1_FakeQuantWithMinMaxVars->set_common_node_parameters(NodeParams{ "block_0_1_FakeQuantWithMinMaxVars", target });
653 node_block_0_1_FakeQuantWithMinMaxVars->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/block_0_1_FakeQuantWithMinMaxVars.npy",
654 DataLayout::NHWC));
655
656 NodeID id_pre_residual_Conv2D_bias = _graph.add_node<ConstNode>(
657 TensorDescriptor
658 {
659 TensorShape{ 256 },
660 DataType::S32,
661 QuantizationInfo(1.7214160834555514e-06),
662 DataLayout::NHWC });
663 INode *node_pre_residual_Conv2D_bias = _graph.node(id_pre_residual_Conv2D_bias);
664 node_pre_residual_Conv2D_bias->set_common_node_parameters(NodeParams{ "pre_residual_Conv2D_bias", target });
665 node_pre_residual_Conv2D_bias->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/pre_residual_Conv2D_bias.npy", DataLayout::NHWC));
666
667 NodeID id_pre_residual_FakeQuantWithMinMaxVars = _graph.add_node<ConstNode>(
668 TensorDescriptor
669 {
670 TensorShape{ 3, 3, 3, 256 },
671 DataType::QASYMM8,
672 QuantizationInfo(0.0004389610840007663, 127),
673 DataLayout::NHWC });
674 INode *node_pre_residual_FakeQuantWithMinMaxVars = _graph.node(id_pre_residual_FakeQuantWithMinMaxVars);
675 node_pre_residual_FakeQuantWithMinMaxVars->set_common_node_parameters(NodeParams{ "pre_residual_FakeQuantWithMinMaxVars", target });
676 node_pre_residual_FakeQuantWithMinMaxVars->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/pre_residual_FakeQuantWithMinMaxVars.npy",
677 DataLayout::NHWC));
678
679 TensorShape input_shape{};
680 input_shape.set(0, 3, false).set(1, 360, false).set(2, 640, false).set(3, 1, false);
681
682 NodeID id_input = _graph.add_node<InputNode>(
683 TensorDescriptor
684 {
685 input_shape,
686 DataType::QASYMM8,
687 QuantizationInfo(0.003921568859368563),
688 DataLayout::NHWC });
689 INode *node_input = _graph.node(id_input);
690 node_input->set_common_node_parameters(NodeParams{ "input", target });
691 node_input->output(0)->set_accessor(get_input_accessor(common_params));
692
693 NodeID id_pre_residual_BiasAdd = _graph.add_node<ConvolutionLayerNode>(
694 PadStrideInfo
695 {
696 1, 1,
697 1, 1,
698 1, 1,
699 DimensionRoundingType::FLOOR },
700 1,
701 arm_compute::graph::ConvolutionMethod::Default,
702 FastMathHint::Disabled,
703 QuantizationInfo(0.0033370566088706255, 96));
704 INode *node_pre_residual_BiasAdd = _graph.node(id_pre_residual_BiasAdd);
705 node_pre_residual_BiasAdd->set_common_node_parameters(NodeParams{ "pre_residual_BiasAdd", target });
706 _graph.add_connection(id_input, 0, id_pre_residual_BiasAdd, 0);
707 _graph.add_connection(id_pre_residual_FakeQuantWithMinMaxVars, 0, id_pre_residual_BiasAdd, 1);
708 _graph.add_connection(id_pre_residual_Conv2D_bias, 0, id_pre_residual_BiasAdd, 2);
709
710 NodeID id_block_0_1_BiasAdd = _graph.add_node<ConvolutionLayerNode>(
711 PadStrideInfo
712 {
713 1, 1,
714 1, 1,
715 1, 1,
716 DimensionRoundingType::FLOOR },
717 1,
718 arm_compute::graph::ConvolutionMethod::Default,
719 FastMathHint::Disabled,
720 QuantizationInfo(0.007344874087721109, 185));
721 INode *node_block_0_1_BiasAdd = _graph.node(id_block_0_1_BiasAdd);
722 node_block_0_1_BiasAdd->set_common_node_parameters(NodeParams{ "block_0_1_BiasAdd", target });
723 _graph.add_connection(id_pre_residual_BiasAdd, 0, id_block_0_1_BiasAdd, 0);
724 _graph.add_connection(id_block_0_1_FakeQuantWithMinMaxVars, 0, id_block_0_1_BiasAdd, 1);
725 _graph.add_connection(id_block_0_1_Conv2D_bias, 0, id_block_0_1_BiasAdd, 2);
726
727 NodeID id_mul = _graph.add_node<EltwiseLayerNode>(
Sang-Hoon Park797b76b2020-03-11 23:21:14 +0000728 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Mul, QuantizationInfo{ 0.0006341293919831514, 174 } });
Sang-Hoon Park68001172020-03-06 16:32:01 +0000729 INode *node_mul = _graph.node(id_mul);
730 node_mul->set_common_node_parameters(NodeParams{ "mul", target });
731 _graph.add_connection(id_block_0_1_BiasAdd, 0, id_mul, 0);
732 _graph.add_connection(id_mul_y, 0, id_mul, 1);
733
734 NodeID id_add = _graph.add_node<EltwiseLayerNode>(
Sang-Hoon Park797b76b2020-03-11 23:21:14 +0000735 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Add, QuantizationInfo{ 0.0031092411372810602, 95 } });
Sang-Hoon Park68001172020-03-06 16:32:01 +0000736 INode *node_add = _graph.node(id_add);
737 node_add->set_common_node_parameters(NodeParams{ "add", target });
738 _graph.add_connection(id_pre_residual_BiasAdd, 0, id_add, 0);
739 _graph.add_connection(id_mul, 0, id_add, 1);
740
741 NodeID id_block_1_1_BiasAdd = _graph.add_node<ConvolutionLayerNode>(
742 PadStrideInfo
743 {
744 1, 1,
745 1, 1,
746 1, 1,
747 DimensionRoundingType::FLOOR },
748 1,
749 arm_compute::graph::ConvolutionMethod::Default,
750 FastMathHint::Disabled,
751 QuantizationInfo(0.005333727691322565, 117));
752 INode *node_block_1_1_BiasAdd = _graph.node(id_block_1_1_BiasAdd);
753 node_block_1_1_BiasAdd->set_common_node_parameters(NodeParams{ "block_1_1_BiasAdd", target });
754 _graph.add_connection(id_add, 0, id_block_1_1_BiasAdd, 0);
755 _graph.add_connection(id_block_1_1_FakeQuantWithMinMaxVars, 0, id_block_1_1_BiasAdd, 1);
756 _graph.add_connection(id_block_1_1_Conv2D_bias, 0, id_block_1_1_BiasAdd, 2);
757
758 NodeID id_mul_1 = _graph.add_node<EltwiseLayerNode>(
Sang-Hoon Park797b76b2020-03-11 23:21:14 +0000759 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Mul, QuantizationInfo{ 0.0004965941770933568, 122 } });
Sang-Hoon Park68001172020-03-06 16:32:01 +0000760 INode *node_mul_1 = _graph.node(id_mul_1);
761 node_mul_1->set_common_node_parameters(NodeParams{ "mul_1", target });
762 _graph.add_connection(id_block_1_1_BiasAdd, 0, id_mul_1, 0);
763 _graph.add_connection(id_mul_1_y, 0, id_mul_1, 1);
764
765 NodeID id_add_1 = _graph.add_node<EltwiseLayerNode>(
Sang-Hoon Park797b76b2020-03-11 23:21:14 +0000766 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Add, QuantizationInfo{ 0.0030700892675668, 96 } });
Sang-Hoon Park68001172020-03-06 16:32:01 +0000767 INode *node_add_1 = _graph.node(id_add_1);
768 node_add_1->set_common_node_parameters(NodeParams{ "add_1", target });
769 _graph.add_connection(id_add, 0, id_add_1, 0);
770 _graph.add_connection(id_mul_1, 0, id_add_1, 1);
771
772 NodeID id_block_2_1_BiasAdd = _graph.add_node<ConvolutionLayerNode>(
773 PadStrideInfo
774 {
775 1, 1,
776 1, 1,
777 1, 1,
778 DimensionRoundingType::FLOOR },
779 1,
780 arm_compute::graph::ConvolutionMethod::Default,
781 FastMathHint::Disabled,
782 QuantizationInfo(0.004199742339551449, 132));
783 INode *node_block_2_1_BiasAdd = _graph.node(id_block_2_1_BiasAdd);
784 node_block_2_1_BiasAdd->set_common_node_parameters(NodeParams{ "block_2_1_BiasAdd", target });
785 _graph.add_connection(id_add_1, 0, id_block_2_1_BiasAdd, 0);
786 _graph.add_connection(id_block_2_1_FakeQuantWithMinMaxVars, 0, id_block_2_1_BiasAdd, 1);
787 _graph.add_connection(id_block_2_1_Conv2D_bias, 0, id_block_2_1_BiasAdd, 2);
788
789 NodeID id_mul_2 = _graph.add_node<EltwiseLayerNode>(
Sang-Hoon Park797b76b2020-03-11 23:21:14 +0000790 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Mul, QuantizationInfo{ 0.0004133903712499887, 130 } });
Sang-Hoon Park68001172020-03-06 16:32:01 +0000791 INode *node_mul_2 = _graph.node(id_mul_2);
792 node_mul_2->set_common_node_parameters(NodeParams{ "mul_2", target });
793 _graph.add_connection(id_block_2_1_BiasAdd, 0, id_mul_2, 0);
794 _graph.add_connection(id_mul_2_y, 0, id_mul_2, 1);
795
796 NodeID id_add_2 = _graph.add_node<EltwiseLayerNode>(
Sang-Hoon Park797b76b2020-03-11 23:21:14 +0000797 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Add, QuantizationInfo{ 0.003026385325938463, 94 } });
Sang-Hoon Park68001172020-03-06 16:32:01 +0000798 INode *node_add_2 = _graph.node(id_add_2);
799 node_add_2->set_common_node_parameters(NodeParams{ "add_2", target });
800 _graph.add_connection(id_add_1, 0, id_add_2, 0);
801 _graph.add_connection(id_mul_2, 0, id_add_2, 1);
802
803 NodeID id_block_3_1_BiasAdd = _graph.add_node<ConvolutionLayerNode>(
804 PadStrideInfo
805 {
806 1, 1,
807 1, 1,
808 1, 1,
809 DimensionRoundingType::FLOOR },
810 1,
811 arm_compute::graph::ConvolutionMethod::Default,
812 FastMathHint::Disabled,
813 QuantizationInfo(0.003977528307586908, 142));
814 INode *node_block_3_1_BiasAdd = _graph.node(id_block_3_1_BiasAdd);
815 node_block_3_1_BiasAdd->set_common_node_parameters(NodeParams{ "block_3_1_BiasAdd", target });
816 _graph.add_connection(id_add_2, 0, id_block_3_1_BiasAdd, 0);
817 _graph.add_connection(id_block_3_1_FakeQuantWithMinMaxVars, 0, id_block_3_1_BiasAdd, 1);
818 _graph.add_connection(id_block_3_1_Conv2D_bias, 0, id_block_3_1_BiasAdd, 2);
819
820 NodeID id_mul_3 = _graph.add_node<EltwiseLayerNode>(
Sang-Hoon Park797b76b2020-03-11 23:21:14 +0000821 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Mul, QuantizationInfo{ 0.0003943995980080217, 141 } });
Sang-Hoon Park68001172020-03-06 16:32:01 +0000822 INode *node_mul_3 = _graph.node(id_mul_3);
823 node_mul_3->set_common_node_parameters(NodeParams{ "mul_3", target });
824 _graph.add_connection(id_block_3_1_BiasAdd, 0, id_mul_3, 0);
825 _graph.add_connection(id_mul_3_y, 0, id_mul_3, 1);
826
827 NodeID id_add_3 = _graph.add_node<EltwiseLayerNode>(
Sang-Hoon Park797b76b2020-03-11 23:21:14 +0000828 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Add, QuantizationInfo{ 0.003101327223703265, 98 } });
Sang-Hoon Park68001172020-03-06 16:32:01 +0000829 INode *node_add_3 = _graph.node(id_add_3);
830 node_add_3->set_common_node_parameters(NodeParams{ "add_3", target });
831 _graph.add_connection(id_add_2, 0, id_add_3, 0);
832 _graph.add_connection(id_mul_3, 0, id_add_3, 1);
833
834 NodeID id_block_4_1_BiasAdd = _graph.add_node<ConvolutionLayerNode>(
835 PadStrideInfo
836 {
837 1, 1,
838 1, 1,
839 1, 1,
840 DimensionRoundingType::FLOOR },
841 1,
842 arm_compute::graph::ConvolutionMethod::Default,
843 FastMathHint::Disabled,
844 QuantizationInfo(0.0045388080179691315, 146));
845 INode *node_block_4_1_BiasAdd = _graph.node(id_block_4_1_BiasAdd);
846 node_block_4_1_BiasAdd->set_common_node_parameters(NodeParams{ "block_4_1_BiasAdd", target });
847 _graph.add_connection(id_add_3, 0, id_block_4_1_BiasAdd, 0);
848 _graph.add_connection(id_block_4_1_FakeQuantWithMinMaxVars, 0, id_block_4_1_BiasAdd, 1);
849 _graph.add_connection(id_block_4_1_Conv2D_bias, 0, id_block_4_1_BiasAdd, 2);
850
851 NodeID id_mul_4 = _graph.add_node<EltwiseLayerNode>(
Sang-Hoon Park797b76b2020-03-11 23:21:14 +0000852 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Mul, QuantizationInfo{ 0.00044342130422592163, 143 } });
Sang-Hoon Park68001172020-03-06 16:32:01 +0000853 INode *node_mul_4 = _graph.node(id_mul_4);
854 node_mul_4->set_common_node_parameters(NodeParams{ "mul_4", target });
855 _graph.add_connection(id_block_4_1_BiasAdd, 0, id_mul_4, 0);
856 _graph.add_connection(id_mul_4_y, 0, id_mul_4, 1);
857
858 NodeID id_add_4 = _graph.add_node<EltwiseLayerNode>(
Sang-Hoon Park797b76b2020-03-11 23:21:14 +0000859 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Add, QuantizationInfo{ 0.003150839824229479, 98 } });
Sang-Hoon Park68001172020-03-06 16:32:01 +0000860 INode *node_add_4 = _graph.node(id_add_4);
861 node_add_4->set_common_node_parameters(NodeParams{ "add_4", target });
862 _graph.add_connection(id_add_3, 0, id_add_4, 0);
863 _graph.add_connection(id_mul_4, 0, id_add_4, 1);
864
865 NodeID id_block_5_1_BiasAdd = _graph.add_node<ConvolutionLayerNode>(
866 PadStrideInfo
867 {
868 1, 1,
869 1, 1,
870 1, 1,
871 DimensionRoundingType::FLOOR },
872 1,
873 arm_compute::graph::ConvolutionMethod::Default,
874 FastMathHint::Disabled,
875 QuantizationInfo(0.00402890844270587, 132));
876 INode *node_block_5_1_BiasAdd = _graph.node(id_block_5_1_BiasAdd);
877 node_block_5_1_BiasAdd->set_common_node_parameters(NodeParams{ "block_5_1_BiasAdd", target });
878 _graph.add_connection(id_add_4, 0, id_block_5_1_BiasAdd, 0);
879 _graph.add_connection(id_block_5_1_FakeQuantWithMinMaxVars, 0, id_block_5_1_BiasAdd, 1);
880 _graph.add_connection(id_block_5_1_Conv2D_bias, 0, id_block_5_1_BiasAdd, 2);
881
882 NodeID id_mul_5 = _graph.add_node<EltwiseLayerNode>(
Sang-Hoon Park797b76b2020-03-11 23:21:14 +0000883 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Mul, QuantizationInfo{ 0.0004023382789455354, 132 } });
Sang-Hoon Park68001172020-03-06 16:32:01 +0000884 INode *node_mul_5 = _graph.node(id_mul_5);
885 node_mul_5->set_common_node_parameters(NodeParams{ "mul_5", target });
886 _graph.add_connection(id_block_5_1_BiasAdd, 0, id_mul_5, 0);
887 _graph.add_connection(id_mul_5_y, 0, id_mul_5, 1);
888
889 NodeID id_add_5 = _graph.add_node<EltwiseLayerNode>(
Sang-Hoon Park797b76b2020-03-11 23:21:14 +0000890 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Add, QuantizationInfo{ 0.0030975888948887587, 94 } });
Sang-Hoon Park68001172020-03-06 16:32:01 +0000891 INode *node_add_5 = _graph.node(id_add_5);
892 node_add_5->set_common_node_parameters(NodeParams{ "add_5", target });
893 _graph.add_connection(id_add_4, 0, id_add_5, 0);
894 _graph.add_connection(id_mul_5, 0, id_add_5, 1);
895
896 NodeID id_block_6_1_BiasAdd = _graph.add_node<ConvolutionLayerNode>(
897 PadStrideInfo
898 {
899 1, 1,
900 1, 1,
901 1, 1,
902 DimensionRoundingType::FLOOR },
903 1,
904 arm_compute::graph::ConvolutionMethod::Default,
905 FastMathHint::Disabled,
906 QuantizationInfo(0.00421866774559021, 125));
907 INode *node_block_6_1_BiasAdd = _graph.node(id_block_6_1_BiasAdd);
908 node_block_6_1_BiasAdd->set_common_node_parameters(NodeParams{ "block_6_1_BiasAdd", target });
909 _graph.add_connection(id_add_5, 0, id_block_6_1_BiasAdd, 0);
910 _graph.add_connection(id_block_6_1_FakeQuantWithMinMaxVars, 0, id_block_6_1_BiasAdd, 1);
911 _graph.add_connection(id_block_6_1_Conv2D_bias, 0, id_block_6_1_BiasAdd, 2);
912
913 NodeID id_mul_6 = _graph.add_node<EltwiseLayerNode>(
Sang-Hoon Park797b76b2020-03-11 23:21:14 +0000914 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Mul, QuantizationInfo{ 0.00041950203012675047, 125 } });
Sang-Hoon Park68001172020-03-06 16:32:01 +0000915 INode *node_mul_6 = _graph.node(id_mul_6);
916 node_mul_6->set_common_node_parameters(NodeParams{ "mul_6", target });
917 _graph.add_connection(id_block_6_1_BiasAdd, 0, id_mul_6, 0);
918 _graph.add_connection(id_mul_6_y, 0, id_mul_6, 1);
919
920 NodeID id_add_6 = _graph.add_node<EltwiseLayerNode>(
Sang-Hoon Park797b76b2020-03-11 23:21:14 +0000921 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Add, QuantizationInfo{ 0.003155382815748453, 92 } });
Sang-Hoon Park68001172020-03-06 16:32:01 +0000922 INode *node_add_6 = _graph.node(id_add_6);
923 node_add_6->set_common_node_parameters(NodeParams{ "add_6", target });
924 _graph.add_connection(id_add_5, 0, id_add_6, 0);
925 _graph.add_connection(id_mul_6, 0, id_add_6, 1);
926
927 NodeID id_block_7_1_BiasAdd = _graph.add_node<ConvolutionLayerNode>(
928 PadStrideInfo
929 {
930 1, 1,
931 1, 1,
932 1, 1,
933 DimensionRoundingType::FLOOR },
934 1,
935 arm_compute::graph::ConvolutionMethod::Default,
936 FastMathHint::Disabled,
937 QuantizationInfo(0.004250136204063892, 143));
938 INode *node_block_7_1_BiasAdd = _graph.node(id_block_7_1_BiasAdd);
939 node_block_7_1_BiasAdd->set_common_node_parameters(NodeParams{ "block_7_1_BiasAdd", target });
940 _graph.add_connection(id_add_6, 0, id_block_7_1_BiasAdd, 0);
941 _graph.add_connection(id_block_7_1_FakeQuantWithMinMaxVars, 0, id_block_7_1_BiasAdd, 1);
942 _graph.add_connection(id_block_7_1_Conv2D_bias, 0, id_block_7_1_BiasAdd, 2);
943
944 NodeID id_mul_7 = _graph.add_node<EltwiseLayerNode>(
Sang-Hoon Park797b76b2020-03-11 23:21:14 +0000945 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Mul, QuantizationInfo{ 0.00042401350219734013, 142 } });
Sang-Hoon Park68001172020-03-06 16:32:01 +0000946 INode *node_mul_7 = _graph.node(id_mul_7);
947 node_mul_7->set_common_node_parameters(NodeParams{ "mul_7", target });
948 _graph.add_connection(id_block_7_1_BiasAdd, 0, id_mul_7, 0);
949 _graph.add_connection(id_mul_7_y, 0, id_mul_7, 1);
950
951 NodeID id_add_7 = _graph.add_node<EltwiseLayerNode>(
Sang-Hoon Park797b76b2020-03-11 23:21:14 +0000952 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Add, QuantizationInfo{ 0.0031760605052113533, 86 } });
Sang-Hoon Park68001172020-03-06 16:32:01 +0000953 INode *node_add_7 = _graph.node(id_add_7);
954 node_add_7->set_common_node_parameters(NodeParams{ "add_7", target });
955 _graph.add_connection(id_add_6, 0, id_add_7, 0);
956 _graph.add_connection(id_mul_7, 0, id_add_7, 1);
957
958 NodeID id_block_8_1_BiasAdd = _graph.add_node<ConvolutionLayerNode>(
959 PadStrideInfo
960 {
961 1, 1,
962 1, 1,
963 1, 1,
964 DimensionRoundingType::FLOOR },
965 1,
966 arm_compute::graph::ConvolutionMethod::Default,
967 FastMathHint::Disabled,
968 QuantizationInfo(0.004277155734598637, 123));
969 INode *node_block_8_1_BiasAdd = _graph.node(id_block_8_1_BiasAdd);
970 node_block_8_1_BiasAdd->set_common_node_parameters(NodeParams{ "block_8_1_BiasAdd", target });
971 _graph.add_connection(id_add_7, 0, id_block_8_1_BiasAdd, 0);
972 _graph.add_connection(id_block_8_1_FakeQuantWithMinMaxVars, 0, id_block_8_1_BiasAdd, 1);
973 _graph.add_connection(id_block_8_1_Conv2D_bias, 0, id_block_8_1_BiasAdd, 2);
974
975 NodeID id_mul_8 = _graph.add_node<EltwiseLayerNode>(
Sang-Hoon Park797b76b2020-03-11 23:21:14 +0000976 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Mul, QuantizationInfo{ 0.00042673019925132394, 123 } });
Sang-Hoon Park68001172020-03-06 16:32:01 +0000977 INode *node_mul_8 = _graph.node(id_mul_8);
978 node_mul_8->set_common_node_parameters(NodeParams{ "mul_8", target });
979 _graph.add_connection(id_block_8_1_BiasAdd, 0, id_mul_8, 0);
980 _graph.add_connection(id_mul_8_y, 0, id_mul_8, 1);
981
982 NodeID id_add_8 = _graph.add_node<EltwiseLayerNode>(
Sang-Hoon Park797b76b2020-03-11 23:21:14 +0000983 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Add, QuantizationInfo{ 0.0032156009692698717, 86 } });
Sang-Hoon Park68001172020-03-06 16:32:01 +0000984 INode *node_add_8 = _graph.node(id_add_8);
985 node_add_8->set_common_node_parameters(NodeParams{ "add_8", target });
986 _graph.add_connection(id_add_7, 0, id_add_8, 0);
987 _graph.add_connection(id_mul_8, 0, id_add_8, 1);
988
989 NodeID id_block_9_1_BiasAdd = _graph.add_node<ConvolutionLayerNode>(
990 PadStrideInfo
991 {
992 1, 1,
993 1, 1,
994 1, 1,
995 DimensionRoundingType::FLOOR },
996 1,
997 arm_compute::graph::ConvolutionMethod::Default,
998 FastMathHint::Disabled,
999 QuantizationInfo(0.00445037754252553, 129));
1000 INode *node_block_9_1_BiasAdd = _graph.node(id_block_9_1_BiasAdd);
1001 node_block_9_1_BiasAdd->set_common_node_parameters(NodeParams{ "block_9_1_BiasAdd", target });
1002 _graph.add_connection(id_add_8, 0, id_block_9_1_BiasAdd, 0);
1003 _graph.add_connection(id_block_9_1_FakeQuantWithMinMaxVars, 0, id_block_9_1_BiasAdd, 1);
1004 _graph.add_connection(id_block_9_1_Conv2D_bias, 0, id_block_9_1_BiasAdd, 2);
1005
1006 NodeID id_mul_9 = _graph.add_node<EltwiseLayerNode>(
Sang-Hoon Park797b76b2020-03-11 23:21:14 +00001007 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Mul, QuantizationInfo{ 0.0004448975087143481, 129 } });
Sang-Hoon Park68001172020-03-06 16:32:01 +00001008 INode *node_mul_9 = _graph.node(id_mul_9);
1009 node_mul_9->set_common_node_parameters(NodeParams{ "mul_9", target });
1010 _graph.add_connection(id_block_9_1_BiasAdd, 0, id_mul_9, 0);
1011 _graph.add_connection(id_mul_9_y, 0, id_mul_9, 1);
1012
1013 NodeID id_add_9 = _graph.add_node<EltwiseLayerNode>(
Sang-Hoon Park797b76b2020-03-11 23:21:14 +00001014 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Add, QuantizationInfo{ 0.0032742770854383707, 80 } });
Sang-Hoon Park68001172020-03-06 16:32:01 +00001015 INode *node_add_9 = _graph.node(id_add_9);
1016 node_add_9->set_common_node_parameters(NodeParams{ "add_9", target });
1017 _graph.add_connection(id_add_8, 0, id_add_9, 0);
1018 _graph.add_connection(id_mul_9, 0, id_add_9, 1);
1019
1020 NodeID id_block_10_1_BiasAdd = _graph.add_node<ConvolutionLayerNode>(
1021 PadStrideInfo
1022 {
1023 1, 1,
1024 1, 1,
1025 1, 1,
1026 DimensionRoundingType::FLOOR },
1027 1,
1028 arm_compute::graph::ConvolutionMethod::Default,
1029 FastMathHint::Disabled,
1030 QuantizationInfo(0.003614710411056876, 131));
1031 INode *node_block_10_1_BiasAdd = _graph.node(id_block_10_1_BiasAdd);
1032 node_block_10_1_BiasAdd->set_common_node_parameters(NodeParams{ "block_10_1_BiasAdd", target });
1033 _graph.add_connection(id_add_9, 0, id_block_10_1_BiasAdd, 0);
1034 _graph.add_connection(id_block_10_1_FakeQuantWithMinMaxVars, 0, id_block_10_1_BiasAdd, 1);
1035 _graph.add_connection(id_block_10_1_Conv2D_bias, 0, id_block_10_1_BiasAdd, 2);
1036
1037 NodeID id_mul_10 = _graph.add_node<EltwiseLayerNode>(
Sang-Hoon Park797b76b2020-03-11 23:21:14 +00001038 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Mul, QuantizationInfo{ 0.00036083892337046564, 130 } });
Sang-Hoon Park68001172020-03-06 16:32:01 +00001039 INode *node_mul_10 = _graph.node(id_mul_10);
1040 node_mul_10->set_common_node_parameters(NodeParams{ "mul_10", target });
1041 _graph.add_connection(id_block_10_1_BiasAdd, 0, id_mul_10, 0);
1042 _graph.add_connection(id_mul_10_y, 0, id_mul_10, 1);
1043
1044 NodeID id_add_10 = _graph.add_node<EltwiseLayerNode>(
Sang-Hoon Park797b76b2020-03-11 23:21:14 +00001045 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Add, QuantizationInfo{ 0.0031881770119071007, 81 } });
Sang-Hoon Park68001172020-03-06 16:32:01 +00001046 INode *node_add_10 = _graph.node(id_add_10);
1047 node_add_10->set_common_node_parameters(NodeParams{ "add_10", target });
1048 _graph.add_connection(id_add_9, 0, id_add_10, 0);
1049 _graph.add_connection(id_mul_10, 0, id_add_10, 1);
1050
1051 NodeID id_block_11_1_BiasAdd = _graph.add_node<ConvolutionLayerNode>(
1052 PadStrideInfo
1053 {
1054 1, 1,
1055 1, 1,
1056 1, 1,
1057 DimensionRoundingType::FLOOR },
1058 1,
1059 arm_compute::graph::ConvolutionMethod::Default,
1060 FastMathHint::Disabled,
1061 QuantizationInfo(0.003969002980738878, 133));
1062 INode *node_block_11_1_BiasAdd = _graph.node(id_block_11_1_BiasAdd);
1063 node_block_11_1_BiasAdd->set_common_node_parameters(NodeParams{ "block_11_1_BiasAdd", target });
1064 _graph.add_connection(id_add_10, 0, id_block_11_1_BiasAdd, 0);
1065 _graph.add_connection(id_block_11_1_FakeQuantWithMinMaxVars, 0, id_block_11_1_BiasAdd, 1);
1066 _graph.add_connection(id_block_11_1_Conv2D_bias, 0, id_block_11_1_BiasAdd, 2);
1067
1068 NodeID id_mul_11 = _graph.add_node<EltwiseLayerNode>(
Sang-Hoon Park797b76b2020-03-11 23:21:14 +00001069 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Mul, QuantizationInfo{ 0.0003968806122429669, 133 } });
Sang-Hoon Park68001172020-03-06 16:32:01 +00001070 INode *node_mul_11 = _graph.node(id_mul_11);
1071 node_mul_11->set_common_node_parameters(NodeParams{ "mul_11", target });
1072 _graph.add_connection(id_block_11_1_BiasAdd, 0, id_mul_11, 0);
1073 _graph.add_connection(id_mul_11_y, 0, id_mul_11, 1);
1074
1075 NodeID id_add_11 = _graph.add_node<EltwiseLayerNode>(
Sang-Hoon Park797b76b2020-03-11 23:21:14 +00001076 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Add, QuantizationInfo{ 0.0032707711216062307, 80 } });
Sang-Hoon Park68001172020-03-06 16:32:01 +00001077 INode *node_add_11 = _graph.node(id_add_11);
1078 node_add_11->set_common_node_parameters(NodeParams{ "add_11", target });
1079 _graph.add_connection(id_add_10, 0, id_add_11, 0);
1080 _graph.add_connection(id_mul_11, 0, id_add_11, 1);
1081
1082 NodeID id_block_12_1_BiasAdd = _graph.add_node<ConvolutionLayerNode>(
1083 PadStrideInfo
1084 {
1085 1, 1,
1086 1, 1,
1087 1, 1,
1088 DimensionRoundingType::FLOOR },
1089 1,
1090 arm_compute::graph::ConvolutionMethod::Default,
1091 FastMathHint::Disabled,
1092 QuantizationInfo(0.004366801120340824, 110));
1093 INode *node_block_12_1_BiasAdd = _graph.node(id_block_12_1_BiasAdd);
1094 node_block_12_1_BiasAdd->set_common_node_parameters(NodeParams{ "block_12_1_BiasAdd", target });
1095 _graph.add_connection(id_add_11, 0, id_block_12_1_BiasAdd, 0);
1096 _graph.add_connection(id_block_12_1_FakeQuantWithMinMaxVars, 0, id_block_12_1_BiasAdd, 1);
1097 _graph.add_connection(id_block_12_1_Conv2D_bias, 0, id_block_12_1_BiasAdd, 2);
1098
1099 NodeID id_mul_12 = _graph.add_node<EltwiseLayerNode>(
Sang-Hoon Park797b76b2020-03-11 23:21:14 +00001100 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Mul, QuantizationInfo{ 0.0004365936329122633, 110 } });
Sang-Hoon Park68001172020-03-06 16:32:01 +00001101 INode *node_mul_12 = _graph.node(id_mul_12);
1102 node_mul_12->set_common_node_parameters(NodeParams{ "mul_12", target });
1103 _graph.add_connection(id_block_12_1_BiasAdd, 0, id_mul_12, 0);
1104 _graph.add_connection(id_mul_12_y, 0, id_mul_12, 1);
1105
1106 NodeID id_add_12 = _graph.add_node<EltwiseLayerNode>(
Sang-Hoon Park797b76b2020-03-11 23:21:14 +00001107 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Add, QuantizationInfo{ 0.003275055903941393, 79 } });
Sang-Hoon Park68001172020-03-06 16:32:01 +00001108 INode *node_add_12 = _graph.node(id_add_12);
1109 node_add_12->set_common_node_parameters(NodeParams{ "add_12", target });
1110 _graph.add_connection(id_add_11, 0, id_add_12, 0);
1111 _graph.add_connection(id_mul_12, 0, id_add_12, 1);
1112
1113 NodeID id_block_13_1_BiasAdd = _graph.add_node<ConvolutionLayerNode>(
1114 PadStrideInfo
1115 {
1116 1, 1,
1117 1, 1,
1118 1, 1,
1119 DimensionRoundingType::FLOOR },
1120 1,
1121 arm_compute::graph::ConvolutionMethod::Default,
1122 FastMathHint::Disabled,
1123 QuantizationInfo(0.004386766813695431, 139));
1124 INode *node_block_13_1_BiasAdd = _graph.node(id_block_13_1_BiasAdd);
1125 node_block_13_1_BiasAdd->set_common_node_parameters(NodeParams{ "block_13_1_BiasAdd", target });
1126 _graph.add_connection(id_add_12, 0, id_block_13_1_BiasAdd, 0);
1127 _graph.add_connection(id_block_13_1_FakeQuantWithMinMaxVars, 0, id_block_13_1_BiasAdd, 1);
1128 _graph.add_connection(id_block_13_1_Conv2D_bias, 0, id_block_13_1_BiasAdd, 2);
1129
1130 NodeID id_mul_13 = _graph.add_node<EltwiseLayerNode>(
Sang-Hoon Park797b76b2020-03-11 23:21:14 +00001131 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Mul, QuantizationInfo{ 0.0004385628562886268, 139 } });
Sang-Hoon Park68001172020-03-06 16:32:01 +00001132 INode *node_mul_13 = _graph.node(id_mul_13);
1133 node_mul_13->set_common_node_parameters(NodeParams{ "mul_13", target });
1134 _graph.add_connection(id_block_13_1_BiasAdd, 0, id_mul_13, 0);
1135 _graph.add_connection(id_mul_13_y, 0, id_mul_13, 1);
1136
1137 NodeID id_add_13 = _graph.add_node<EltwiseLayerNode>(
Sang-Hoon Park797b76b2020-03-11 23:21:14 +00001138 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Add, QuantizationInfo{ 0.0033287261612713337, 78 } });
Sang-Hoon Park68001172020-03-06 16:32:01 +00001139 INode *node_add_13 = _graph.node(id_add_13);
1140 node_add_13->set_common_node_parameters(NodeParams{ "add_13", target });
1141 _graph.add_connection(id_add_12, 0, id_add_13, 0);
1142 _graph.add_connection(id_mul_13, 0, id_add_13, 1);
1143
1144 NodeID id_block_14_1_BiasAdd = _graph.add_node<ConvolutionLayerNode>(
1145 PadStrideInfo
1146 {
1147 1, 1,
1148 1, 1,
1149 1, 1,
1150 DimensionRoundingType::FLOOR },
1151 1,
1152 arm_compute::graph::ConvolutionMethod::Default,
1153 FastMathHint::Disabled,
1154 QuantizationInfo(0.0038069337606430054, 130));
1155 INode *node_block_14_1_BiasAdd = _graph.node(id_block_14_1_BiasAdd);
1156 node_block_14_1_BiasAdd->set_common_node_parameters(NodeParams{ "block_14_1_BiasAdd", target });
1157 _graph.add_connection(id_add_13, 0, id_block_14_1_BiasAdd, 0);
1158 _graph.add_connection(id_block_14_1_FakeQuantWithMinMaxVars, 0, id_block_14_1_BiasAdd, 1);
1159 _graph.add_connection(id_block_14_1_Conv2D_bias, 0, id_block_14_1_BiasAdd, 2);
1160
1161 NodeID id_mul_14 = _graph.add_node<EltwiseLayerNode>(
Sang-Hoon Park797b76b2020-03-11 23:21:14 +00001162 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Mul, QuantizationInfo{ 0.00037829321809113026, 130 } });
Sang-Hoon Park68001172020-03-06 16:32:01 +00001163 INode *node_mul_14 = _graph.node(id_mul_14);
1164 node_mul_14->set_common_node_parameters(NodeParams{ "mul_14", target });
1165 _graph.add_connection(id_block_14_1_BiasAdd, 0, id_mul_14, 0);
1166 _graph.add_connection(id_mul_14_y, 0, id_mul_14, 1);
1167
1168 NodeID id_add_14 = _graph.add_node<EltwiseLayerNode>(
Sang-Hoon Park797b76b2020-03-11 23:21:14 +00001169 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Add, QuantizationInfo{ 0.0033590947277843952, 77 } });
Sang-Hoon Park68001172020-03-06 16:32:01 +00001170 INode *node_add_14 = _graph.node(id_add_14);
1171 node_add_14->set_common_node_parameters(NodeParams{ "add_14", target });
1172 _graph.add_connection(id_add_13, 0, id_add_14, 0);
1173 _graph.add_connection(id_mul_14, 0, id_add_14, 1);
1174
1175 NodeID id_block_15_1_BiasAdd = _graph.add_node<ConvolutionLayerNode>(
1176 PadStrideInfo
1177 {
1178 1, 1,
1179 1, 1,
1180 1, 1,
1181 DimensionRoundingType::FLOOR },
1182 1,
1183 arm_compute::graph::ConvolutionMethod::Default,
1184 FastMathHint::Disabled,
1185 QuantizationInfo(0.004009159281849861, 130));
1186 INode *node_block_15_1_BiasAdd = _graph.node(id_block_15_1_BiasAdd);
1187 node_block_15_1_BiasAdd->set_common_node_parameters(NodeParams{ "block_15_1_BiasAdd", target });
1188 _graph.add_connection(id_add_14, 0, id_block_15_1_BiasAdd, 0);
1189 _graph.add_connection(id_block_15_1_FakeQuantWithMinMaxVars, 0, id_block_15_1_BiasAdd, 1);
1190 _graph.add_connection(id_block_15_1_Conv2D_bias, 0, id_block_15_1_BiasAdd, 2);
1191
1192 NodeID id_mul_15 = _graph.add_node<EltwiseLayerNode>(
Sang-Hoon Park797b76b2020-03-11 23:21:14 +00001193 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Mul, QuantizationInfo{ 0.0004008286341559142, 130 } });
Sang-Hoon Park68001172020-03-06 16:32:01 +00001194 INode *node_mul_15 = _graph.node(id_mul_15);
1195 node_mul_15->set_common_node_parameters(NodeParams{ "mul_15", target });
1196 _graph.add_connection(id_block_15_1_BiasAdd, 0, id_mul_15, 0);
1197 _graph.add_connection(id_mul_15_y, 0, id_mul_15, 1);
1198
1199 NodeID id_add_15 = _graph.add_node<EltwiseLayerNode>(
Sang-Hoon Park797b76b2020-03-11 23:21:14 +00001200 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Add, QuantizationInfo{ 0.0035031239967793226, 78 } });
Sang-Hoon Park68001172020-03-06 16:32:01 +00001201 INode *node_add_15 = _graph.node(id_add_15);
1202 node_add_15->set_common_node_parameters(NodeParams{ "add_15", target });
1203 _graph.add_connection(id_add_14, 0, id_add_15, 0);
1204 _graph.add_connection(id_mul_15, 0, id_add_15, 1);
1205
1206 NodeID id_post_residual_BiasAdd = _graph.add_node<ConvolutionLayerNode>(
1207 PadStrideInfo
1208 {
1209 1, 1,
1210 1, 1,
1211 1, 1,
1212 DimensionRoundingType::FLOOR },
1213 1,
1214 arm_compute::graph::ConvolutionMethod::Default,
1215 FastMathHint::Disabled,
1216 QuantizationInfo(0.005167999770492315, 112));
1217 INode *node_post_residual_BiasAdd = _graph.node(id_post_residual_BiasAdd);
1218 node_post_residual_BiasAdd->set_common_node_parameters(NodeParams{ "post_residual_BiasAdd", target });
1219 _graph.add_connection(id_add_15, 0, id_post_residual_BiasAdd, 0);
1220 _graph.add_connection(id_post_residual_FakeQuantWithMinMaxVars, 0, id_post_residual_BiasAdd, 1);
1221 _graph.add_connection(id_post_residual_Conv2D_bias, 0, id_post_residual_BiasAdd, 2);
1222
1223 NodeID id_add_16 = _graph.add_node<EltwiseLayerNode>(
Sang-Hoon Park797b76b2020-03-11 23:21:14 +00001224 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Add, QuantizationInfo{ 0.0065071373246610165, 89 } });
Sang-Hoon Park68001172020-03-06 16:32:01 +00001225 INode *node_add_16 = _graph.node(id_add_16);
1226 node_add_16->set_common_node_parameters(NodeParams{ "add_16", target });
1227 _graph.add_connection(id_post_residual_BiasAdd, 0, id_add_16, 0);
1228 _graph.add_connection(id_pre_residual_BiasAdd, 0, id_add_16, 1);
1229
1230 NodeID id_pre_upscale_BiasAdd = _graph.add_node<ConvolutionLayerNode>(
1231 PadStrideInfo
1232 {
1233 1, 1,
1234 1, 1,
1235 1, 1,
1236 DimensionRoundingType::FLOOR },
1237 1,
1238 arm_compute::graph::ConvolutionMethod::Default,
1239 FastMathHint::Disabled,
1240 QuantizationInfo(0.005013593938201666, 26));
1241 INode *node_pre_upscale_BiasAdd = _graph.node(id_pre_upscale_BiasAdd);
1242 node_pre_upscale_BiasAdd->set_common_node_parameters(NodeParams{ "pre_upscale_BiasAdd", target });
1243 _graph.add_connection(id_add_16, 0, id_pre_upscale_BiasAdd, 0);
1244 _graph.add_connection(id_pre_upscale_FakeQuantWithMinMaxVars, 0, id_pre_upscale_BiasAdd, 1);
1245 _graph.add_connection(id_pre_upscale_Conv2D_bias, 0, id_pre_upscale_BiasAdd, 2);
1246
1247 NodeID id_upscale_net_FakeQuantWithMinMaxVars_1 = _graph.add_node<DeconvolutionLayerNode>(
Sang-Hoon Park104fbd72020-03-13 11:31:53 +00001248 descriptors::DeconvolutionLayerDescriptor
Sang-Hoon Park68001172020-03-06 16:32:01 +00001249 {
Sang-Hoon Park104fbd72020-03-13 11:31:53 +00001250 PadStrideInfo{
1251 2, 2,
1252 0, 0,
1253 0, 0,
1254 DimensionRoundingType::FLOOR },
1255 QuantizationInfo{ 0.004990961868315935, 26 } });
Sang-Hoon Park68001172020-03-06 16:32:01 +00001256 INode *node_upscale_net_FakeQuantWithMinMaxVars_1 = _graph.node(id_upscale_net_FakeQuantWithMinMaxVars_1);
1257 node_upscale_net_FakeQuantWithMinMaxVars_1->set_common_node_parameters(NodeParams{ "upscale_net_FakeQuantWithMinMaxVars_1", target });
1258 _graph.add_connection(id_pre_upscale_BiasAdd, 0, id_upscale_net_FakeQuantWithMinMaxVars_1, 0);
1259 _graph.add_connection(id_upscale_net_FakeQuantWithMinMaxVars_transposed, 0, id_upscale_net_FakeQuantWithMinMaxVars_1, 1);
1260 TensorShape output_shape;
1261 output_shape.set(0, 3, false).set(1, 720, false).set(2, 1280, false).set(3, 1, false);
1262
1263 NodeID id_output_140211982446376 = _graph.add_node<OutputNode>();
1264 INode *node_output_140211982446376 = _graph.node(id_output_140211982446376);
1265 node_output_140211982446376->set_common_node_parameters(NodeParams{ "output_140211982446376", target });
1266 _graph.add_connection(id_upscale_net_FakeQuantWithMinMaxVars_1, 0, id_output_140211982446376, 0);
1267 node_output_140211982446376->input(0)->set_accessor(get_npy_output_accessor(expected_output_filename.value(), output_shape, common_params.data_type,
1268 common_params.data_layout));
1269
1270 return true;
1271 }
1272
1273 arm_compute::graph::Graph &graph()
1274 {
1275 return _graph;
1276 }
1277
1278private:
1279 arm_compute::graph::Graph _graph;
1280};
1281
1282#endif /* ARM_COMPUTE_GRAPH_EDSR_H */