blob: 72012afdcb3cc44a5037319e9843bcf34082181f [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
Sang-Hoon Park68001172020-03-06 16:32:01 +0000108 NodeID id_mul_15_y = _graph.add_node<ConstNode>(
109 TensorDescriptor
110 {
thecha01be058f42020-09-02 16:18:25 +0100111 TensorShape{ 1 },
Sang-Hoon Park68001172020-03-06 16:32:01 +0000112 DataType::QASYMM8,
113 QuantizationInfo(0.0003921568568330258),
114 DataLayout::NHWC });
115 INode *node_mul_15_y = _graph.node(id_mul_15_y);
116 node_mul_15_y->set_common_node_parameters(NodeParams{ "mul_15_y", target });
117 node_mul_15_y->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/mul_15_y.npy", DataLayout::NHWC));
118
119 NodeID id_block_15_1_Conv2D_bias = _graph.add_node<ConstNode>(
120 TensorDescriptor
121 {
122 TensorShape{ 256 },
123 DataType::S32,
124 QuantizationInfo(1.2441644230420934e-06),
125 DataLayout::NHWC });
126 INode *node_block_15_1_Conv2D_bias = _graph.node(id_block_15_1_Conv2D_bias);
127 node_block_15_1_Conv2D_bias->set_common_node_parameters(NodeParams{ "block_15_1_Conv2D_bias", target });
128 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));
129
130 NodeID id_block_15_1_FakeQuantWithMinMaxVars = _graph.add_node<ConstNode>(
131 TensorDescriptor
132 {
133 TensorShape{ 256, 3, 3, 256 },
134 DataType::QASYMM8,
135 QuantizationInfo(0.00037038681330159307, 125),
136 DataLayout::NHWC });
137 INode *node_block_15_1_FakeQuantWithMinMaxVars = _graph.node(id_block_15_1_FakeQuantWithMinMaxVars);
138 node_block_15_1_FakeQuantWithMinMaxVars->set_common_node_parameters(NodeParams{ "block_15_1_FakeQuantWithMinMaxVars", target });
139 node_block_15_1_FakeQuantWithMinMaxVars->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/block_15_1_FakeQuantWithMinMaxVars.npy",
140 DataLayout::NHWC));
141
142 NodeID id_mul_14_y = _graph.add_node<ConstNode>(
143 TensorDescriptor
144 {
thecha01be058f42020-09-02 16:18:25 +0100145 TensorShape{ 1 },
Sang-Hoon Park68001172020-03-06 16:32:01 +0000146 DataType::QASYMM8,
147 QuantizationInfo(0.0003921568568330258),
148 DataLayout::NHWC });
149 INode *node_mul_14_y = _graph.node(id_mul_14_y);
150 node_mul_14_y->set_common_node_parameters(NodeParams{ "mul_14_y", target });
151 node_mul_14_y->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/mul_14_y.npy", DataLayout::NHWC));
152
153 NodeID id_block_14_1_Conv2D_bias = _graph.add_node<ConstNode>(
154 TensorDescriptor
155 {
156 TensorShape{ 256 },
157 DataType::S32,
158 QuantizationInfo(1.3417260333881131e-06),
159 DataLayout::NHWC });
160 INode *node_block_14_1_Conv2D_bias = _graph.node(id_block_14_1_Conv2D_bias);
161 node_block_14_1_Conv2D_bias->set_common_node_parameters(NodeParams{ "block_14_1_Conv2D_bias", target });
162 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));
163
164 NodeID id_block_14_1_FakeQuantWithMinMaxVars = _graph.add_node<ConstNode>(
165 TensorDescriptor
166 {
167 TensorShape{ 256, 3, 3, 256 },
168 DataType::QASYMM8,
169 QuantizationInfo(0.00040307495510205626, 127),
170 DataLayout::NHWC });
171 INode *node_block_14_1_FakeQuantWithMinMaxVars = _graph.node(id_block_14_1_FakeQuantWithMinMaxVars);
172 node_block_14_1_FakeQuantWithMinMaxVars->set_common_node_parameters(NodeParams{ "block_14_1_FakeQuantWithMinMaxVars", target });
173 node_block_14_1_FakeQuantWithMinMaxVars->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/block_14_1_FakeQuantWithMinMaxVars.npy",
174 DataLayout::NHWC));
175
176 NodeID id_mul_13_y = _graph.add_node<ConstNode>(
177 TensorDescriptor
178 {
thecha01be058f42020-09-02 16:18:25 +0100179 TensorShape{ 1 },
Sang-Hoon Park68001172020-03-06 16:32:01 +0000180 DataType::QASYMM8,
181 QuantizationInfo(0.0003921568568330258),
182 DataLayout::NHWC });
183 INode *node_mul_13_y = _graph.node(id_mul_13_y);
184 node_mul_13_y->set_common_node_parameters(NodeParams{ "mul_13_y", target });
185 node_mul_13_y->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/mul_13_y.npy", DataLayout::NHWC));
186
187 NodeID id_block_13_1_Conv2D_bias = _graph.add_node<ConstNode>(
188 TensorDescriptor
189 {
190 TensorShape{ 256 },
191 DataType::S32,
192 QuantizationInfo(1.2636977544389083e-06),
193 DataLayout::NHWC });
194 INode *node_block_13_1_Conv2D_bias = _graph.node(id_block_13_1_Conv2D_bias);
195 node_block_13_1_Conv2D_bias->set_common_node_parameters(NodeParams{ "block_13_1_Conv2D_bias", target });
196 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));
197
198 NodeID id_block_13_1_FakeQuantWithMinMaxVars = _graph.add_node<ConstNode>(
199 TensorDescriptor
200 {
201 TensorShape{ 256, 3, 3, 256 },
202 DataType::QASYMM8,
203 QuantizationInfo(0.0003858553245663643, 131),
204 DataLayout::NHWC });
205 INode *node_block_13_1_FakeQuantWithMinMaxVars = _graph.node(id_block_13_1_FakeQuantWithMinMaxVars);
206 node_block_13_1_FakeQuantWithMinMaxVars->set_common_node_parameters(NodeParams{ "block_13_1_FakeQuantWithMinMaxVars", target });
207 node_block_13_1_FakeQuantWithMinMaxVars->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/block_13_1_FakeQuantWithMinMaxVars.npy",
208 DataLayout::NHWC));
209
210 NodeID id_mul_12_y = _graph.add_node<ConstNode>(
211 TensorDescriptor
212 {
thecha01be058f42020-09-02 16:18:25 +0100213 TensorShape{ 1 },
Sang-Hoon Park68001172020-03-06 16:32:01 +0000214 DataType::QASYMM8,
215 QuantizationInfo(0.0003921568568330258),
216 DataLayout::NHWC });
217 INode *node_mul_12_y = _graph.node(id_mul_12_y);
218 node_mul_12_y->set_common_node_parameters(NodeParams{ "mul_12_y", target });
219 node_mul_12_y->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/mul_12_y.npy", DataLayout::NHWC));
220
221 NodeID id_block_12_1_Conv2D_bias = _graph.add_node<ConstNode>(
222 TensorDescriptor
223 {
224 TensorShape{ 256 },
225 DataType::S32,
226 QuantizationInfo(1.3479783547154511e-06),
227 DataLayout::NHWC });
228 INode *node_block_12_1_Conv2D_bias = _graph.node(id_block_12_1_Conv2D_bias);
229 node_block_12_1_Conv2D_bias->set_common_node_parameters(NodeParams{ "block_12_1_Conv2D_bias", target });
230 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));
231
232 NodeID id_block_12_1_FakeQuantWithMinMaxVars = _graph.add_node<ConstNode>(
233 TensorDescriptor
234 {
235 TensorShape{ 256, 3, 3, 256 },
236 DataType::QASYMM8,
237 QuantizationInfo(0.00041212860378436744, 130),
238 DataLayout::NHWC });
239 INode *node_block_12_1_FakeQuantWithMinMaxVars = _graph.node(id_block_12_1_FakeQuantWithMinMaxVars);
240 node_block_12_1_FakeQuantWithMinMaxVars->set_common_node_parameters(NodeParams{ "block_12_1_FakeQuantWithMinMaxVars", target });
241 node_block_12_1_FakeQuantWithMinMaxVars->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/block_12_1_FakeQuantWithMinMaxVars.npy",
242 DataLayout::NHWC));
243
244 NodeID id_mul_11_y = _graph.add_node<ConstNode>(
245 TensorDescriptor
246 {
thecha01be058f42020-09-02 16:18:25 +0100247 TensorShape{ 1 },
Sang-Hoon Park68001172020-03-06 16:32:01 +0000248 DataType::QASYMM8,
249 QuantizationInfo(0.0003921568568330258),
250 DataLayout::NHWC });
251 INode *node_mul_11_y = _graph.node(id_mul_11_y);
252 node_mul_11_y->set_common_node_parameters(NodeParams{ "mul_11_y", target });
253 node_mul_11_y->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/mul_11_y.npy", DataLayout::NHWC));
254
255 NodeID id_block_11_1_Conv2D_bias = _graph.add_node<ConstNode>(
256 TensorDescriptor
257 {
258 TensorShape{ 256 },
259 DataType::S32,
260 QuantizationInfo(1.2847248171965475e-06),
261 DataLayout::NHWC });
262 INode *node_block_11_1_Conv2D_bias = _graph.node(id_block_11_1_Conv2D_bias);
263 node_block_11_1_Conv2D_bias->set_common_node_parameters(NodeParams{ "block_11_1_Conv2D_bias", target });
264 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));
265
266 NodeID id_block_11_1_FakeQuantWithMinMaxVars = _graph.add_node<ConstNode>(
267 TensorDescriptor
268 {
269 TensorShape{ 256, 3, 3, 256 },
270 DataType::QASYMM8,
271 QuantizationInfo(0.00040296532097272575, 131),
272 DataLayout::NHWC });
273 INode *node_block_11_1_FakeQuantWithMinMaxVars = _graph.node(id_block_11_1_FakeQuantWithMinMaxVars);
274 node_block_11_1_FakeQuantWithMinMaxVars->set_common_node_parameters(NodeParams{ "block_11_1_FakeQuantWithMinMaxVars", target });
275 node_block_11_1_FakeQuantWithMinMaxVars->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/block_11_1_FakeQuantWithMinMaxVars.npy",
276 DataLayout::NHWC));
277
278 NodeID id_mul_10_y = _graph.add_node<ConstNode>(
279 TensorDescriptor
280 {
thecha01be058f42020-09-02 16:18:25 +0100281 TensorShape{ 1 },
Sang-Hoon Park68001172020-03-06 16:32:01 +0000282 DataType::QASYMM8,
283 QuantizationInfo(0.0003921568568330258),
284 DataLayout::NHWC });
285 INode *node_mul_10_y = _graph.node(id_mul_10_y);
286 node_mul_10_y->set_common_node_parameters(NodeParams{ "mul_10_y", target });
287 node_mul_10_y->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/mul_10_y.npy", DataLayout::NHWC));
288
289 NodeID id_block_10_1_Conv2D_bias = _graph.add_node<ConstNode>(
290 TensorDescriptor
291 {
292 TensorShape{ 256 },
293 DataType::S32,
294 QuantizationInfo(1.1997129831797793e-06),
295 DataLayout::NHWC });
296 INode *node_block_10_1_Conv2D_bias = _graph.node(id_block_10_1_Conv2D_bias);
297 node_block_10_1_Conv2D_bias->set_common_node_parameters(NodeParams{ "block_10_1_Conv2D_bias", target });
298 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));
299
300 NodeID id_block_10_1_FakeQuantWithMinMaxVars = _graph.add_node<ConstNode>(
301 TensorDescriptor
302 {
303 TensorShape{ 256, 3, 3, 256 },
304 DataType::QASYMM8,
305 QuantizationInfo(0.00036640543839894235, 129),
306 DataLayout::NHWC });
307 INode *node_block_10_1_FakeQuantWithMinMaxVars = _graph.node(id_block_10_1_FakeQuantWithMinMaxVars);
308 node_block_10_1_FakeQuantWithMinMaxVars->set_common_node_parameters(NodeParams{ "block_10_1_FakeQuantWithMinMaxVars", target });
309 node_block_10_1_FakeQuantWithMinMaxVars->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/block_10_1_FakeQuantWithMinMaxVars.npy",
310 DataLayout::NHWC));
311
312 NodeID id_mul_9_y = _graph.add_node<ConstNode>(
313 TensorDescriptor
314 {
thecha01be058f42020-09-02 16:18:25 +0100315 TensorShape{ 1 },
Sang-Hoon Park68001172020-03-06 16:32:01 +0000316 DataType::QASYMM8,
317 QuantizationInfo(0.0003921568568330258),
318 DataLayout::NHWC });
319 INode *node_mul_9_y = _graph.node(id_mul_9_y);
320 node_mul_9_y->set_common_node_parameters(NodeParams{ "mul_9_y", target });
321 node_mul_9_y->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/mul_9_y.npy", DataLayout::NHWC));
322
323 NodeID id_block_9_1_Conv2D_bias = _graph.add_node<ConstNode>(
324 TensorDescriptor
325 {
326 TensorShape{ 256 },
327 DataType::S32,
328 QuantizationInfo(1.1920226370421005e-06),
329 DataLayout::NHWC });
330 INode *node_block_9_1_Conv2D_bias = _graph.node(id_block_9_1_Conv2D_bias);
331 node_block_9_1_Conv2D_bias->set_common_node_parameters(NodeParams{ "block_9_1_Conv2D_bias", target });
332 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));
333
334 NodeID id_block_9_1_FakeQuantWithMinMaxVars = _graph.add_node<ConstNode>(
335 TensorDescriptor
336 {
337 TensorShape{ 256, 3, 3, 256 },
338 DataType::QASYMM8,
339 QuantizationInfo(0.0003706997958943248, 129),
340 DataLayout::NHWC });
341 INode *node_block_9_1_FakeQuantWithMinMaxVars = _graph.node(id_block_9_1_FakeQuantWithMinMaxVars);
342 node_block_9_1_FakeQuantWithMinMaxVars->set_common_node_parameters(NodeParams{ "block_9_1_FakeQuantWithMinMaxVars", target });
343 node_block_9_1_FakeQuantWithMinMaxVars->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/block_9_1_FakeQuantWithMinMaxVars.npy",
344 DataLayout::NHWC));
345
346 NodeID id_mul_8_y = _graph.add_node<ConstNode>(
347 TensorDescriptor
348 {
thecha01be058f42020-09-02 16:18:25 +0100349 TensorShape{ 1 },
Sang-Hoon Park68001172020-03-06 16:32:01 +0000350 DataType::QASYMM8,
351 QuantizationInfo(0.0003921568568330258),
352 DataLayout::NHWC });
353 INode *node_mul_8_y = _graph.node(id_mul_8_y);
354 node_mul_8_y->set_common_node_parameters(NodeParams{ "mul_8_y", target });
355 node_mul_8_y->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/mul_8_y.npy", DataLayout::NHWC));
356
357 NodeID id_block_8_1_Conv2D_bias = _graph.add_node<ConstNode>(
358 TensorDescriptor
359 {
360 TensorShape{ 256 },
361 DataType::S32,
362 QuantizationInfo(1.218903321387188e-06),
363 DataLayout::NHWC });
364 INode *node_block_8_1_Conv2D_bias = _graph.node(id_block_8_1_Conv2D_bias);
365 node_block_8_1_Conv2D_bias->set_common_node_parameters(NodeParams{ "block_8_1_Conv2D_bias", target });
366 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));
367
368 NodeID id_block_8_1_FakeQuantWithMinMaxVars = _graph.add_node<ConstNode>(
369 TensorDescriptor
370 {
371 TensorShape{ 256, 3, 3, 256 },
372 DataType::QASYMM8,
373 QuantizationInfo(0.00038377835880964994, 127),
374 DataLayout::NHWC });
375 INode *node_block_8_1_FakeQuantWithMinMaxVars = _graph.node(id_block_8_1_FakeQuantWithMinMaxVars);
376 node_block_8_1_FakeQuantWithMinMaxVars->set_common_node_parameters(NodeParams{ "block_8_1_FakeQuantWithMinMaxVars", target });
377 node_block_8_1_FakeQuantWithMinMaxVars->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/block_8_1_FakeQuantWithMinMaxVars.npy",
378 DataLayout::NHWC));
379
380 NodeID id_mul_7_y = _graph.add_node<ConstNode>(
381 TensorDescriptor
382 {
thecha01be058f42020-09-02 16:18:25 +0100383 TensorShape{ 1 },
Sang-Hoon Park68001172020-03-06 16:32:01 +0000384 DataType::QASYMM8,
385 QuantizationInfo(0.0003921568568330258),
386 DataLayout::NHWC });
387 INode *node_mul_7_y = _graph.node(id_mul_7_y);
388 node_mul_7_y->set_common_node_parameters(NodeParams{ "mul_7_y", target });
389 node_mul_7_y->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/mul_7_y.npy", DataLayout::NHWC));
390
391 NodeID id_block_7_1_Conv2D_bias = _graph.add_node<ConstNode>(
392 TensorDescriptor
393 {
394 TensorShape{ 256 },
395 DataType::S32,
396 QuantizationInfo(1.257252392861119e-06),
397 DataLayout::NHWC });
398 INode *node_block_7_1_Conv2D_bias = _graph.node(id_block_7_1_Conv2D_bias);
399 node_block_7_1_Conv2D_bias->set_common_node_parameters(NodeParams{ "block_7_1_Conv2D_bias", target });
400 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));
401
402 NodeID id_block_7_1_FakeQuantWithMinMaxVars = _graph.add_node<ConstNode>(
403 TensorDescriptor
404 {
405 TensorShape{ 256, 3, 3, 256 },
406 DataType::QASYMM8,
407 QuantizationInfo(0.00039844686398282647, 129),
408 DataLayout::NHWC });
409 INode *node_block_7_1_FakeQuantWithMinMaxVars = _graph.node(id_block_7_1_FakeQuantWithMinMaxVars);
410 node_block_7_1_FakeQuantWithMinMaxVars->set_common_node_parameters(NodeParams{ "block_7_1_FakeQuantWithMinMaxVars", target });
411 node_block_7_1_FakeQuantWithMinMaxVars->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/block_7_1_FakeQuantWithMinMaxVars.npy",
412 DataLayout::NHWC));
413
414 NodeID id_mul_6_y = _graph.add_node<ConstNode>(
415 TensorDescriptor
416 {
thecha01be058f42020-09-02 16:18:25 +0100417 TensorShape{ 1 },
Sang-Hoon Park68001172020-03-06 16:32:01 +0000418 DataType::QASYMM8,
419 QuantizationInfo(0.0003921568568330258),
420 DataLayout::NHWC });
421 INode *node_mul_6_y = _graph.node(id_mul_6_y);
422 node_mul_6_y->set_common_node_parameters(NodeParams{ "mul_6_y", target });
423 node_mul_6_y->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/mul_6_y.npy", DataLayout::NHWC));
424
425 NodeID id_block_6_1_Conv2D_bias = _graph.add_node<ConstNode>(
426 TensorDescriptor
427 {
428 TensorShape{ 256 },
429 DataType::S32,
430 QuantizationInfo(1.244850636794581e-06),
431 DataLayout::NHWC });
432 INode *node_block_6_1_Conv2D_bias = _graph.node(id_block_6_1_Conv2D_bias);
433 node_block_6_1_Conv2D_bias->set_common_node_parameters(NodeParams{ "block_6_1_Conv2D_bias", target });
434 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));
435
436 NodeID id_block_6_1_FakeQuantWithMinMaxVars = _graph.add_node<ConstNode>(
437 TensorDescriptor
438 {
439 TensorShape{ 256, 3, 3, 256 },
440 DataType::QASYMM8,
441 QuantizationInfo(0.00040187727427110076, 132),
442 DataLayout::NHWC });
443 INode *node_block_6_1_FakeQuantWithMinMaxVars = _graph.node(id_block_6_1_FakeQuantWithMinMaxVars);
444 node_block_6_1_FakeQuantWithMinMaxVars->set_common_node_parameters(NodeParams{ "block_6_1_FakeQuantWithMinMaxVars", target });
445 node_block_6_1_FakeQuantWithMinMaxVars->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/block_6_1_FakeQuantWithMinMaxVars.npy",
446 DataLayout::NHWC));
447
448 NodeID id_mul_5_y = _graph.add_node<ConstNode>(
449 TensorDescriptor
450 {
thecha01be058f42020-09-02 16:18:25 +0100451 TensorShape{ 1 },
Sang-Hoon Park68001172020-03-06 16:32:01 +0000452 DataType::QASYMM8,
453 QuantizationInfo(0.0003921568568330258),
454 DataLayout::NHWC });
455 INode *node_mul_5_y = _graph.node(id_mul_5_y);
456 node_mul_5_y->set_common_node_parameters(NodeParams{ "mul_5_y", target });
457 node_mul_5_y->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/mul_5_y.npy", DataLayout::NHWC));
458
459 NodeID id_block_5_1_Conv2D_bias = _graph.add_node<ConstNode>(
460 TensorDescriptor
461 {
462 TensorShape{ 256 },
463 DataType::S32,
464 QuantizationInfo(1.241092718373693e-06),
465 DataLayout::NHWC });
466 INode *node_block_5_1_Conv2D_bias = _graph.node(id_block_5_1_Conv2D_bias);
467 node_block_5_1_Conv2D_bias->set_common_node_parameters(NodeParams{ "block_5_1_Conv2D_bias", target });
468 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));
469
470 NodeID id_block_5_1_FakeQuantWithMinMaxVars = _graph.add_node<ConstNode>(
471 TensorDescriptor
472 {
473 TensorShape{ 256, 3, 3, 256 },
474 DataType::QASYMM8,
475 QuantizationInfo(0.0003938926674891263, 129),
476 DataLayout::NHWC });
477 INode *node_block_5_1_FakeQuantWithMinMaxVars = _graph.node(id_block_5_1_FakeQuantWithMinMaxVars);
478 node_block_5_1_FakeQuantWithMinMaxVars->set_common_node_parameters(NodeParams{ "block_5_1_FakeQuantWithMinMaxVars", target });
479 node_block_5_1_FakeQuantWithMinMaxVars->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/block_5_1_FakeQuantWithMinMaxVars.npy",
480 DataLayout::NHWC));
481
482 NodeID id_mul_4_y = _graph.add_node<ConstNode>(
483 TensorDescriptor
484 {
thecha01be058f42020-09-02 16:18:25 +0100485 TensorShape{ 1 },
Sang-Hoon Park68001172020-03-06 16:32:01 +0000486 DataType::QASYMM8,
487 QuantizationInfo(0.0003921568568330258),
488 DataLayout::NHWC });
489 INode *node_mul_4_y = _graph.node(id_mul_4_y);
490 node_mul_4_y->set_common_node_parameters(NodeParams{ "mul_4_y", target });
491 node_mul_4_y->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/mul_4_y.npy", DataLayout::NHWC));
492
493 NodeID id_block_4_1_Conv2D_bias = _graph.add_node<ConstNode>(
494 TensorDescriptor
495 {
496 TensorShape{ 256 },
497 DataType::S32,
498 QuantizationInfo(1.1748390988941537e-06),
499 DataLayout::NHWC });
500 INode *node_block_4_1_Conv2D_bias = _graph.node(id_block_4_1_Conv2D_bias);
501 node_block_4_1_Conv2D_bias->set_common_node_parameters(NodeParams{ "block_4_1_Conv2D_bias", target });
502 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));
503
504 NodeID id_block_4_1_FakeQuantWithMinMaxVars = _graph.add_node<ConstNode>(
505 TensorDescriptor
506 {
507 TensorShape{ 256, 3, 3, 256 },
508 DataType::QASYMM8,
509 QuantizationInfo(0.0003788181929849088, 129),
510 DataLayout::NHWC });
511 INode *node_block_4_1_FakeQuantWithMinMaxVars = _graph.node(id_block_4_1_FakeQuantWithMinMaxVars);
512 node_block_4_1_FakeQuantWithMinMaxVars->set_common_node_parameters(NodeParams{ "block_4_1_FakeQuantWithMinMaxVars", target });
513 node_block_4_1_FakeQuantWithMinMaxVars->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/block_4_1_FakeQuantWithMinMaxVars.npy",
514 DataLayout::NHWC));
515
516 NodeID id_mul_3_y = _graph.add_node<ConstNode>(
517 TensorDescriptor
518 {
thecha01be058f42020-09-02 16:18:25 +0100519 TensorShape{ 1 },
Sang-Hoon Park68001172020-03-06 16:32:01 +0000520 DataType::QASYMM8,
521 QuantizationInfo(0.0003921568568330258),
522 DataLayout::NHWC });
523 INode *node_mul_3_y = _graph.node(id_mul_3_y);
524 node_mul_3_y->set_common_node_parameters(NodeParams{ "mul_3_y", target });
525 node_mul_3_y->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/mul_3_y.npy", DataLayout::NHWC));
526
527 NodeID id_block_3_1_Conv2D_bias = _graph.add_node<ConstNode>(
528 TensorDescriptor
529 {
530 TensorShape{ 256 },
531 DataType::S32,
532 QuantizationInfo(1.1937011095142225e-06),
533 DataLayout::NHWC });
534 INode *node_block_3_1_Conv2D_bias = _graph.node(id_block_3_1_Conv2D_bias);
535 node_block_3_1_Conv2D_bias->set_common_node_parameters(NodeParams{ "block_3_1_Conv2D_bias", target });
536 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));
537
538 NodeID id_block_3_1_FakeQuantWithMinMaxVars = _graph.add_node<ConstNode>(
539 TensorDescriptor
540 {
541 TensorShape{ 256, 3, 3, 256 },
542 DataType::QASYMM8,
543 QuantizationInfo(0.0003944312920793891, 129),
544 DataLayout::NHWC });
545 INode *node_block_3_1_FakeQuantWithMinMaxVars = _graph.node(id_block_3_1_FakeQuantWithMinMaxVars);
546 node_block_3_1_FakeQuantWithMinMaxVars->set_common_node_parameters(NodeParams{ "block_3_1_FakeQuantWithMinMaxVars", target });
547 node_block_3_1_FakeQuantWithMinMaxVars->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/block_3_1_FakeQuantWithMinMaxVars.npy",
548 DataLayout::NHWC));
549
550 NodeID id_mul_2_y = _graph.add_node<ConstNode>(
551 TensorDescriptor
552 {
thecha01be058f42020-09-02 16:18:25 +0100553 TensorShape{ 1 },
Sang-Hoon Park68001172020-03-06 16:32:01 +0000554 DataType::QASYMM8,
555 QuantizationInfo(0.0003921568568330258),
556 DataLayout::NHWC });
557 INode *node_mul_2_y = _graph.node(id_mul_2_y);
558 node_mul_2_y->set_common_node_parameters(NodeParams{ "mul_2_y", target });
559 node_mul_2_y->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/mul_2_y.npy", DataLayout::NHWC));
560
561 NodeID id_block_2_1_Conv2D_bias = _graph.add_node<ConstNode>(
562 TensorDescriptor
563 {
564 TensorShape{ 256 },
565 DataType::S32,
566 QuantizationInfo(1.1634580232566805e-06),
567 DataLayout::NHWC });
568 INode *node_block_2_1_Conv2D_bias = _graph.node(id_block_2_1_Conv2D_bias);
569 node_block_2_1_Conv2D_bias->set_common_node_parameters(NodeParams{ "block_2_1_Conv2D_bias", target });
570 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));
571
572 NodeID id_block_2_1_FakeQuantWithMinMaxVars = _graph.add_node<ConstNode>(
573 TensorDescriptor
574 {
575 TensorShape{ 256, 3, 3, 256 },
576 DataType::QASYMM8,
577 QuantizationInfo(0.0003789655165746808, 132),
578 DataLayout::NHWC });
579 INode *node_block_2_1_FakeQuantWithMinMaxVars = _graph.node(id_block_2_1_FakeQuantWithMinMaxVars);
580 node_block_2_1_FakeQuantWithMinMaxVars->set_common_node_parameters(NodeParams{ "block_2_1_FakeQuantWithMinMaxVars", target });
581 node_block_2_1_FakeQuantWithMinMaxVars->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/block_2_1_FakeQuantWithMinMaxVars.npy",
582 DataLayout::NHWC));
583
584 NodeID id_mul_1_y = _graph.add_node<ConstNode>(
585 TensorDescriptor
586 {
thecha01be058f42020-09-02 16:18:25 +0100587 TensorShape{ 1 },
Sang-Hoon Park68001172020-03-06 16:32:01 +0000588 DataType::QASYMM8,
589 QuantizationInfo(0.0003921568568330258),
590 DataLayout::NHWC });
591 INode *node_mul_1_y = _graph.node(id_mul_1_y);
592 node_mul_1_y->set_common_node_parameters(NodeParams{ "mul_1_y", target });
593 node_mul_1_y->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/mul_1_y.npy", DataLayout::NHWC));
594
595 NodeID id_block_1_1_Conv2D_bias = _graph.add_node<ConstNode>(
596 TensorDescriptor
597 {
598 TensorShape{ 256 },
599 DataType::S32,
600 QuantizationInfo(1.197920255435747e-06),
601 DataLayout::NHWC });
602 INode *node_block_1_1_Conv2D_bias = _graph.node(id_block_1_1_Conv2D_bias);
603 node_block_1_1_Conv2D_bias->set_common_node_parameters(NodeParams{ "block_1_1_Conv2D_bias", target });
604 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));
605
606 NodeID id_block_1_1_FakeQuantWithMinMaxVars = _graph.add_node<ConstNode>(
607 TensorDescriptor
608 {
609 TensorShape{ 256, 3, 3, 256 },
610 DataType::QASYMM8,
611 QuantizationInfo(0.00038527738070115447, 132),
612 DataLayout::NHWC });
613 INode *node_block_1_1_FakeQuantWithMinMaxVars = _graph.node(id_block_1_1_FakeQuantWithMinMaxVars);
614 node_block_1_1_FakeQuantWithMinMaxVars->set_common_node_parameters(NodeParams{ "block_1_1_FakeQuantWithMinMaxVars", target });
615 node_block_1_1_FakeQuantWithMinMaxVars->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/block_1_1_FakeQuantWithMinMaxVars.npy",
616 DataLayout::NHWC));
617
618 NodeID id_mul_y = _graph.add_node<ConstNode>(
619 TensorDescriptor
620 {
thecha01be058f42020-09-02 16:18:25 +0100621 TensorShape{ 1 },
Sang-Hoon Park68001172020-03-06 16:32:01 +0000622 DataType::QASYMM8,
623 QuantizationInfo(0.0003921568568330258),
624 DataLayout::NHWC });
625 INode *node_mul_y = _graph.node(id_mul_y);
626 node_mul_y->set_common_node_parameters(NodeParams{ "mul_y", target });
627 node_mul_y->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/mul_y.npy", DataLayout::NHWC));
628
629 NodeID id_block_0_1_Conv2D_bias = _graph.add_node<ConstNode>(
630 TensorDescriptor
631 {
632 TensorShape{ 256 },
633 DataType::S32,
634 QuantizationInfo(1.315485519626236e-06),
635 DataLayout::NHWC });
636 INode *node_block_0_1_Conv2D_bias = _graph.node(id_block_0_1_Conv2D_bias);
637 node_block_0_1_Conv2D_bias->set_common_node_parameters(NodeParams{ "block_0_1_Conv2D_bias", target });
638 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));
639
640 NodeID id_block_0_1_FakeQuantWithMinMaxVars = _graph.add_node<ConstNode>(
641 TensorDescriptor
642 {
643 TensorShape{ 256, 3, 3, 256 },
644 DataType::QASYMM8,
645 QuantizationInfo(0.00039420535904355347, 129),
646 DataLayout::NHWC });
647 INode *node_block_0_1_FakeQuantWithMinMaxVars = _graph.node(id_block_0_1_FakeQuantWithMinMaxVars);
648 node_block_0_1_FakeQuantWithMinMaxVars->set_common_node_parameters(NodeParams{ "block_0_1_FakeQuantWithMinMaxVars", target });
649 node_block_0_1_FakeQuantWithMinMaxVars->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/block_0_1_FakeQuantWithMinMaxVars.npy",
650 DataLayout::NHWC));
651
652 NodeID id_pre_residual_Conv2D_bias = _graph.add_node<ConstNode>(
653 TensorDescriptor
654 {
655 TensorShape{ 256 },
656 DataType::S32,
657 QuantizationInfo(1.7214160834555514e-06),
658 DataLayout::NHWC });
659 INode *node_pre_residual_Conv2D_bias = _graph.node(id_pre_residual_Conv2D_bias);
660 node_pre_residual_Conv2D_bias->set_common_node_parameters(NodeParams{ "pre_residual_Conv2D_bias", target });
661 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));
662
663 NodeID id_pre_residual_FakeQuantWithMinMaxVars = _graph.add_node<ConstNode>(
664 TensorDescriptor
665 {
666 TensorShape{ 3, 3, 3, 256 },
667 DataType::QASYMM8,
668 QuantizationInfo(0.0004389610840007663, 127),
669 DataLayout::NHWC });
670 INode *node_pre_residual_FakeQuantWithMinMaxVars = _graph.node(id_pre_residual_FakeQuantWithMinMaxVars);
671 node_pre_residual_FakeQuantWithMinMaxVars->set_common_node_parameters(NodeParams{ "pre_residual_FakeQuantWithMinMaxVars", target });
672 node_pre_residual_FakeQuantWithMinMaxVars->output(0)->set_accessor(get_weights_accessor(data_path, "/cnn_data/edsr_model/pre_residual_FakeQuantWithMinMaxVars.npy",
673 DataLayout::NHWC));
674
675 TensorShape input_shape{};
676 input_shape.set(0, 3, false).set(1, 360, false).set(2, 640, false).set(3, 1, false);
677
678 NodeID id_input = _graph.add_node<InputNode>(
679 TensorDescriptor
680 {
681 input_shape,
682 DataType::QASYMM8,
683 QuantizationInfo(0.003921568859368563),
684 DataLayout::NHWC });
685 INode *node_input = _graph.node(id_input);
686 node_input->set_common_node_parameters(NodeParams{ "input", target });
687 node_input->output(0)->set_accessor(get_input_accessor(common_params));
688
689 NodeID id_pre_residual_BiasAdd = _graph.add_node<ConvolutionLayerNode>(
690 PadStrideInfo
691 {
692 1, 1,
693 1, 1,
694 1, 1,
695 DimensionRoundingType::FLOOR },
696 1,
697 arm_compute::graph::ConvolutionMethod::Default,
698 FastMathHint::Disabled,
699 QuantizationInfo(0.0033370566088706255, 96));
700 INode *node_pre_residual_BiasAdd = _graph.node(id_pre_residual_BiasAdd);
701 node_pre_residual_BiasAdd->set_common_node_parameters(NodeParams{ "pre_residual_BiasAdd", target });
702 _graph.add_connection(id_input, 0, id_pre_residual_BiasAdd, 0);
703 _graph.add_connection(id_pre_residual_FakeQuantWithMinMaxVars, 0, id_pre_residual_BiasAdd, 1);
704 _graph.add_connection(id_pre_residual_Conv2D_bias, 0, id_pre_residual_BiasAdd, 2);
705
706 NodeID id_block_0_1_BiasAdd = _graph.add_node<ConvolutionLayerNode>(
707 PadStrideInfo
708 {
709 1, 1,
710 1, 1,
711 1, 1,
712 DimensionRoundingType::FLOOR },
713 1,
714 arm_compute::graph::ConvolutionMethod::Default,
715 FastMathHint::Disabled,
716 QuantizationInfo(0.007344874087721109, 185));
717 INode *node_block_0_1_BiasAdd = _graph.node(id_block_0_1_BiasAdd);
718 node_block_0_1_BiasAdd->set_common_node_parameters(NodeParams{ "block_0_1_BiasAdd", target });
719 _graph.add_connection(id_pre_residual_BiasAdd, 0, id_block_0_1_BiasAdd, 0);
720 _graph.add_connection(id_block_0_1_FakeQuantWithMinMaxVars, 0, id_block_0_1_BiasAdd, 1);
721 _graph.add_connection(id_block_0_1_Conv2D_bias, 0, id_block_0_1_BiasAdd, 2);
722
723 NodeID id_mul = _graph.add_node<EltwiseLayerNode>(
Sang-Hoon Park797b76b2020-03-11 23:21:14 +0000724 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Mul, QuantizationInfo{ 0.0006341293919831514, 174 } });
Sang-Hoon Park68001172020-03-06 16:32:01 +0000725 INode *node_mul = _graph.node(id_mul);
726 node_mul->set_common_node_parameters(NodeParams{ "mul", target });
727 _graph.add_connection(id_block_0_1_BiasAdd, 0, id_mul, 0);
728 _graph.add_connection(id_mul_y, 0, id_mul, 1);
729
730 NodeID id_add = _graph.add_node<EltwiseLayerNode>(
Sang-Hoon Park797b76b2020-03-11 23:21:14 +0000731 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Add, QuantizationInfo{ 0.0031092411372810602, 95 } });
Sang-Hoon Park68001172020-03-06 16:32:01 +0000732 INode *node_add = _graph.node(id_add);
733 node_add->set_common_node_parameters(NodeParams{ "add", target });
734 _graph.add_connection(id_pre_residual_BiasAdd, 0, id_add, 0);
735 _graph.add_connection(id_mul, 0, id_add, 1);
736
737 NodeID id_block_1_1_BiasAdd = _graph.add_node<ConvolutionLayerNode>(
738 PadStrideInfo
739 {
740 1, 1,
741 1, 1,
742 1, 1,
743 DimensionRoundingType::FLOOR },
744 1,
745 arm_compute::graph::ConvolutionMethod::Default,
746 FastMathHint::Disabled,
747 QuantizationInfo(0.005333727691322565, 117));
748 INode *node_block_1_1_BiasAdd = _graph.node(id_block_1_1_BiasAdd);
749 node_block_1_1_BiasAdd->set_common_node_parameters(NodeParams{ "block_1_1_BiasAdd", target });
750 _graph.add_connection(id_add, 0, id_block_1_1_BiasAdd, 0);
751 _graph.add_connection(id_block_1_1_FakeQuantWithMinMaxVars, 0, id_block_1_1_BiasAdd, 1);
752 _graph.add_connection(id_block_1_1_Conv2D_bias, 0, id_block_1_1_BiasAdd, 2);
753
754 NodeID id_mul_1 = _graph.add_node<EltwiseLayerNode>(
Sang-Hoon Park797b76b2020-03-11 23:21:14 +0000755 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Mul, QuantizationInfo{ 0.0004965941770933568, 122 } });
Sang-Hoon Park68001172020-03-06 16:32:01 +0000756 INode *node_mul_1 = _graph.node(id_mul_1);
757 node_mul_1->set_common_node_parameters(NodeParams{ "mul_1", target });
758 _graph.add_connection(id_block_1_1_BiasAdd, 0, id_mul_1, 0);
759 _graph.add_connection(id_mul_1_y, 0, id_mul_1, 1);
760
761 NodeID id_add_1 = _graph.add_node<EltwiseLayerNode>(
Sang-Hoon Park797b76b2020-03-11 23:21:14 +0000762 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Add, QuantizationInfo{ 0.0030700892675668, 96 } });
Sang-Hoon Park68001172020-03-06 16:32:01 +0000763 INode *node_add_1 = _graph.node(id_add_1);
764 node_add_1->set_common_node_parameters(NodeParams{ "add_1", target });
765 _graph.add_connection(id_add, 0, id_add_1, 0);
766 _graph.add_connection(id_mul_1, 0, id_add_1, 1);
767
768 NodeID id_block_2_1_BiasAdd = _graph.add_node<ConvolutionLayerNode>(
769 PadStrideInfo
770 {
771 1, 1,
772 1, 1,
773 1, 1,
774 DimensionRoundingType::FLOOR },
775 1,
776 arm_compute::graph::ConvolutionMethod::Default,
777 FastMathHint::Disabled,
778 QuantizationInfo(0.004199742339551449, 132));
779 INode *node_block_2_1_BiasAdd = _graph.node(id_block_2_1_BiasAdd);
780 node_block_2_1_BiasAdd->set_common_node_parameters(NodeParams{ "block_2_1_BiasAdd", target });
781 _graph.add_connection(id_add_1, 0, id_block_2_1_BiasAdd, 0);
782 _graph.add_connection(id_block_2_1_FakeQuantWithMinMaxVars, 0, id_block_2_1_BiasAdd, 1);
783 _graph.add_connection(id_block_2_1_Conv2D_bias, 0, id_block_2_1_BiasAdd, 2);
784
785 NodeID id_mul_2 = _graph.add_node<EltwiseLayerNode>(
Sang-Hoon Park797b76b2020-03-11 23:21:14 +0000786 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Mul, QuantizationInfo{ 0.0004133903712499887, 130 } });
Sang-Hoon Park68001172020-03-06 16:32:01 +0000787 INode *node_mul_2 = _graph.node(id_mul_2);
788 node_mul_2->set_common_node_parameters(NodeParams{ "mul_2", target });
789 _graph.add_connection(id_block_2_1_BiasAdd, 0, id_mul_2, 0);
790 _graph.add_connection(id_mul_2_y, 0, id_mul_2, 1);
791
792 NodeID id_add_2 = _graph.add_node<EltwiseLayerNode>(
Sang-Hoon Park797b76b2020-03-11 23:21:14 +0000793 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Add, QuantizationInfo{ 0.003026385325938463, 94 } });
Sang-Hoon Park68001172020-03-06 16:32:01 +0000794 INode *node_add_2 = _graph.node(id_add_2);
795 node_add_2->set_common_node_parameters(NodeParams{ "add_2", target });
796 _graph.add_connection(id_add_1, 0, id_add_2, 0);
797 _graph.add_connection(id_mul_2, 0, id_add_2, 1);
798
799 NodeID id_block_3_1_BiasAdd = _graph.add_node<ConvolutionLayerNode>(
800 PadStrideInfo
801 {
802 1, 1,
803 1, 1,
804 1, 1,
805 DimensionRoundingType::FLOOR },
806 1,
807 arm_compute::graph::ConvolutionMethod::Default,
808 FastMathHint::Disabled,
809 QuantizationInfo(0.003977528307586908, 142));
810 INode *node_block_3_1_BiasAdd = _graph.node(id_block_3_1_BiasAdd);
811 node_block_3_1_BiasAdd->set_common_node_parameters(NodeParams{ "block_3_1_BiasAdd", target });
812 _graph.add_connection(id_add_2, 0, id_block_3_1_BiasAdd, 0);
813 _graph.add_connection(id_block_3_1_FakeQuantWithMinMaxVars, 0, id_block_3_1_BiasAdd, 1);
814 _graph.add_connection(id_block_3_1_Conv2D_bias, 0, id_block_3_1_BiasAdd, 2);
815
816 NodeID id_mul_3 = _graph.add_node<EltwiseLayerNode>(
Sang-Hoon Park797b76b2020-03-11 23:21:14 +0000817 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Mul, QuantizationInfo{ 0.0003943995980080217, 141 } });
Sang-Hoon Park68001172020-03-06 16:32:01 +0000818 INode *node_mul_3 = _graph.node(id_mul_3);
819 node_mul_3->set_common_node_parameters(NodeParams{ "mul_3", target });
820 _graph.add_connection(id_block_3_1_BiasAdd, 0, id_mul_3, 0);
821 _graph.add_connection(id_mul_3_y, 0, id_mul_3, 1);
822
823 NodeID id_add_3 = _graph.add_node<EltwiseLayerNode>(
Sang-Hoon Park797b76b2020-03-11 23:21:14 +0000824 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Add, QuantizationInfo{ 0.003101327223703265, 98 } });
Sang-Hoon Park68001172020-03-06 16:32:01 +0000825 INode *node_add_3 = _graph.node(id_add_3);
826 node_add_3->set_common_node_parameters(NodeParams{ "add_3", target });
827 _graph.add_connection(id_add_2, 0, id_add_3, 0);
828 _graph.add_connection(id_mul_3, 0, id_add_3, 1);
829
830 NodeID id_block_4_1_BiasAdd = _graph.add_node<ConvolutionLayerNode>(
831 PadStrideInfo
832 {
833 1, 1,
834 1, 1,
835 1, 1,
836 DimensionRoundingType::FLOOR },
837 1,
838 arm_compute::graph::ConvolutionMethod::Default,
839 FastMathHint::Disabled,
840 QuantizationInfo(0.0045388080179691315, 146));
841 INode *node_block_4_1_BiasAdd = _graph.node(id_block_4_1_BiasAdd);
842 node_block_4_1_BiasAdd->set_common_node_parameters(NodeParams{ "block_4_1_BiasAdd", target });
843 _graph.add_connection(id_add_3, 0, id_block_4_1_BiasAdd, 0);
844 _graph.add_connection(id_block_4_1_FakeQuantWithMinMaxVars, 0, id_block_4_1_BiasAdd, 1);
845 _graph.add_connection(id_block_4_1_Conv2D_bias, 0, id_block_4_1_BiasAdd, 2);
846
847 NodeID id_mul_4 = _graph.add_node<EltwiseLayerNode>(
Sang-Hoon Park797b76b2020-03-11 23:21:14 +0000848 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Mul, QuantizationInfo{ 0.00044342130422592163, 143 } });
Sang-Hoon Park68001172020-03-06 16:32:01 +0000849 INode *node_mul_4 = _graph.node(id_mul_4);
850 node_mul_4->set_common_node_parameters(NodeParams{ "mul_4", target });
851 _graph.add_connection(id_block_4_1_BiasAdd, 0, id_mul_4, 0);
852 _graph.add_connection(id_mul_4_y, 0, id_mul_4, 1);
853
854 NodeID id_add_4 = _graph.add_node<EltwiseLayerNode>(
Sang-Hoon Park797b76b2020-03-11 23:21:14 +0000855 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Add, QuantizationInfo{ 0.003150839824229479, 98 } });
Sang-Hoon Park68001172020-03-06 16:32:01 +0000856 INode *node_add_4 = _graph.node(id_add_4);
857 node_add_4->set_common_node_parameters(NodeParams{ "add_4", target });
858 _graph.add_connection(id_add_3, 0, id_add_4, 0);
859 _graph.add_connection(id_mul_4, 0, id_add_4, 1);
860
861 NodeID id_block_5_1_BiasAdd = _graph.add_node<ConvolutionLayerNode>(
862 PadStrideInfo
863 {
864 1, 1,
865 1, 1,
866 1, 1,
867 DimensionRoundingType::FLOOR },
868 1,
869 arm_compute::graph::ConvolutionMethod::Default,
870 FastMathHint::Disabled,
871 QuantizationInfo(0.00402890844270587, 132));
872 INode *node_block_5_1_BiasAdd = _graph.node(id_block_5_1_BiasAdd);
873 node_block_5_1_BiasAdd->set_common_node_parameters(NodeParams{ "block_5_1_BiasAdd", target });
874 _graph.add_connection(id_add_4, 0, id_block_5_1_BiasAdd, 0);
875 _graph.add_connection(id_block_5_1_FakeQuantWithMinMaxVars, 0, id_block_5_1_BiasAdd, 1);
876 _graph.add_connection(id_block_5_1_Conv2D_bias, 0, id_block_5_1_BiasAdd, 2);
877
878 NodeID id_mul_5 = _graph.add_node<EltwiseLayerNode>(
Sang-Hoon Park797b76b2020-03-11 23:21:14 +0000879 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Mul, QuantizationInfo{ 0.0004023382789455354, 132 } });
Sang-Hoon Park68001172020-03-06 16:32:01 +0000880 INode *node_mul_5 = _graph.node(id_mul_5);
881 node_mul_5->set_common_node_parameters(NodeParams{ "mul_5", target });
882 _graph.add_connection(id_block_5_1_BiasAdd, 0, id_mul_5, 0);
883 _graph.add_connection(id_mul_5_y, 0, id_mul_5, 1);
884
885 NodeID id_add_5 = _graph.add_node<EltwiseLayerNode>(
Sang-Hoon Park797b76b2020-03-11 23:21:14 +0000886 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Add, QuantizationInfo{ 0.0030975888948887587, 94 } });
Sang-Hoon Park68001172020-03-06 16:32:01 +0000887 INode *node_add_5 = _graph.node(id_add_5);
888 node_add_5->set_common_node_parameters(NodeParams{ "add_5", target });
889 _graph.add_connection(id_add_4, 0, id_add_5, 0);
890 _graph.add_connection(id_mul_5, 0, id_add_5, 1);
891
892 NodeID id_block_6_1_BiasAdd = _graph.add_node<ConvolutionLayerNode>(
893 PadStrideInfo
894 {
895 1, 1,
896 1, 1,
897 1, 1,
898 DimensionRoundingType::FLOOR },
899 1,
900 arm_compute::graph::ConvolutionMethod::Default,
901 FastMathHint::Disabled,
902 QuantizationInfo(0.00421866774559021, 125));
903 INode *node_block_6_1_BiasAdd = _graph.node(id_block_6_1_BiasAdd);
904 node_block_6_1_BiasAdd->set_common_node_parameters(NodeParams{ "block_6_1_BiasAdd", target });
905 _graph.add_connection(id_add_5, 0, id_block_6_1_BiasAdd, 0);
906 _graph.add_connection(id_block_6_1_FakeQuantWithMinMaxVars, 0, id_block_6_1_BiasAdd, 1);
907 _graph.add_connection(id_block_6_1_Conv2D_bias, 0, id_block_6_1_BiasAdd, 2);
908
909 NodeID id_mul_6 = _graph.add_node<EltwiseLayerNode>(
Sang-Hoon Park797b76b2020-03-11 23:21:14 +0000910 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Mul, QuantizationInfo{ 0.00041950203012675047, 125 } });
Sang-Hoon Park68001172020-03-06 16:32:01 +0000911 INode *node_mul_6 = _graph.node(id_mul_6);
912 node_mul_6->set_common_node_parameters(NodeParams{ "mul_6", target });
913 _graph.add_connection(id_block_6_1_BiasAdd, 0, id_mul_6, 0);
914 _graph.add_connection(id_mul_6_y, 0, id_mul_6, 1);
915
916 NodeID id_add_6 = _graph.add_node<EltwiseLayerNode>(
Sang-Hoon Park797b76b2020-03-11 23:21:14 +0000917 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Add, QuantizationInfo{ 0.003155382815748453, 92 } });
Sang-Hoon Park68001172020-03-06 16:32:01 +0000918 INode *node_add_6 = _graph.node(id_add_6);
919 node_add_6->set_common_node_parameters(NodeParams{ "add_6", target });
920 _graph.add_connection(id_add_5, 0, id_add_6, 0);
921 _graph.add_connection(id_mul_6, 0, id_add_6, 1);
922
923 NodeID id_block_7_1_BiasAdd = _graph.add_node<ConvolutionLayerNode>(
924 PadStrideInfo
925 {
926 1, 1,
927 1, 1,
928 1, 1,
929 DimensionRoundingType::FLOOR },
930 1,
931 arm_compute::graph::ConvolutionMethod::Default,
932 FastMathHint::Disabled,
933 QuantizationInfo(0.004250136204063892, 143));
934 INode *node_block_7_1_BiasAdd = _graph.node(id_block_7_1_BiasAdd);
935 node_block_7_1_BiasAdd->set_common_node_parameters(NodeParams{ "block_7_1_BiasAdd", target });
936 _graph.add_connection(id_add_6, 0, id_block_7_1_BiasAdd, 0);
937 _graph.add_connection(id_block_7_1_FakeQuantWithMinMaxVars, 0, id_block_7_1_BiasAdd, 1);
938 _graph.add_connection(id_block_7_1_Conv2D_bias, 0, id_block_7_1_BiasAdd, 2);
939
940 NodeID id_mul_7 = _graph.add_node<EltwiseLayerNode>(
Sang-Hoon Park797b76b2020-03-11 23:21:14 +0000941 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Mul, QuantizationInfo{ 0.00042401350219734013, 142 } });
Sang-Hoon Park68001172020-03-06 16:32:01 +0000942 INode *node_mul_7 = _graph.node(id_mul_7);
943 node_mul_7->set_common_node_parameters(NodeParams{ "mul_7", target });
944 _graph.add_connection(id_block_7_1_BiasAdd, 0, id_mul_7, 0);
945 _graph.add_connection(id_mul_7_y, 0, id_mul_7, 1);
946
947 NodeID id_add_7 = _graph.add_node<EltwiseLayerNode>(
Sang-Hoon Park797b76b2020-03-11 23:21:14 +0000948 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Add, QuantizationInfo{ 0.0031760605052113533, 86 } });
Sang-Hoon Park68001172020-03-06 16:32:01 +0000949 INode *node_add_7 = _graph.node(id_add_7);
950 node_add_7->set_common_node_parameters(NodeParams{ "add_7", target });
951 _graph.add_connection(id_add_6, 0, id_add_7, 0);
952 _graph.add_connection(id_mul_7, 0, id_add_7, 1);
953
954 NodeID id_block_8_1_BiasAdd = _graph.add_node<ConvolutionLayerNode>(
955 PadStrideInfo
956 {
957 1, 1,
958 1, 1,
959 1, 1,
960 DimensionRoundingType::FLOOR },
961 1,
962 arm_compute::graph::ConvolutionMethod::Default,
963 FastMathHint::Disabled,
964 QuantizationInfo(0.004277155734598637, 123));
965 INode *node_block_8_1_BiasAdd = _graph.node(id_block_8_1_BiasAdd);
966 node_block_8_1_BiasAdd->set_common_node_parameters(NodeParams{ "block_8_1_BiasAdd", target });
967 _graph.add_connection(id_add_7, 0, id_block_8_1_BiasAdd, 0);
968 _graph.add_connection(id_block_8_1_FakeQuantWithMinMaxVars, 0, id_block_8_1_BiasAdd, 1);
969 _graph.add_connection(id_block_8_1_Conv2D_bias, 0, id_block_8_1_BiasAdd, 2);
970
971 NodeID id_mul_8 = _graph.add_node<EltwiseLayerNode>(
Sang-Hoon Park797b76b2020-03-11 23:21:14 +0000972 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Mul, QuantizationInfo{ 0.00042673019925132394, 123 } });
Sang-Hoon Park68001172020-03-06 16:32:01 +0000973 INode *node_mul_8 = _graph.node(id_mul_8);
974 node_mul_8->set_common_node_parameters(NodeParams{ "mul_8", target });
975 _graph.add_connection(id_block_8_1_BiasAdd, 0, id_mul_8, 0);
976 _graph.add_connection(id_mul_8_y, 0, id_mul_8, 1);
977
978 NodeID id_add_8 = _graph.add_node<EltwiseLayerNode>(
Sang-Hoon Park797b76b2020-03-11 23:21:14 +0000979 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Add, QuantizationInfo{ 0.0032156009692698717, 86 } });
Sang-Hoon Park68001172020-03-06 16:32:01 +0000980 INode *node_add_8 = _graph.node(id_add_8);
981 node_add_8->set_common_node_parameters(NodeParams{ "add_8", target });
982 _graph.add_connection(id_add_7, 0, id_add_8, 0);
983 _graph.add_connection(id_mul_8, 0, id_add_8, 1);
984
985 NodeID id_block_9_1_BiasAdd = _graph.add_node<ConvolutionLayerNode>(
986 PadStrideInfo
987 {
988 1, 1,
989 1, 1,
990 1, 1,
991 DimensionRoundingType::FLOOR },
992 1,
993 arm_compute::graph::ConvolutionMethod::Default,
994 FastMathHint::Disabled,
995 QuantizationInfo(0.00445037754252553, 129));
996 INode *node_block_9_1_BiasAdd = _graph.node(id_block_9_1_BiasAdd);
997 node_block_9_1_BiasAdd->set_common_node_parameters(NodeParams{ "block_9_1_BiasAdd", target });
998 _graph.add_connection(id_add_8, 0, id_block_9_1_BiasAdd, 0);
999 _graph.add_connection(id_block_9_1_FakeQuantWithMinMaxVars, 0, id_block_9_1_BiasAdd, 1);
1000 _graph.add_connection(id_block_9_1_Conv2D_bias, 0, id_block_9_1_BiasAdd, 2);
1001
1002 NodeID id_mul_9 = _graph.add_node<EltwiseLayerNode>(
Sang-Hoon Park797b76b2020-03-11 23:21:14 +00001003 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Mul, QuantizationInfo{ 0.0004448975087143481, 129 } });
Sang-Hoon Park68001172020-03-06 16:32:01 +00001004 INode *node_mul_9 = _graph.node(id_mul_9);
1005 node_mul_9->set_common_node_parameters(NodeParams{ "mul_9", target });
1006 _graph.add_connection(id_block_9_1_BiasAdd, 0, id_mul_9, 0);
1007 _graph.add_connection(id_mul_9_y, 0, id_mul_9, 1);
1008
1009 NodeID id_add_9 = _graph.add_node<EltwiseLayerNode>(
Sang-Hoon Park797b76b2020-03-11 23:21:14 +00001010 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Add, QuantizationInfo{ 0.0032742770854383707, 80 } });
Sang-Hoon Park68001172020-03-06 16:32:01 +00001011 INode *node_add_9 = _graph.node(id_add_9);
1012 node_add_9->set_common_node_parameters(NodeParams{ "add_9", target });
1013 _graph.add_connection(id_add_8, 0, id_add_9, 0);
1014 _graph.add_connection(id_mul_9, 0, id_add_9, 1);
1015
1016 NodeID id_block_10_1_BiasAdd = _graph.add_node<ConvolutionLayerNode>(
1017 PadStrideInfo
1018 {
1019 1, 1,
1020 1, 1,
1021 1, 1,
1022 DimensionRoundingType::FLOOR },
1023 1,
1024 arm_compute::graph::ConvolutionMethod::Default,
1025 FastMathHint::Disabled,
1026 QuantizationInfo(0.003614710411056876, 131));
1027 INode *node_block_10_1_BiasAdd = _graph.node(id_block_10_1_BiasAdd);
1028 node_block_10_1_BiasAdd->set_common_node_parameters(NodeParams{ "block_10_1_BiasAdd", target });
1029 _graph.add_connection(id_add_9, 0, id_block_10_1_BiasAdd, 0);
1030 _graph.add_connection(id_block_10_1_FakeQuantWithMinMaxVars, 0, id_block_10_1_BiasAdd, 1);
1031 _graph.add_connection(id_block_10_1_Conv2D_bias, 0, id_block_10_1_BiasAdd, 2);
1032
1033 NodeID id_mul_10 = _graph.add_node<EltwiseLayerNode>(
Sang-Hoon Park797b76b2020-03-11 23:21:14 +00001034 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Mul, QuantizationInfo{ 0.00036083892337046564, 130 } });
Sang-Hoon Park68001172020-03-06 16:32:01 +00001035 INode *node_mul_10 = _graph.node(id_mul_10);
1036 node_mul_10->set_common_node_parameters(NodeParams{ "mul_10", target });
1037 _graph.add_connection(id_block_10_1_BiasAdd, 0, id_mul_10, 0);
1038 _graph.add_connection(id_mul_10_y, 0, id_mul_10, 1);
1039
1040 NodeID id_add_10 = _graph.add_node<EltwiseLayerNode>(
Sang-Hoon Park797b76b2020-03-11 23:21:14 +00001041 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Add, QuantizationInfo{ 0.0031881770119071007, 81 } });
Sang-Hoon Park68001172020-03-06 16:32:01 +00001042 INode *node_add_10 = _graph.node(id_add_10);
1043 node_add_10->set_common_node_parameters(NodeParams{ "add_10", target });
1044 _graph.add_connection(id_add_9, 0, id_add_10, 0);
1045 _graph.add_connection(id_mul_10, 0, id_add_10, 1);
1046
1047 NodeID id_block_11_1_BiasAdd = _graph.add_node<ConvolutionLayerNode>(
1048 PadStrideInfo
1049 {
1050 1, 1,
1051 1, 1,
1052 1, 1,
1053 DimensionRoundingType::FLOOR },
1054 1,
1055 arm_compute::graph::ConvolutionMethod::Default,
1056 FastMathHint::Disabled,
1057 QuantizationInfo(0.003969002980738878, 133));
1058 INode *node_block_11_1_BiasAdd = _graph.node(id_block_11_1_BiasAdd);
1059 node_block_11_1_BiasAdd->set_common_node_parameters(NodeParams{ "block_11_1_BiasAdd", target });
1060 _graph.add_connection(id_add_10, 0, id_block_11_1_BiasAdd, 0);
1061 _graph.add_connection(id_block_11_1_FakeQuantWithMinMaxVars, 0, id_block_11_1_BiasAdd, 1);
1062 _graph.add_connection(id_block_11_1_Conv2D_bias, 0, id_block_11_1_BiasAdd, 2);
1063
1064 NodeID id_mul_11 = _graph.add_node<EltwiseLayerNode>(
Sang-Hoon Park797b76b2020-03-11 23:21:14 +00001065 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Mul, QuantizationInfo{ 0.0003968806122429669, 133 } });
Sang-Hoon Park68001172020-03-06 16:32:01 +00001066 INode *node_mul_11 = _graph.node(id_mul_11);
1067 node_mul_11->set_common_node_parameters(NodeParams{ "mul_11", target });
1068 _graph.add_connection(id_block_11_1_BiasAdd, 0, id_mul_11, 0);
1069 _graph.add_connection(id_mul_11_y, 0, id_mul_11, 1);
1070
1071 NodeID id_add_11 = _graph.add_node<EltwiseLayerNode>(
Sang-Hoon Park797b76b2020-03-11 23:21:14 +00001072 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Add, QuantizationInfo{ 0.0032707711216062307, 80 } });
Sang-Hoon Park68001172020-03-06 16:32:01 +00001073 INode *node_add_11 = _graph.node(id_add_11);
1074 node_add_11->set_common_node_parameters(NodeParams{ "add_11", target });
1075 _graph.add_connection(id_add_10, 0, id_add_11, 0);
1076 _graph.add_connection(id_mul_11, 0, id_add_11, 1);
1077
1078 NodeID id_block_12_1_BiasAdd = _graph.add_node<ConvolutionLayerNode>(
1079 PadStrideInfo
1080 {
1081 1, 1,
1082 1, 1,
1083 1, 1,
1084 DimensionRoundingType::FLOOR },
1085 1,
1086 arm_compute::graph::ConvolutionMethod::Default,
1087 FastMathHint::Disabled,
1088 QuantizationInfo(0.004366801120340824, 110));
1089 INode *node_block_12_1_BiasAdd = _graph.node(id_block_12_1_BiasAdd);
1090 node_block_12_1_BiasAdd->set_common_node_parameters(NodeParams{ "block_12_1_BiasAdd", target });
1091 _graph.add_connection(id_add_11, 0, id_block_12_1_BiasAdd, 0);
1092 _graph.add_connection(id_block_12_1_FakeQuantWithMinMaxVars, 0, id_block_12_1_BiasAdd, 1);
1093 _graph.add_connection(id_block_12_1_Conv2D_bias, 0, id_block_12_1_BiasAdd, 2);
1094
1095 NodeID id_mul_12 = _graph.add_node<EltwiseLayerNode>(
Sang-Hoon Park797b76b2020-03-11 23:21:14 +00001096 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Mul, QuantizationInfo{ 0.0004365936329122633, 110 } });
Sang-Hoon Park68001172020-03-06 16:32:01 +00001097 INode *node_mul_12 = _graph.node(id_mul_12);
1098 node_mul_12->set_common_node_parameters(NodeParams{ "mul_12", target });
1099 _graph.add_connection(id_block_12_1_BiasAdd, 0, id_mul_12, 0);
1100 _graph.add_connection(id_mul_12_y, 0, id_mul_12, 1);
1101
1102 NodeID id_add_12 = _graph.add_node<EltwiseLayerNode>(
Sang-Hoon Park797b76b2020-03-11 23:21:14 +00001103 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Add, QuantizationInfo{ 0.003275055903941393, 79 } });
Sang-Hoon Park68001172020-03-06 16:32:01 +00001104 INode *node_add_12 = _graph.node(id_add_12);
1105 node_add_12->set_common_node_parameters(NodeParams{ "add_12", target });
1106 _graph.add_connection(id_add_11, 0, id_add_12, 0);
1107 _graph.add_connection(id_mul_12, 0, id_add_12, 1);
1108
1109 NodeID id_block_13_1_BiasAdd = _graph.add_node<ConvolutionLayerNode>(
1110 PadStrideInfo
1111 {
1112 1, 1,
1113 1, 1,
1114 1, 1,
1115 DimensionRoundingType::FLOOR },
1116 1,
1117 arm_compute::graph::ConvolutionMethod::Default,
1118 FastMathHint::Disabled,
1119 QuantizationInfo(0.004386766813695431, 139));
1120 INode *node_block_13_1_BiasAdd = _graph.node(id_block_13_1_BiasAdd);
1121 node_block_13_1_BiasAdd->set_common_node_parameters(NodeParams{ "block_13_1_BiasAdd", target });
1122 _graph.add_connection(id_add_12, 0, id_block_13_1_BiasAdd, 0);
1123 _graph.add_connection(id_block_13_1_FakeQuantWithMinMaxVars, 0, id_block_13_1_BiasAdd, 1);
1124 _graph.add_connection(id_block_13_1_Conv2D_bias, 0, id_block_13_1_BiasAdd, 2);
1125
1126 NodeID id_mul_13 = _graph.add_node<EltwiseLayerNode>(
Sang-Hoon Park797b76b2020-03-11 23:21:14 +00001127 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Mul, QuantizationInfo{ 0.0004385628562886268, 139 } });
Sang-Hoon Park68001172020-03-06 16:32:01 +00001128 INode *node_mul_13 = _graph.node(id_mul_13);
1129 node_mul_13->set_common_node_parameters(NodeParams{ "mul_13", target });
1130 _graph.add_connection(id_block_13_1_BiasAdd, 0, id_mul_13, 0);
1131 _graph.add_connection(id_mul_13_y, 0, id_mul_13, 1);
1132
1133 NodeID id_add_13 = _graph.add_node<EltwiseLayerNode>(
Sang-Hoon Park797b76b2020-03-11 23:21:14 +00001134 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Add, QuantizationInfo{ 0.0033287261612713337, 78 } });
Sang-Hoon Park68001172020-03-06 16:32:01 +00001135 INode *node_add_13 = _graph.node(id_add_13);
1136 node_add_13->set_common_node_parameters(NodeParams{ "add_13", target });
1137 _graph.add_connection(id_add_12, 0, id_add_13, 0);
1138 _graph.add_connection(id_mul_13, 0, id_add_13, 1);
1139
1140 NodeID id_block_14_1_BiasAdd = _graph.add_node<ConvolutionLayerNode>(
1141 PadStrideInfo
1142 {
1143 1, 1,
1144 1, 1,
1145 1, 1,
1146 DimensionRoundingType::FLOOR },
1147 1,
1148 arm_compute::graph::ConvolutionMethod::Default,
1149 FastMathHint::Disabled,
1150 QuantizationInfo(0.0038069337606430054, 130));
1151 INode *node_block_14_1_BiasAdd = _graph.node(id_block_14_1_BiasAdd);
1152 node_block_14_1_BiasAdd->set_common_node_parameters(NodeParams{ "block_14_1_BiasAdd", target });
1153 _graph.add_connection(id_add_13, 0, id_block_14_1_BiasAdd, 0);
1154 _graph.add_connection(id_block_14_1_FakeQuantWithMinMaxVars, 0, id_block_14_1_BiasAdd, 1);
1155 _graph.add_connection(id_block_14_1_Conv2D_bias, 0, id_block_14_1_BiasAdd, 2);
1156
1157 NodeID id_mul_14 = _graph.add_node<EltwiseLayerNode>(
Sang-Hoon Park797b76b2020-03-11 23:21:14 +00001158 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Mul, QuantizationInfo{ 0.00037829321809113026, 130 } });
Sang-Hoon Park68001172020-03-06 16:32:01 +00001159 INode *node_mul_14 = _graph.node(id_mul_14);
1160 node_mul_14->set_common_node_parameters(NodeParams{ "mul_14", target });
1161 _graph.add_connection(id_block_14_1_BiasAdd, 0, id_mul_14, 0);
1162 _graph.add_connection(id_mul_14_y, 0, id_mul_14, 1);
1163
1164 NodeID id_add_14 = _graph.add_node<EltwiseLayerNode>(
Sang-Hoon Park797b76b2020-03-11 23:21:14 +00001165 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Add, QuantizationInfo{ 0.0033590947277843952, 77 } });
Sang-Hoon Park68001172020-03-06 16:32:01 +00001166 INode *node_add_14 = _graph.node(id_add_14);
1167 node_add_14->set_common_node_parameters(NodeParams{ "add_14", target });
1168 _graph.add_connection(id_add_13, 0, id_add_14, 0);
1169 _graph.add_connection(id_mul_14, 0, id_add_14, 1);
1170
1171 NodeID id_block_15_1_BiasAdd = _graph.add_node<ConvolutionLayerNode>(
1172 PadStrideInfo
1173 {
1174 1, 1,
1175 1, 1,
1176 1, 1,
1177 DimensionRoundingType::FLOOR },
1178 1,
1179 arm_compute::graph::ConvolutionMethod::Default,
1180 FastMathHint::Disabled,
1181 QuantizationInfo(0.004009159281849861, 130));
1182 INode *node_block_15_1_BiasAdd = _graph.node(id_block_15_1_BiasAdd);
1183 node_block_15_1_BiasAdd->set_common_node_parameters(NodeParams{ "block_15_1_BiasAdd", target });
1184 _graph.add_connection(id_add_14, 0, id_block_15_1_BiasAdd, 0);
1185 _graph.add_connection(id_block_15_1_FakeQuantWithMinMaxVars, 0, id_block_15_1_BiasAdd, 1);
1186 _graph.add_connection(id_block_15_1_Conv2D_bias, 0, id_block_15_1_BiasAdd, 2);
1187
1188 NodeID id_mul_15 = _graph.add_node<EltwiseLayerNode>(
Sang-Hoon Park797b76b2020-03-11 23:21:14 +00001189 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Mul, QuantizationInfo{ 0.0004008286341559142, 130 } });
Sang-Hoon Park68001172020-03-06 16:32:01 +00001190 INode *node_mul_15 = _graph.node(id_mul_15);
1191 node_mul_15->set_common_node_parameters(NodeParams{ "mul_15", target });
1192 _graph.add_connection(id_block_15_1_BiasAdd, 0, id_mul_15, 0);
1193 _graph.add_connection(id_mul_15_y, 0, id_mul_15, 1);
1194
1195 NodeID id_add_15 = _graph.add_node<EltwiseLayerNode>(
Sang-Hoon Park797b76b2020-03-11 23:21:14 +00001196 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Add, QuantizationInfo{ 0.0035031239967793226, 78 } });
Sang-Hoon Park68001172020-03-06 16:32:01 +00001197 INode *node_add_15 = _graph.node(id_add_15);
1198 node_add_15->set_common_node_parameters(NodeParams{ "add_15", target });
1199 _graph.add_connection(id_add_14, 0, id_add_15, 0);
1200 _graph.add_connection(id_mul_15, 0, id_add_15, 1);
1201
1202 NodeID id_post_residual_BiasAdd = _graph.add_node<ConvolutionLayerNode>(
1203 PadStrideInfo
1204 {
1205 1, 1,
1206 1, 1,
1207 1, 1,
1208 DimensionRoundingType::FLOOR },
1209 1,
1210 arm_compute::graph::ConvolutionMethod::Default,
1211 FastMathHint::Disabled,
1212 QuantizationInfo(0.005167999770492315, 112));
1213 INode *node_post_residual_BiasAdd = _graph.node(id_post_residual_BiasAdd);
1214 node_post_residual_BiasAdd->set_common_node_parameters(NodeParams{ "post_residual_BiasAdd", target });
1215 _graph.add_connection(id_add_15, 0, id_post_residual_BiasAdd, 0);
1216 _graph.add_connection(id_post_residual_FakeQuantWithMinMaxVars, 0, id_post_residual_BiasAdd, 1);
1217 _graph.add_connection(id_post_residual_Conv2D_bias, 0, id_post_residual_BiasAdd, 2);
1218
1219 NodeID id_add_16 = _graph.add_node<EltwiseLayerNode>(
Sang-Hoon Park797b76b2020-03-11 23:21:14 +00001220 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Add, QuantizationInfo{ 0.0065071373246610165, 89 } });
Sang-Hoon Park68001172020-03-06 16:32:01 +00001221 INode *node_add_16 = _graph.node(id_add_16);
1222 node_add_16->set_common_node_parameters(NodeParams{ "add_16", target });
1223 _graph.add_connection(id_post_residual_BiasAdd, 0, id_add_16, 0);
1224 _graph.add_connection(id_pre_residual_BiasAdd, 0, id_add_16, 1);
1225
1226 NodeID id_pre_upscale_BiasAdd = _graph.add_node<ConvolutionLayerNode>(
1227 PadStrideInfo
1228 {
1229 1, 1,
1230 1, 1,
1231 1, 1,
1232 DimensionRoundingType::FLOOR },
1233 1,
1234 arm_compute::graph::ConvolutionMethod::Default,
1235 FastMathHint::Disabled,
1236 QuantizationInfo(0.005013593938201666, 26));
1237 INode *node_pre_upscale_BiasAdd = _graph.node(id_pre_upscale_BiasAdd);
1238 node_pre_upscale_BiasAdd->set_common_node_parameters(NodeParams{ "pre_upscale_BiasAdd", target });
1239 _graph.add_connection(id_add_16, 0, id_pre_upscale_BiasAdd, 0);
1240 _graph.add_connection(id_pre_upscale_FakeQuantWithMinMaxVars, 0, id_pre_upscale_BiasAdd, 1);
1241 _graph.add_connection(id_pre_upscale_Conv2D_bias, 0, id_pre_upscale_BiasAdd, 2);
1242
1243 NodeID id_upscale_net_FakeQuantWithMinMaxVars_1 = _graph.add_node<DeconvolutionLayerNode>(
Sang-Hoon Park104fbd72020-03-13 11:31:53 +00001244 descriptors::DeconvolutionLayerDescriptor
Sang-Hoon Park68001172020-03-06 16:32:01 +00001245 {
Sang-Hoon Park104fbd72020-03-13 11:31:53 +00001246 PadStrideInfo{
1247 2, 2,
1248 0, 0,
1249 0, 0,
1250 DimensionRoundingType::FLOOR },
1251 QuantizationInfo{ 0.004990961868315935, 26 } });
Sang-Hoon Park68001172020-03-06 16:32:01 +00001252 INode *node_upscale_net_FakeQuantWithMinMaxVars_1 = _graph.node(id_upscale_net_FakeQuantWithMinMaxVars_1);
1253 node_upscale_net_FakeQuantWithMinMaxVars_1->set_common_node_parameters(NodeParams{ "upscale_net_FakeQuantWithMinMaxVars_1", target });
1254 _graph.add_connection(id_pre_upscale_BiasAdd, 0, id_upscale_net_FakeQuantWithMinMaxVars_1, 0);
1255 _graph.add_connection(id_upscale_net_FakeQuantWithMinMaxVars_transposed, 0, id_upscale_net_FakeQuantWithMinMaxVars_1, 1);
1256 TensorShape output_shape;
1257 output_shape.set(0, 3, false).set(1, 720, false).set(2, 1280, false).set(3, 1, false);
1258
1259 NodeID id_output_140211982446376 = _graph.add_node<OutputNode>();
1260 INode *node_output_140211982446376 = _graph.node(id_output_140211982446376);
1261 node_output_140211982446376->set_common_node_parameters(NodeParams{ "output_140211982446376", target });
1262 _graph.add_connection(id_upscale_net_FakeQuantWithMinMaxVars_1, 0, id_output_140211982446376, 0);
1263 node_output_140211982446376->input(0)->set_accessor(get_npy_output_accessor(expected_output_filename.value(), output_shape, common_params.data_type,
1264 common_params.data_layout));
1265
1266 return true;
1267 }
1268
1269 arm_compute::graph::Graph &graph()
1270 {
1271 return _graph;
1272 }
1273
1274private:
1275 arm_compute::graph::Graph _graph;
1276};
1277
1278#endif /* ARM_COMPUTE_GRAPH_EDSR_H */