1 /* 2 * Copyright (c) 2020 Arm Limited. 3 * 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 32 class GraphEdsr 33 { 34 public: GraphEdsr()35 GraphEdsr() 36 : _graph(0, "EDSR") 37 { 38 } 39 setup(const arm_compute::utils::CommonGraphParams & common_params,const arm_compute::utils::SimpleOption<std::string> & expected_output_filename)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 NodeID id_mul_15_y = _graph.add_node<ConstNode>( 109 TensorDescriptor 110 { 111 TensorShape{ 1 }, 112 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 { 145 TensorShape{ 1 }, 146 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 { 179 TensorShape{ 1 }, 180 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 { 213 TensorShape{ 1 }, 214 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 { 247 TensorShape{ 1 }, 248 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 { 281 TensorShape{ 1 }, 282 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 { 315 TensorShape{ 1 }, 316 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 { 349 TensorShape{ 1 }, 350 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 { 383 TensorShape{ 1 }, 384 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 { 417 TensorShape{ 1 }, 418 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 { 451 TensorShape{ 1 }, 452 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 { 485 TensorShape{ 1 }, 486 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 { 519 TensorShape{ 1 }, 520 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 { 553 TensorShape{ 1 }, 554 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 { 587 TensorShape{ 1 }, 588 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 { 621 TensorShape{ 1 }, 622 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>( 724 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Mul, QuantizationInfo{ 0.0006341293919831514, 174 } }); 725 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>( 731 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Add, QuantizationInfo{ 0.0031092411372810602, 95 } }); 732 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>( 755 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Mul, QuantizationInfo{ 0.0004965941770933568, 122 } }); 756 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>( 762 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Add, QuantizationInfo{ 0.0030700892675668, 96 } }); 763 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>( 786 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Mul, QuantizationInfo{ 0.0004133903712499887, 130 } }); 787 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>( 793 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Add, QuantizationInfo{ 0.003026385325938463, 94 } }); 794 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>( 817 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Mul, QuantizationInfo{ 0.0003943995980080217, 141 } }); 818 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>( 824 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Add, QuantizationInfo{ 0.003101327223703265, 98 } }); 825 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>( 848 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Mul, QuantizationInfo{ 0.00044342130422592163, 143 } }); 849 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>( 855 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Add, QuantizationInfo{ 0.003150839824229479, 98 } }); 856 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>( 879 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Mul, QuantizationInfo{ 0.0004023382789455354, 132 } }); 880 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>( 886 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Add, QuantizationInfo{ 0.0030975888948887587, 94 } }); 887 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>( 910 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Mul, QuantizationInfo{ 0.00041950203012675047, 125 } }); 911 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>( 917 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Add, QuantizationInfo{ 0.003155382815748453, 92 } }); 918 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>( 941 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Mul, QuantizationInfo{ 0.00042401350219734013, 142 } }); 942 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>( 948 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Add, QuantizationInfo{ 0.0031760605052113533, 86 } }); 949 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>( 972 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Mul, QuantizationInfo{ 0.00042673019925132394, 123 } }); 973 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>( 979 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Add, QuantizationInfo{ 0.0032156009692698717, 86 } }); 980 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>( 1003 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Mul, QuantizationInfo{ 0.0004448975087143481, 129 } }); 1004 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>( 1010 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Add, QuantizationInfo{ 0.0032742770854383707, 80 } }); 1011 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>( 1034 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Mul, QuantizationInfo{ 0.00036083892337046564, 130 } }); 1035 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>( 1041 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Add, QuantizationInfo{ 0.0031881770119071007, 81 } }); 1042 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>( 1065 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Mul, QuantizationInfo{ 0.0003968806122429669, 133 } }); 1066 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>( 1072 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Add, QuantizationInfo{ 0.0032707711216062307, 80 } }); 1073 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>( 1096 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Mul, QuantizationInfo{ 0.0004365936329122633, 110 } }); 1097 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>( 1103 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Add, QuantizationInfo{ 0.003275055903941393, 79 } }); 1104 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>( 1127 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Mul, QuantizationInfo{ 0.0004385628562886268, 139 } }); 1128 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>( 1134 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Add, QuantizationInfo{ 0.0033287261612713337, 78 } }); 1135 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>( 1158 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Mul, QuantizationInfo{ 0.00037829321809113026, 130 } }); 1159 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>( 1165 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Add, QuantizationInfo{ 0.0033590947277843952, 77 } }); 1166 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>( 1189 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Mul, QuantizationInfo{ 0.0004008286341559142, 130 } }); 1190 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>( 1196 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Add, QuantizationInfo{ 0.0035031239967793226, 78 } }); 1197 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>( 1220 descriptors::EltwiseLayerDescriptor{ EltwiseOperation::Add, QuantizationInfo{ 0.0065071373246610165, 89 } }); 1221 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>( 1244 descriptors::DeconvolutionLayerDescriptor 1245 { 1246 PadStrideInfo{ 1247 2, 2, 1248 0, 0, 1249 0, 0, 1250 DimensionRoundingType::FLOOR }, 1251 QuantizationInfo{ 0.004990961868315935, 26 } }); 1252 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 graph()1269 arm_compute::graph::Graph &graph() 1270 { 1271 return _graph; 1272 } 1273 1274 private: 1275 arm_compute::graph::Graph _graph; 1276 }; 1277 1278 #endif /* ARM_COMPUTE_GRAPH_EDSR_H */ 1279