Commit 41d4e92b authored by Khalique Ahmed's avatar Khalique Ahmed
Browse files

Merge branch 'develop' of https://github.com/ROCmSoftwarePlatform/AMDMIGraphX into develop

parents a8eb886b 32f6388c
...@@ -81,7 +81,6 @@ add_library(migraphx ...@@ -81,7 +81,6 @@ add_library(migraphx
replace_allocate.cpp replace_allocate.cpp
simplify_qdq.cpp simplify_qdq.cpp
sqlite.cpp sqlite.cpp
rewrite_batchnorm.cpp
rewrite_gelu.cpp rewrite_gelu.cpp
rewrite_pooling.cpp rewrite_pooling.cpp
rewrite_quantization.cpp rewrite_quantization.cpp
...@@ -115,7 +114,6 @@ register_migraphx_ops( ...@@ -115,7 +114,6 @@ register_migraphx_ops(
as_shape as_shape
atanh atanh
atan atan
batch_norm_inference
broadcast broadcast
capture capture
ceil ceil
......
...@@ -25,6 +25,7 @@ ...@@ -25,6 +25,7 @@
#include <migraphx/make_op.hpp> #include <migraphx/make_op.hpp>
#include <migraphx/program.hpp> #include <migraphx/program.hpp>
#include <migraphx/generate.hpp> #include <migraphx/generate.hpp>
#include <migraphx/json.hpp>
#include "models.hpp" #include "models.hpp"
namespace migraphx { namespace migraphx {
namespace driver { namespace driver {
...@@ -39,153 +40,161 @@ migraphx::program alexnet(unsigned batch) // NOLINT(readability-function-size) ...@@ -39,153 +40,161 @@ migraphx::program alexnet(unsigned batch) // NOLINT(readability-function-size)
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1}}, 1))); migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1}}, 1)));
auto x_main_module_2 = mmain->add_literal(migraphx::abs( auto x_main_module_2 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1}}, 2))); migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1}}, 2)));
auto x_0 = mmain->add_parameter( auto x_data_0 = mmain->add_parameter(
"0", migraphx::shape{migraphx::shape::float_type, {batch, 3, 224, 224}}); "data_0", migraphx::shape{migraphx::shape::float_type, {batch, 3, 224, 224}});
auto x_main_module_4 = mmain->add_literal( auto x_main_module_4 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1000}}, 3)); migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1000, 4096}}, 3));
auto x_main_module_5 = mmain->add_literal( auto x_main_module_5 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1000, 4096}}, 4)); migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1000}}, 4));
auto x_main_module_6 = mmain->add_literal( auto x_main_module_6 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {4096}}, 5)); migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {4096, 4096}}, 5));
auto x_main_module_7 = mmain->add_literal( auto x_main_module_7 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {4096, 4096}}, 6)); migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {4096}}, 6)));
auto x_main_module_8 = mmain->add_literal( auto x_main_module_8 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {4096}}, 7)); migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {4096, 9216}}, 7));
auto x_main_module_9 = mmain->add_literal( auto x_main_module_9 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {4096, 9216}}, 8)); migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {4096}}, 8));
auto x_main_module_10 = mmain->add_literal( auto x_main_module_10 = mmain->add_literal(migraphx::generate_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 9)); migraphx::shape{migraphx::shape::float_type, {256, 192, 3, 3}}, 9));
auto x_main_module_11 = mmain->add_literal(migraphx::generate_literal( auto x_main_module_11 = mmain->add_literal(
migraphx::shape{migraphx::shape::float_type, {256, 256, 3, 3}}, 10)); migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 10));
auto x_main_module_12 = mmain->add_literal( auto x_main_module_12 = mmain->add_literal(migraphx::generate_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 11)); migraphx::shape{migraphx::shape::float_type, {384, 192, 3, 3}}, 11));
auto x_main_module_13 = mmain->add_literal(migraphx::generate_literal( auto x_main_module_13 = mmain->add_literal(
migraphx::shape{migraphx::shape::float_type, {256, 384, 3, 3}}, 12)); migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {384}}, 12));
auto x_main_module_14 = mmain->add_literal( auto x_main_module_14 = mmain->add_literal(migraphx::generate_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {384}}, 13)); migraphx::shape{migraphx::shape::float_type, {384, 256, 3, 3}}, 13));
auto x_main_module_15 = mmain->add_literal(migraphx::generate_literal( auto x_main_module_15 = mmain->add_literal(
migraphx::shape{migraphx::shape::float_type, {384, 192, 3, 3}}, 14)); migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {384}}, 14));
auto x_main_module_16 = mmain->add_literal( auto x_main_module_16 = mmain->add_literal(migraphx::generate_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {192}}, 15)); migraphx::shape{migraphx::shape::float_type, {256, 48, 5, 5}}, 15));
auto x_main_module_17 = mmain->add_literal(migraphx::generate_literal( auto x_main_module_17 = mmain->add_literal(migraphx::abs(
migraphx::shape{migraphx::shape::float_type, {192, 64, 5, 5}}, 16)); migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 16)));
auto x_main_module_18 = mmain->add_literal( auto x_main_module_18 = mmain->add_literal(migraphx::generate_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {64}}, 17)); migraphx::shape{migraphx::shape::float_type, {96, 3, 11, 11}}, 17));
auto x_main_module_19 = mmain->add_literal(migraphx::generate_literal( auto x_main_module_19 = mmain->add_literal(
migraphx::shape{migraphx::shape::float_type, {64, 3, 11, 11}}, 18)); migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {96}}, 18));
auto x_main_module_20 = mmain->add_instruction( auto x_main_module_20 = mmain->add_instruction(
migraphx::make_json_op("convolution", migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[2,2,2,2],padding_mode:0,stride:[4," "{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[4,"
"4],use_dynamic_same_auto_pad:0}"), "4],use_dynamic_same_auto_pad:0}"),
x_0, x_data_0,
x_main_module_19); x_main_module_18);
auto x_main_module_21 = mmain->add_instruction( auto x_main_module_21 = mmain->add_instruction(
migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,64,55,55]}"), x_main_module_18); migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,96,54,54]}"), x_main_module_19);
auto x_main_module_22 = auto x_main_module_22 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_20, x_main_module_21); mmain->add_instruction(migraphx::make_op("add"), x_main_module_20, x_main_module_21);
auto x_main_module_23 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_22); auto x_main_module_23 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_22);
auto x_main_module_24 = mmain->add_instruction( auto x_main_module_24 = mmain->add_instruction(
migraphx::make_json_op("lrn", "{alpha:9.999999747378752e-05,beta:0.75,bias:1.0,size:5}"),
x_main_module_23);
auto x_main_module_25 = mmain->add_instruction(
migraphx::make_json_op( migraphx::make_json_op(
"pooling", "pooling",
"{ceil_mode:0,lengths:[3,3],lp_order:2,mode:1,padding:[0,0,0,0],stride:[2,2]}"), "{ceil_mode:0,lengths:[3,3],lp_order:2,mode:1,padding:[0,0,0,0],stride:[2,2]}"),
x_main_module_23); x_main_module_24);
auto x_main_module_25 = mmain->add_instruction( auto x_main_module_26 = mmain->add_instruction(
migraphx::make_json_op("convolution", migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[2,2,2,2],padding_mode:0,stride:[1," "{dilation:[1,1],group:2,padding:[2,2,2,2],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"), "1],use_dynamic_same_auto_pad:0}"),
x_main_module_24, x_main_module_25,
x_main_module_17); x_main_module_16);
auto x_main_module_26 = mmain->add_instruction( auto x_main_module_27 = mmain->add_instruction(
migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,192,27,27]}"), x_main_module_16); migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,256,26,26]}"), x_main_module_17);
auto x_main_module_27 = auto x_main_module_28 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_25, x_main_module_26); mmain->add_instruction(migraphx::make_op("add"), x_main_module_26, x_main_module_27);
auto x_main_module_28 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_27); auto x_main_module_29 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_28);
auto x_main_module_29 = mmain->add_instruction( auto x_main_module_30 = mmain->add_instruction(
migraphx::make_json_op("lrn", "{alpha:9.999999747378752e-05,beta:0.75,bias:1.0,size:5}"),
x_main_module_29);
auto x_main_module_31 = mmain->add_instruction(
migraphx::make_json_op( migraphx::make_json_op(
"pooling", "pooling",
"{ceil_mode:0,lengths:[3,3],lp_order:2,mode:1,padding:[0,0,0,0],stride:[2,2]}"), "{ceil_mode:0,lengths:[3,3],lp_order:2,mode:1,padding:[0,0,0,0],stride:[2,2]}"),
x_main_module_28); x_main_module_30);
auto x_main_module_30 = mmain->add_instruction( auto x_main_module_32 = mmain->add_instruction(
migraphx::make_json_op("convolution", migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1," "{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"), "1],use_dynamic_same_auto_pad:0}"),
x_main_module_29, x_main_module_31,
x_main_module_15); x_main_module_14);
auto x_main_module_31 = mmain->add_instruction( auto x_main_module_33 = mmain->add_instruction(
migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,384,13,13]}"), x_main_module_14); migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,384,12,12]}"), x_main_module_15);
auto x_main_module_32 = auto x_main_module_34 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_30, x_main_module_31); mmain->add_instruction(migraphx::make_op("add"), x_main_module_32, x_main_module_33);
auto x_main_module_33 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_32); auto x_main_module_35 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_34);
auto x_main_module_34 = mmain->add_instruction( auto x_main_module_36 = mmain->add_instruction(
migraphx::make_json_op("convolution", migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1," "{dilation:[1,1],group:2,padding:[1,1,1,1],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"), "1],use_dynamic_same_auto_pad:0}"),
x_main_module_33, x_main_module_35,
x_main_module_13); x_main_module_12);
auto x_main_module_35 = mmain->add_instruction( auto x_main_module_37 = mmain->add_instruction(
migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,256,13,13]}"), x_main_module_12); migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,384,12,12]}"), x_main_module_13);
auto x_main_module_36 = auto x_main_module_38 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_34, x_main_module_35); mmain->add_instruction(migraphx::make_op("add"), x_main_module_36, x_main_module_37);
auto x_main_module_37 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_36); auto x_main_module_39 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_38);
auto x_main_module_38 = mmain->add_instruction( auto x_main_module_40 = mmain->add_instruction(
migraphx::make_json_op("convolution", migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1," "{dilation:[1,1],group:2,padding:[1,1,1,1],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"), "1],use_dynamic_same_auto_pad:0}"),
x_main_module_37, x_main_module_39,
x_main_module_11); x_main_module_10);
auto x_main_module_39 = mmain->add_instruction( auto x_main_module_41 = mmain->add_instruction(
migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,256,13,13]}"), x_main_module_10); migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,256,12,12]}"), x_main_module_11);
auto x_main_module_40 = auto x_main_module_42 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_38, x_main_module_39); mmain->add_instruction(migraphx::make_op("add"), x_main_module_40, x_main_module_41);
auto x_main_module_41 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_40); auto x_main_module_43 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_42);
auto x_main_module_42 = mmain->add_instruction( auto x_main_module_44 = mmain->add_instruction(
migraphx::make_json_op( migraphx::make_json_op(
"pooling", "pooling",
"{ceil_mode:0,lengths:[3,3],lp_order:2,mode:1,padding:[0,0,0,0],stride:[2,2]}"), "{ceil_mode:0,lengths:[3,3],lp_order:2,mode:1,padding:[0,0,1,1],stride:[2,2]}"),
x_main_module_41); x_main_module_43);
auto x_main_module_43 =
mmain->add_instruction(migraphx::make_json_op("flatten", "{axis:1}"), x_main_module_42);
auto x_main_module_44 = mmain->add_instruction(migraphx::make_op("identity"), x_main_module_43);
auto x_main_module_45 = mmain->add_instruction( auto x_main_module_45 = mmain->add_instruction(
migraphx::make_json_op("transpose", "{permutation:[1,0]}"), x_main_module_9); migraphx::make_json_op("reshape", "{dims:[1,9216]}"), x_main_module_44);
auto x_main_module_46 = auto x_main_module_46 = mmain->add_instruction(
mmain->add_instruction(migraphx::make_op("dot"), x_main_module_44, x_main_module_45); migraphx::make_json_op("transpose", "{permutation:[1,0]}"), x_main_module_8);
auto x_main_module_47 = mmain->add_instruction( auto x_main_module_47 =
migraphx::make_json_op("multibroadcast", "{out_lens:[1,4096]}"), x_main_module_8); mmain->add_instruction(migraphx::make_op("dot"), x_main_module_45, x_main_module_46);
auto x_main_module_48 = mmain->add_instruction( auto x_main_module_48 = mmain->add_instruction(
migraphx::make_json_op("multibroadcast", "{out_lens:[1,4096]}"), x_main_module_9);
auto x_main_module_49 = mmain->add_instruction(
migraphx::make_json_op("multibroadcast", "{out_lens:[1,4096]}"), x_main_module_2); migraphx::make_json_op("multibroadcast", "{out_lens:[1,4096]}"), x_main_module_2);
auto x_main_module_49 =
mmain->add_instruction(migraphx::make_op("mul"), x_main_module_47, x_main_module_48);
auto x_main_module_50 = auto x_main_module_50 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_46, x_main_module_49); mmain->add_instruction(migraphx::make_op("mul"), x_main_module_48, x_main_module_49);
auto x_main_module_51 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_50); auto x_main_module_51 =
auto x_main_module_52 = mmain->add_instruction(migraphx::make_op("identity"), x_main_module_51); mmain->add_instruction(migraphx::make_op("add"), x_main_module_47, x_main_module_50);
auto x_main_module_53 = mmain->add_instruction( auto x_main_module_52 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_51);
migraphx::make_json_op("transpose", "{permutation:[1,0]}"), x_main_module_7); auto x_main_module_53 = mmain->add_instruction(migraphx::make_op("identity"), x_main_module_52);
auto x_main_module_54 = auto x_main_module_54 = mmain->add_instruction(
mmain->add_instruction(migraphx::make_op("dot"), x_main_module_52, x_main_module_53); migraphx::make_json_op("transpose", "{permutation:[1,0]}"), x_main_module_6);
auto x_main_module_55 = mmain->add_instruction( auto x_main_module_55 =
migraphx::make_json_op("multibroadcast", "{out_lens:[1,4096]}"), x_main_module_6); mmain->add_instruction(migraphx::make_op("dot"), x_main_module_53, x_main_module_54);
auto x_main_module_56 = mmain->add_instruction( auto x_main_module_56 = mmain->add_instruction(
migraphx::make_json_op("multibroadcast", "{out_lens:[1,4096]}"), x_main_module_7);
auto x_main_module_57 = mmain->add_instruction(
migraphx::make_json_op("multibroadcast", "{out_lens:[1,4096]}"), x_main_module_1); migraphx::make_json_op("multibroadcast", "{out_lens:[1,4096]}"), x_main_module_1);
auto x_main_module_57 =
mmain->add_instruction(migraphx::make_op("mul"), x_main_module_55, x_main_module_56);
auto x_main_module_58 = auto x_main_module_58 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_54, x_main_module_57); mmain->add_instruction(migraphx::make_op("mul"), x_main_module_56, x_main_module_57);
auto x_main_module_59 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_58); auto x_main_module_59 =
auto x_main_module_60 = mmain->add_instruction( mmain->add_instruction(migraphx::make_op("add"), x_main_module_55, x_main_module_58);
migraphx::make_json_op("transpose", "{permutation:[1,0]}"), x_main_module_5); auto x_main_module_60 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_59);
auto x_main_module_61 = auto x_main_module_61 = mmain->add_instruction(migraphx::make_op("identity"), x_main_module_60);
mmain->add_instruction(migraphx::make_op("dot"), x_main_module_59, x_main_module_60);
auto x_main_module_62 = mmain->add_instruction( auto x_main_module_62 = mmain->add_instruction(
migraphx::make_json_op("multibroadcast", "{out_lens:[1,1000]}"), x_main_module_4); migraphx::make_json_op("transpose", "{permutation:[1,0]}"), x_main_module_4);
auto x_main_module_63 = mmain->add_instruction( auto x_main_module_63 =
mmain->add_instruction(migraphx::make_op("dot"), x_main_module_61, x_main_module_62);
auto x_main_module_64 = mmain->add_instruction(
migraphx::make_json_op("multibroadcast", "{out_lens:[1,1000]}"), x_main_module_5);
auto x_main_module_65 = mmain->add_instruction(
migraphx::make_json_op("multibroadcast", "{out_lens:[1,1000]}"), x_main_module_0); migraphx::make_json_op("multibroadcast", "{out_lens:[1,1000]}"), x_main_module_0);
auto x_main_module_64 = auto x_main_module_66 =
mmain->add_instruction(migraphx::make_op("mul"), x_main_module_62, x_main_module_63); mmain->add_instruction(migraphx::make_op("mul"), x_main_module_64, x_main_module_65);
auto x_main_module_65 = auto x_main_module_67 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_61, x_main_module_64); mmain->add_instruction(migraphx::make_op("add"), x_main_module_63, x_main_module_66);
mmain->add_return({x_main_module_65}); auto x_main_module_68 =
mmain->add_instruction(migraphx::make_json_op("softmax", "{axis:1}"), x_main_module_67);
mmain->add_return({x_main_module_68});
return p; return p;
} }
......
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -44,7 +44,6 @@ ...@@ -44,7 +44,6 @@
#include <migraphx/propagate_constant.hpp> #include <migraphx/propagate_constant.hpp>
#include <migraphx/quantization.hpp> #include <migraphx/quantization.hpp>
#include <migraphx/register_op.hpp> #include <migraphx/register_op.hpp>
#include <migraphx/rewrite_batchnorm.hpp>
#include <migraphx/simplify_algebra.hpp> #include <migraphx/simplify_algebra.hpp>
#include <migraphx/simplify_reshapes.hpp> #include <migraphx/simplify_reshapes.hpp>
#include <migraphx/register_target.hpp> #include <migraphx/register_target.hpp>
...@@ -221,7 +220,6 @@ struct loader ...@@ -221,7 +220,6 @@ struct loader
{ {
migraphx::run_passes(*p.get_main_module(), migraphx::run_passes(*p.get_main_module(),
{ {
migraphx::rewrite_batchnorm{},
migraphx::eliminate_identity{}, migraphx::eliminate_identity{},
migraphx::dead_code_elimination{}, migraphx::dead_code_elimination{},
migraphx::simplify_algebra{}, migraphx::simplify_algebra{},
......
...@@ -25,6 +25,7 @@ ...@@ -25,6 +25,7 @@
#include <migraphx/make_op.hpp> #include <migraphx/make_op.hpp>
#include <migraphx/program.hpp> #include <migraphx/program.hpp>
#include <migraphx/generate.hpp> #include <migraphx/generate.hpp>
#include <migraphx/json.hpp>
#include "models.hpp" #include "models.hpp"
namespace migraphx { namespace migraphx {
namespace driver { namespace driver {
...@@ -32,1446 +33,904 @@ inline namespace MIGRAPHX_INLINE_NS { ...@@ -32,1446 +33,904 @@ inline namespace MIGRAPHX_INLINE_NS {
migraphx::program resnet50(unsigned batch) // NOLINT(readability-function-size) migraphx::program resnet50(unsigned batch) // NOLINT(readability-function-size)
{ {
migraphx::program p; migraphx::program p;
migraphx::module_ref mmain = p.get_main_module(); migraphx::module_ref mmain = p.get_main_module();
auto x_main_module_0 = mmain->add_literal(migraphx::abs( auto x_main_module_0 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1}}, 0))); migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1}}, 0)));
auto x_0 = mmain->add_parameter( auto x_main_module_1 = mmain->add_literal(migraphx::abs(
"0", migraphx::shape{migraphx::shape::float_type, {batch, 3, 224, 224}}); migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1}}, 1)));
auto x_main_module_2 = mmain->add_literal( auto x_input_tensor_module_0 = mmain->add_parameter(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1000}}, 1)); "input_tensor:0", migraphx::shape{migraphx::shape::float_type, {batch, 3, 224, 224}});
auto x_main_module_3 = mmain->add_literal( auto x_main_module_3 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1000, 2048}}, 2)); migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 2));
auto x_main_module_4 = mmain->add_literal(migraphx::abs( auto x_main_module_4 = mmain->add_literal(migraphx::generate_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {2048}}, 3))); migraphx::shape{migraphx::shape::float_type, {512, 512, 3, 3}}, 3));
auto x_main_module_5 = mmain->add_literal( auto x_main_module_5 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {2048}}, 4)); migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 4));
auto x_main_module_6 = mmain->add_literal( auto x_main_module_6 = mmain->add_literal(migraphx::generate_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {2048}}, 5)); migraphx::shape{migraphx::shape::float_type, {2048, 512, 1, 1}}, 5));
auto x_main_module_7 = mmain->add_literal(migraphx::abs( auto x_main_module_7 = mmain->add_literal(migraphx::generate_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {2048}}, 6))); migraphx::shape{migraphx::shape::float_type, {256, 64, 1, 1}}, 6));
auto x_main_module_8 = mmain->add_literal(migraphx::generate_literal( auto x_main_module_8 = mmain->add_literal(
migraphx::shape{migraphx::shape::float_type, {2048, 512, 1, 1}}, 7)); migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {2048}}, 7));
auto x_main_module_9 = mmain->add_literal(migraphx::abs( auto x_main_module_9 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 8))); migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 8));
auto x_main_module_10 = mmain->add_literal( auto x_main_module_10 = mmain->add_literal(migraphx::generate_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 9)); migraphx::shape{migraphx::shape::float_type, {512, 2048, 1, 1}}, 9));
auto x_main_module_11 = mmain->add_literal( auto x_main_module_11 = mmain->add_literal(migraphx::generate_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 10)); migraphx::shape{migraphx::shape::float_type, {64, 64, 1, 1}}, 10));
auto x_main_module_12 = mmain->add_literal(migraphx::abs( auto x_main_module_12 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 11))); migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 11));
auto x_main_module_13 = mmain->add_literal(migraphx::generate_literal( auto x_main_module_13 = mmain->add_literal(
migraphx::shape{migraphx::shape::float_type, {512, 512, 3, 3}}, 12)); migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {64}}, 12));
auto x_main_module_14 = mmain->add_literal(migraphx::abs( auto x_main_module_14 = mmain->add_literal(migraphx::generate_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 13))); migraphx::shape{migraphx::shape::float_type, {512, 512, 3, 3}}, 13));
auto x_main_module_15 = mmain->add_literal( auto x_main_module_15 = mmain->add_literal(migraphx::generate_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 14)); migraphx::shape{migraphx::shape::float_type, {64, 64, 3, 3}}, 14));
auto x_main_module_16 = mmain->add_literal( auto x_main_module_16 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 15)); migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 15));
auto x_main_module_17 = mmain->add_literal(migraphx::abs( auto x_main_module_17 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 16))); migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {64}}, 16));
auto x_main_module_18 = mmain->add_literal(migraphx::generate_literal( auto x_main_module_18 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {512, 2048, 1, 1}}, 17)); migraphx::shape{migraphx::shape::float_type, {2048, 512, 1, 1}}, 17));
auto x_main_module_19 = mmain->add_literal(migraphx::abs( auto x_main_module_19 = mmain->add_literal(migraphx::generate_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {2048}}, 18))); migraphx::shape{migraphx::shape::float_type, {256, 64, 1, 1}}, 18));
auto x_main_module_20 = mmain->add_literal( auto x_main_module_20 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {2048}}, 19)); migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {2048}}, 19));
auto x_main_module_21 = mmain->add_literal( auto x_main_module_21 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {2048}}, 20)); migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 20));
auto x_main_module_22 = mmain->add_literal(migraphx::abs( auto x_main_module_22 = mmain->add_literal(migraphx::generate_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {2048}}, 21))); migraphx::shape{migraphx::shape::float_type, {512, 2048, 1, 1}}, 21));
auto x_main_module_23 = mmain->add_literal(migraphx::generate_literal( auto x_main_module_23 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {2048, 512, 1, 1}}, 22)); migraphx::shape{migraphx::shape::float_type, {64, 256, 1, 1}}, 22));
auto x_main_module_24 = mmain->add_literal(migraphx::abs( auto x_main_module_24 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 23))); migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 23));
auto x_main_module_25 = mmain->add_literal( auto x_main_module_25 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 24)); migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {64}}, 24));
auto x_main_module_26 = mmain->add_literal( auto x_main_module_26 = mmain->add_literal(migraphx::generate_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 25)); migraphx::shape{migraphx::shape::float_type, {512, 512, 3, 3}}, 25));
auto x_main_module_27 = mmain->add_literal(migraphx::abs( auto x_main_module_27 = mmain->add_literal(migraphx::generate_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 26))); migraphx::shape{migraphx::shape::float_type, {64, 64, 3, 3}}, 26));
auto x_main_module_28 = mmain->add_literal(migraphx::generate_literal( auto x_main_module_28 = mmain->add_literal(
migraphx::shape{migraphx::shape::float_type, {512, 512, 3, 3}}, 27)); migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 27));
auto x_main_module_29 = mmain->add_literal(migraphx::abs( auto x_main_module_29 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 28))); migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {64}}, 28));
auto x_main_module_30 = mmain->add_literal( auto x_main_module_30 = mmain->add_literal(migraphx::generate_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 29)); migraphx::shape{migraphx::shape::float_type, {2048, 512, 1, 1}}, 29));
auto x_main_module_31 = mmain->add_literal( auto x_main_module_31 = mmain->add_literal(migraphx::generate_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 30)); migraphx::shape{migraphx::shape::float_type, {256, 64, 1, 1}}, 30));
auto x_main_module_32 = mmain->add_literal(migraphx::abs( auto x_main_module_32 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 31))); migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {2048}}, 31));
auto x_main_module_33 = mmain->add_literal(migraphx::generate_literal( auto x_main_module_33 = mmain->add_literal(
migraphx::shape{migraphx::shape::float_type, {512, 2048, 1, 1}}, 32)); migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 32));
auto x_main_module_34 = mmain->add_literal(migraphx::abs( auto x_main_module_34 = mmain->add_literal(migraphx::generate_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {2048}}, 33))); migraphx::shape{migraphx::shape::float_type, {64, 256, 1, 1}}, 33));
auto x_main_module_35 = mmain->add_literal( auto x_main_module_35 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {2048}}, 34)); migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {64}}, 34));
auto x_main_module_36 = mmain->add_literal( auto x_main_module_36 = mmain->add_literal(migraphx::generate_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {2048}}, 35)); migraphx::shape{migraphx::shape::float_type, {64, 64, 3, 3}}, 35));
auto x_main_module_37 = mmain->add_literal(migraphx::abs( auto x_main_module_37 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {2048}}, 36))); migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {64}}, 36));
auto x_main_module_38 = mmain->add_literal(migraphx::generate_literal( auto x_main_module_38 = mmain->add_literal(
migraphx::shape{migraphx::shape::float_type, {2048, 1024, 1, 1}}, 37)); migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {64}}, 37));
auto x_main_module_39 = mmain->add_literal(migraphx::abs( auto x_main_module_39 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {2048}}, 38))); migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {64}}, 38)));
auto x_main_module_40 = mmain->add_literal( auto x_main_module_40 = mmain->add_literal(migraphx::generate_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {2048}}, 39)); migraphx::shape{migraphx::shape::float_type, {256, 64, 1, 1}}, 39));
auto x_main_module_41 = mmain->add_literal( auto x_main_module_41 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {2048}}, 40)); migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {64}}, 40));
auto x_main_module_42 = mmain->add_literal(migraphx::abs( auto x_main_module_42 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {2048}}, 41))); migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 41));
auto x_main_module_43 = mmain->add_literal(migraphx::generate_literal( auto x_main_module_43 = mmain->add_literal(migraphx::abs(
migraphx::shape{migraphx::shape::float_type, {2048, 512, 1, 1}}, 42)); migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {64}}, 42)));
auto x_main_module_44 = mmain->add_literal(migraphx::abs( auto x_main_module_44 = mmain->add_literal(migraphx::generate_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 43))); migraphx::shape{migraphx::shape::float_type, {128, 128, 3, 3}}, 43));
auto x_main_module_45 = mmain->add_literal( auto x_main_module_45 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 44)); migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 44));
auto x_main_module_46 = mmain->add_literal( auto x_main_module_46 = mmain->add_literal(migraphx::generate_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 45)); migraphx::shape{migraphx::shape::float_type, {512, 128, 1, 1}}, 45));
auto x_main_module_47 = mmain->add_literal(migraphx::abs( auto x_main_module_47 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 46))); migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 46));
auto x_main_module_48 = mmain->add_literal(migraphx::generate_literal( auto x_main_module_48 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {512, 512, 3, 3}}, 47)); migraphx::shape{migraphx::shape::float_type, {1024, 512, 1, 1}}, 47));
auto x_main_module_49 = mmain->add_literal(migraphx::abs( auto x_main_module_49 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 48))); migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1024}}, 48));
auto x_main_module_50 = mmain->add_literal( auto x_main_module_50 = mmain->add_literal(migraphx::generate_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 49)); migraphx::shape{migraphx::shape::float_type, {256, 512, 1, 1}}, 49));
auto x_main_module_51 = mmain->add_literal( auto x_main_module_51 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 50)); migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 50));
auto x_main_module_52 = mmain->add_literal(migraphx::abs( auto x_main_module_52 = mmain->add_literal(migraphx::generate_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 51))); migraphx::shape{migraphx::shape::float_type, {256, 256, 3, 3}}, 51));
auto x_main_module_53 = mmain->add_literal(migraphx::generate_literal( auto x_main_module_53 = mmain->add_literal(
migraphx::shape{migraphx::shape::float_type, {512, 1024, 1, 1}}, 52)); migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 52));
auto x_main_module_54 = mmain->add_literal(migraphx::abs( auto x_main_module_54 = mmain->add_literal(migraphx::generate_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1024}}, 53))); migraphx::shape{migraphx::shape::float_type, {1024, 256, 1, 1}}, 53));
auto x_main_module_55 = mmain->add_literal( auto x_main_module_55 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1024}}, 54)); migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1024}}, 54));
auto x_main_module_56 = mmain->add_literal( auto x_main_module_56 = mmain->add_literal(migraphx::generate_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1024}}, 55)); migraphx::shape{migraphx::shape::float_type, {256, 1024, 1, 1}}, 55));
auto x_main_module_57 = mmain->add_literal( auto x_main_module_57 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1024}}, 56)); migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 56));
auto x_main_module_58 = mmain->add_literal(migraphx::generate_literal( auto x_main_module_58 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {1024, 256, 1, 1}}, 57)); migraphx::shape{migraphx::shape::float_type, {256, 256, 3, 3}}, 57));
auto x_main_module_59 = mmain->add_literal(migraphx::abs( auto x_main_module_59 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 58))); migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 58));
auto x_main_module_60 = mmain->add_literal( auto x_main_module_60 = mmain->add_literal(migraphx::generate_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 59)); migraphx::shape{migraphx::shape::float_type, {1024, 256, 1, 1}}, 59));
auto x_main_module_61 = mmain->add_literal( auto x_main_module_61 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 60)); migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1024}}, 60));
auto x_main_module_62 = mmain->add_literal(migraphx::abs( auto x_main_module_62 = mmain->add_literal(migraphx::generate_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 61))); migraphx::shape{migraphx::shape::float_type, {256, 1024, 1, 1}}, 61));
auto x_main_module_63 = mmain->add_literal(migraphx::generate_literal( auto x_main_module_63 = mmain->add_literal(
migraphx::shape{migraphx::shape::float_type, {256, 256, 3, 3}}, 62)); migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 62));
auto x_main_module_64 = mmain->add_literal(migraphx::abs( auto x_main_module_64 = mmain->add_literal(migraphx::generate_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 63))); migraphx::shape{migraphx::shape::float_type, {256, 256, 3, 3}}, 63));
auto x_main_module_65 = mmain->add_literal( auto x_main_module_65 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 64)); migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 64));
auto x_main_module_66 = mmain->add_literal( auto x_main_module_66 = mmain->add_literal(migraphx::generate_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 65)); migraphx::shape{migraphx::shape::float_type, {512, 256, 1, 1}}, 65));
auto x_main_module_67 = mmain->add_literal(migraphx::abs( auto x_main_module_67 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 66))); migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 66));
auto x_main_module_68 = mmain->add_literal(migraphx::generate_literal( auto x_main_module_68 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {256, 1024, 1, 1}}, 67)); migraphx::shape{migraphx::shape::float_type, {128, 256, 1, 1}}, 67));
auto x_main_module_69 = mmain->add_literal(migraphx::abs( auto x_main_module_69 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1024}}, 68))); migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 68));
auto x_main_module_70 = mmain->add_literal( auto x_main_module_70 = mmain->add_literal(migraphx::generate_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1024}}, 69)); migraphx::shape{migraphx::shape::float_type, {128, 128, 3, 3}}, 69));
auto x_main_module_71 = mmain->add_literal( auto x_main_module_71 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1024}}, 70)); migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 70));
auto x_main_module_72 = mmain->add_literal( auto x_main_module_72 = mmain->add_literal(migraphx::generate_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1024}}, 71)); migraphx::shape{migraphx::shape::float_type, {512, 128, 1, 1}}, 71));
auto x_main_module_73 = mmain->add_literal(migraphx::generate_literal( auto x_main_module_73 = mmain->add_literal(
migraphx::shape{migraphx::shape::float_type, {1024, 256, 1, 1}}, 72)); migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 72));
auto x_main_module_74 = mmain->add_literal(migraphx::abs( auto x_main_module_74 = mmain->add_literal(migraphx::generate_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 73))); migraphx::shape{migraphx::shape::float_type, {128, 512, 1, 1}}, 73));
auto x_main_module_75 = mmain->add_literal( auto x_main_module_75 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 74)); migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 74));
auto x_main_module_76 = mmain->add_literal( auto x_main_module_76 = mmain->add_literal(migraphx::generate_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 75)); migraphx::shape{migraphx::shape::float_type, {128, 128, 3, 3}}, 75));
auto x_main_module_77 = mmain->add_literal(migraphx::abs( auto x_main_module_77 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 76))); migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 76));
auto x_main_module_78 = mmain->add_literal(migraphx::generate_literal( auto x_main_module_78 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {256, 256, 3, 3}}, 77)); migraphx::shape{migraphx::shape::float_type, {512, 128, 1, 1}}, 77));
auto x_main_module_79 = mmain->add_literal(migraphx::abs( auto x_main_module_79 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 78))); migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 78));
auto x_main_module_80 = mmain->add_literal( auto x_main_module_80 = mmain->add_literal(migraphx::generate_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 79)); migraphx::shape{migraphx::shape::float_type, {128, 512, 1, 1}}, 79));
auto x_main_module_81 = mmain->add_literal( auto x_main_module_81 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 80)); migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 80));
auto x_main_module_82 = mmain->add_literal(migraphx::abs( auto x_main_module_82 = mmain->add_literal(migraphx::generate_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 81))); migraphx::shape{migraphx::shape::float_type, {128, 128, 3, 3}}, 81));
auto x_main_module_83 = mmain->add_literal(migraphx::generate_literal( auto x_main_module_83 = mmain->add_literal(
migraphx::shape{migraphx::shape::float_type, {256, 1024, 1, 1}}, 82)); migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 82));
auto x_main_module_84 = mmain->add_literal(migraphx::abs( auto x_main_module_84 = mmain->add_literal(migraphx::generate_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1024}}, 83))); migraphx::shape{migraphx::shape::float_type, {512, 128, 1, 1}}, 83));
auto x_main_module_85 = mmain->add_literal( auto x_main_module_85 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1024}}, 84)); migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 84));
auto x_main_module_86 = mmain->add_literal( auto x_main_module_86 = mmain->add_literal(migraphx::generate_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1024}}, 85)); migraphx::shape{migraphx::shape::float_type, {128, 512, 1, 1}}, 85));
auto x_main_module_87 = mmain->add_literal( auto x_main_module_87 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1024}}, 86)); migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 86));
auto x_main_module_88 = mmain->add_literal(migraphx::generate_literal( auto x_main_module_88 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {1024, 256, 1, 1}}, 87)); migraphx::shape{migraphx::shape::float_type, {1024, 256, 1, 1}}, 87));
auto x_main_module_89 = mmain->add_literal(migraphx::abs( auto x_main_module_89 = mmain->add_literal(migraphx::generate_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 88))); migraphx::shape{migraphx::shape::float_type, {64, 3, 7, 7}}, 88));
auto x_main_module_90 = mmain->add_literal( auto x_main_module_90 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 89)); migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1001}}, 89));
auto x_main_module_91 = mmain->add_literal( auto x_main_module_91 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 90)); migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1024}}, 90));
auto x_main_module_92 = mmain->add_literal(migraphx::abs( auto x_main_module_92 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 91))); migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {2048, 1001}}, 91));
auto x_main_module_93 = mmain->add_literal(migraphx::generate_literal( auto x_main_module_93 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {256, 256, 3, 3}}, 92)); migraphx::shape{migraphx::shape::float_type, {256, 1024, 1, 1}}, 92));
auto x_main_module_94 = mmain->add_literal(migraphx::abs( auto x_main_module_94 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 93))); migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 93));
auto x_main_module_95 = mmain->add_literal( auto x_main_module_95 = mmain->add_literal(migraphx::generate_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 94)); migraphx::shape{migraphx::shape::float_type, {256, 256, 3, 3}}, 94));
auto x_main_module_96 = mmain->add_literal( auto x_main_module_96 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 95)); migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 95));
auto x_main_module_97 = mmain->add_literal(migraphx::abs( auto x_main_module_97 = mmain->add_literal(migraphx::generate_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 96))); migraphx::shape{migraphx::shape::float_type, {1024, 256, 1, 1}}, 96));
auto x_main_module_98 = mmain->add_literal(migraphx::generate_literal( auto x_main_module_98 = mmain->add_literal(
migraphx::shape{migraphx::shape::float_type, {256, 1024, 1, 1}}, 97)); migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1024}}, 97));
auto x_main_module_99 = mmain->add_literal(migraphx::abs( auto x_main_module_99 = mmain->add_literal(migraphx::generate_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1024}}, 98))); migraphx::shape{migraphx::shape::float_type, {256, 1024, 1, 1}}, 98));
auto x_main_module_100 = mmain->add_literal( auto x_main_module_100 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1024}}, 99)); migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 99));
auto x_main_module_101 = mmain->add_literal( auto x_main_module_101 = mmain->add_literal(migraphx::generate_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1024}}, 100)); migraphx::shape{migraphx::shape::float_type, {256, 256, 3, 3}}, 100));
auto x_main_module_102 = mmain->add_literal( auto x_main_module_102 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1024}}, 101)); migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 101));
auto x_main_module_103 = mmain->add_literal(migraphx::generate_literal( auto x_main_module_103 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {1024, 256, 1, 1}}, 102)); migraphx::shape{migraphx::shape::float_type, {1024, 256, 1, 1}}, 102));
auto x_main_module_104 = mmain->add_literal(migraphx::abs( auto x_main_module_104 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 103))); migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1024}}, 103));
auto x_main_module_105 = mmain->add_literal( auto x_main_module_105 = mmain->add_literal(migraphx::generate_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 104)); migraphx::shape{migraphx::shape::float_type, {256, 1024, 1, 1}}, 104));
auto x_main_module_106 = mmain->add_literal( auto x_main_module_106 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 105)); migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 105));
auto x_main_module_107 = mmain->add_literal(migraphx::abs( auto x_main_module_107 = mmain->add_literal(migraphx::generate_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 106))); migraphx::shape{migraphx::shape::float_type, {256, 256, 3, 3}}, 106));
auto x_main_module_108 = mmain->add_literal(migraphx::generate_literal( auto x_main_module_108 = mmain->add_literal(
migraphx::shape{migraphx::shape::float_type, {256, 256, 3, 3}}, 107)); migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 107));
auto x_main_module_109 = mmain->add_literal(migraphx::abs( auto x_main_module_109 = mmain->add_literal(migraphx::generate_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 108))); migraphx::shape{migraphx::shape::float_type, {1024, 256, 1, 1}}, 108));
auto x_main_module_110 = mmain->add_literal( auto x_main_module_110 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 109)); migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1024}}, 109));
auto x_main_module_111 = mmain->add_literal( auto x_main_module_111 = mmain->add_literal(migraphx::generate_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 110)); migraphx::shape{migraphx::shape::float_type, {2048, 1024, 1, 1}}, 110));
auto x_main_module_112 = mmain->add_literal(migraphx::abs( auto x_main_module_112 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 111))); migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {2048}}, 111));
auto x_main_module_113 = mmain->add_literal(migraphx::generate_literal( auto x_main_module_113 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {256, 1024, 1, 1}}, 112)); migraphx::shape{migraphx::shape::float_type, {512, 1024, 1, 1}}, 112));
auto x_main_module_114 = mmain->add_literal(migraphx::abs( auto x_main_module_114 = mmain->add_instruction(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1024}}, 113)));
auto x_main_module_115 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1024}}, 114));
auto x_main_module_116 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1024}}, 115));
auto x_main_module_117 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1024}}, 116));
auto x_main_module_118 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {1024, 256, 1, 1}}, 117));
auto x_main_module_119 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 118)));
auto x_main_module_120 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 119));
auto x_main_module_121 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 120));
auto x_main_module_122 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 121)));
auto x_main_module_123 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {256, 256, 3, 3}}, 122));
auto x_main_module_124 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 123)));
auto x_main_module_125 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 124));
auto x_main_module_126 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 125));
auto x_main_module_127 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 126)));
auto x_main_module_128 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {256, 1024, 1, 1}}, 127));
auto x_main_module_129 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1024}}, 128)));
auto x_main_module_130 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1024}}, 129));
auto x_main_module_131 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1024}}, 130));
auto x_main_module_132 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1024}}, 131));
auto x_main_module_133 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {1024, 512, 1, 1}}, 132));
auto x_main_module_134 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1024}}, 133)));
auto x_main_module_135 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1024}}, 134));
auto x_main_module_136 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1024}}, 135));
auto x_main_module_137 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1024}}, 136));
auto x_main_module_138 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {1024, 256, 1, 1}}, 137));
auto x_main_module_139 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 138)));
auto x_main_module_140 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 139));
auto x_main_module_141 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 140));
auto x_main_module_142 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 141)));
auto x_main_module_143 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {256, 256, 3, 3}}, 142));
auto x_main_module_144 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 143)));
auto x_main_module_145 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 144));
auto x_main_module_146 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 145));
auto x_main_module_147 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 146)));
auto x_main_module_148 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {256, 512, 1, 1}}, 147));
auto x_main_module_149 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 148)));
auto x_main_module_150 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 149));
auto x_main_module_151 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 150));
auto x_main_module_152 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 151));
auto x_main_module_153 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {512, 128, 1, 1}}, 152));
auto x_main_module_154 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 153)));
auto x_main_module_155 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 154));
auto x_main_module_156 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 155));
auto x_main_module_157 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 156)));
auto x_main_module_158 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {128, 128, 3, 3}}, 157));
auto x_main_module_159 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 158)));
auto x_main_module_160 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 159));
auto x_main_module_161 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 160));
auto x_main_module_162 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 161)));
auto x_main_module_163 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {128, 512, 1, 1}}, 162));
auto x_main_module_164 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 163)));
auto x_main_module_165 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 164));
auto x_main_module_166 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 165));
auto x_main_module_167 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 166));
auto x_main_module_168 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {512, 128, 1, 1}}, 167));
auto x_main_module_169 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 168)));
auto x_main_module_170 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 169));
auto x_main_module_171 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 170));
auto x_main_module_172 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 171)));
auto x_main_module_173 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {128, 128, 3, 3}}, 172));
auto x_main_module_174 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 173)));
auto x_main_module_175 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 174));
auto x_main_module_176 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 175));
auto x_main_module_177 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 176)));
auto x_main_module_178 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {128, 512, 1, 1}}, 177));
auto x_main_module_179 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 178)));
auto x_main_module_180 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 179));
auto x_main_module_181 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 180));
auto x_main_module_182 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 181));
auto x_main_module_183 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {512, 128, 1, 1}}, 182));
auto x_main_module_184 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 183)));
auto x_main_module_185 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 184));
auto x_main_module_186 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 185));
auto x_main_module_187 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 186)));
auto x_main_module_188 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {128, 128, 3, 3}}, 187));
auto x_main_module_189 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 188)));
auto x_main_module_190 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 189));
auto x_main_module_191 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 190));
auto x_main_module_192 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 191)));
auto x_main_module_193 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {128, 512, 1, 1}}, 192));
auto x_main_module_194 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 193)));
auto x_main_module_195 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 194));
auto x_main_module_196 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 195));
auto x_main_module_197 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 196));
auto x_main_module_198 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {512, 256, 1, 1}}, 197));
auto x_main_module_199 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 198)));
auto x_main_module_200 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 199));
auto x_main_module_201 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 200));
auto x_main_module_202 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 201));
auto x_main_module_203 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {512, 128, 1, 1}}, 202));
auto x_main_module_204 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 203)));
auto x_main_module_205 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 204));
auto x_main_module_206 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 205));
auto x_main_module_207 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 206)));
auto x_main_module_208 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {128, 128, 3, 3}}, 207));
auto x_main_module_209 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 208)));
auto x_main_module_210 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 209));
auto x_main_module_211 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 210));
auto x_main_module_212 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 211)));
auto x_main_module_213 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {128, 256, 1, 1}}, 212));
auto x_main_module_214 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 213)));
auto x_main_module_215 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 214));
auto x_main_module_216 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 215));
auto x_main_module_217 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 216));
auto x_main_module_218 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {256, 64, 1, 1}}, 217));
auto x_main_module_219 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {64}}, 218)));
auto x_main_module_220 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {64}}, 219));
auto x_main_module_221 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {64}}, 220));
auto x_main_module_222 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {64}}, 221)));
auto x_main_module_223 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {64, 64, 3, 3}}, 222));
auto x_main_module_224 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {64}}, 223)));
auto x_main_module_225 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {64}}, 224));
auto x_main_module_226 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {64}}, 225));
auto x_main_module_227 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {64}}, 226)));
auto x_main_module_228 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {64, 256, 1, 1}}, 227));
auto x_main_module_229 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 228)));
auto x_main_module_230 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 229));
auto x_main_module_231 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 230));
auto x_main_module_232 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 231));
auto x_main_module_233 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {256, 64, 1, 1}}, 232));
auto x_main_module_234 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {64}}, 233)));
auto x_main_module_235 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {64}}, 234));
auto x_main_module_236 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {64}}, 235));
auto x_main_module_237 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {64}}, 236)));
auto x_main_module_238 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {64, 64, 3, 3}}, 237));
auto x_main_module_239 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {64}}, 238)));
auto x_main_module_240 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {64}}, 239));
auto x_main_module_241 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {64}}, 240));
auto x_main_module_242 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {64}}, 241)));
auto x_main_module_243 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {64, 256, 1, 1}}, 242));
auto x_main_module_244 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 243)));
auto x_main_module_245 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 244));
auto x_main_module_246 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 245));
auto x_main_module_247 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 246));
auto x_main_module_248 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {256, 64, 1, 1}}, 247));
auto x_main_module_249 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 248)));
auto x_main_module_250 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 249));
auto x_main_module_251 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 250));
auto x_main_module_252 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 251));
auto x_main_module_253 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {256, 64, 1, 1}}, 252));
auto x_main_module_254 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {64}}, 253)));
auto x_main_module_255 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {64}}, 254));
auto x_main_module_256 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {64}}, 255));
auto x_main_module_257 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {64}}, 256)));
auto x_main_module_258 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {64, 64, 3, 3}}, 257));
auto x_main_module_259 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {64}}, 258)));
auto x_main_module_260 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {64}}, 259));
auto x_main_module_261 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {64}}, 260));
auto x_main_module_262 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {64}}, 261)));
auto x_main_module_263 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {64, 64, 1, 1}}, 262));
auto x_main_module_264 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {64}}, 263)));
auto x_main_module_265 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {64}}, 264));
auto x_main_module_266 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {64}}, 265));
auto x_main_module_267 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {64}}, 266)));
auto x_main_module_268 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {64, 3, 7, 7}}, 267));
auto x_main_module_269 = mmain->add_instruction(
migraphx::make_json_op("convolution", migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[3,3,3,3],padding_mode:0,stride:[2," "{dilation:[1,1],group:1,padding:[3,3,3,3],padding_mode:0,stride:[2,"
"2],use_dynamic_same_auto_pad:0}"), "2],use_dynamic_same_auto_pad:0}"),
x_0, x_input_tensor_module_0,
x_main_module_268); x_main_module_89);
auto x_main_module_270 = mmain->add_instruction( auto x_main_module_115 = mmain->add_instruction(
migraphx::make_json_op( migraphx::make_json_op("unsqueeze", "{axes:[1,2],steps:[]}"), x_main_module_39);
"batch_norm_inference", auto x_main_module_116 = mmain->add_instruction(
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"), migraphx::make_json_op("unsqueeze", "{axes:[1,2],steps:[]}"), x_main_module_37);
x_main_module_269, auto x_main_module_117 = mmain->add_instruction(
x_main_module_267, migraphx::make_json_op("unsqueeze", "{axes:[1,2],steps:[]}"), x_main_module_41);
x_main_module_266, auto x_main_module_118 = mmain->add_instruction(
x_main_module_265, migraphx::make_json_op("unsqueeze", "{axes:[1,2],steps:[]}"), x_main_module_43);
x_main_module_264); auto x_main_module_119 = mmain->add_instruction(
auto x_main_module_271 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_270); migraphx::make_json_op("multibroadcast", "{out_lens:[1,64,112,112]}"), x_main_module_117);
auto x_main_module_272 = mmain->add_instruction( auto x_main_module_120 =
mmain->add_instruction(migraphx::make_op("sub"), x_main_module_114, x_main_module_119);
auto x_main_module_121 = mmain->add_instruction(
migraphx::make_json_op("multibroadcast", "{out_lens:[64,1,1]}"), x_main_module_0);
auto x_main_module_122 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_118, x_main_module_121);
auto x_main_module_123 = mmain->add_instruction(
migraphx::make_json_op("multibroadcast", "{out_lens:[64,1,1]}"), x_main_module_1);
auto x_main_module_124 =
mmain->add_instruction(migraphx::make_op("pow"), x_main_module_122, x_main_module_123);
auto x_main_module_125 = mmain->add_instruction(
migraphx::make_json_op("multibroadcast", "{out_lens:[1,64,112,112]}"), x_main_module_124);
auto x_main_module_126 =
mmain->add_instruction(migraphx::make_op("div"), x_main_module_120, x_main_module_125);
auto x_main_module_127 = mmain->add_instruction(
migraphx::make_json_op("multibroadcast", "{out_lens:[1,64,112,112]}"), x_main_module_115);
auto x_main_module_128 =
mmain->add_instruction(migraphx::make_op("mul"), x_main_module_126, x_main_module_127);
auto x_main_module_129 = mmain->add_instruction(
migraphx::make_json_op("multibroadcast", "{out_lens:[1,64,112,112]}"), x_main_module_116);
auto x_main_module_130 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_128, x_main_module_129);
auto x_main_module_131 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_130);
auto x_main_module_132 = mmain->add_instruction(
migraphx::make_json_op( migraphx::make_json_op(
"pooling", "pooling",
"{ceil_mode:0,lengths:[3,3],lp_order:2,mode:1,padding:[1,1,1,1],stride:[2,2]}"), "{ceil_mode:0,lengths:[3,3],lp_order:2,mode:1,padding:[0,0,1,1],stride:[2,2]}"),
x_main_module_271); x_main_module_131);
auto x_main_module_273 = mmain->add_instruction( auto x_main_module_133 = mmain->add_instruction(
migraphx::make_json_op("convolution", migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1," "{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"), "1],use_dynamic_same_auto_pad:0}"),
x_main_module_272, x_main_module_132,
x_main_module_263); x_main_module_11);
auto x_main_module_274 = mmain->add_instruction( auto x_main_module_134 = mmain->add_instruction(
migraphx::make_json_op( migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,64,56,56]}"), x_main_module_13);
"batch_norm_inference", auto x_main_module_135 =
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"), mmain->add_instruction(migraphx::make_op("add"), x_main_module_133, x_main_module_134);
x_main_module_273, auto x_main_module_136 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_135);
x_main_module_262, auto x_main_module_137 = mmain->add_instruction(
x_main_module_261,
x_main_module_260,
x_main_module_259);
auto x_main_module_275 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_274);
auto x_main_module_276 = mmain->add_instruction(
migraphx::make_json_op("convolution", migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1," "{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"), "1],use_dynamic_same_auto_pad:0}"),
x_main_module_275, x_main_module_136,
x_main_module_258); x_main_module_15);
auto x_main_module_277 = mmain->add_instruction( auto x_main_module_138 = mmain->add_instruction(
migraphx::make_json_op( migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,64,56,56]}"), x_main_module_17);
"batch_norm_inference", auto x_main_module_139 =
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"), mmain->add_instruction(migraphx::make_op("add"), x_main_module_137, x_main_module_138);
x_main_module_276, auto x_main_module_140 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_139);
x_main_module_257, auto x_main_module_141 = mmain->add_instruction(
x_main_module_256,
x_main_module_255,
x_main_module_254);
auto x_main_module_278 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_277);
auto x_main_module_279 = mmain->add_instruction(
migraphx::make_json_op("convolution", migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1," "{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"), "1],use_dynamic_same_auto_pad:0}"),
x_main_module_278, x_main_module_140,
x_main_module_253); x_main_module_19);
auto x_main_module_280 = mmain->add_instruction( auto x_main_module_142 = mmain->add_instruction(
migraphx::make_json_op( migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,256,56,56]}"), x_main_module_21);
"batch_norm_inference", auto x_main_module_143 =
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"), mmain->add_instruction(migraphx::make_op("add"), x_main_module_141, x_main_module_142);
x_main_module_279, auto x_main_module_144 = mmain->add_instruction(
x_main_module_252,
x_main_module_251,
x_main_module_250,
x_main_module_249);
auto x_main_module_281 = mmain->add_instruction(
migraphx::make_json_op("convolution", migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1," "{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"), "1],use_dynamic_same_auto_pad:0}"),
x_main_module_272, x_main_module_132,
x_main_module_248); x_main_module_7);
auto x_main_module_282 = mmain->add_instruction( auto x_main_module_145 = mmain->add_instruction(
migraphx::make_json_op( migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,256,56,56]}"), x_main_module_9);
"batch_norm_inference", auto x_main_module_146 =
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"), mmain->add_instruction(migraphx::make_op("add"), x_main_module_144, x_main_module_145);
x_main_module_281, auto x_main_module_147 =
x_main_module_247, mmain->add_instruction(migraphx::make_op("add"), x_main_module_143, x_main_module_146);
x_main_module_246, auto x_main_module_148 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_147);
x_main_module_245, auto x_main_module_149 = mmain->add_instruction(
x_main_module_244);
auto x_main_module_283 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_280, x_main_module_282);
auto x_main_module_284 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_283);
auto x_main_module_285 = mmain->add_instruction(
migraphx::make_json_op("convolution", migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1," "{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"), "1],use_dynamic_same_auto_pad:0}"),
x_main_module_284, x_main_module_148,
x_main_module_243); x_main_module_23);
auto x_main_module_286 = mmain->add_instruction( auto x_main_module_150 = mmain->add_instruction(
migraphx::make_json_op( migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,64,56,56]}"), x_main_module_25);
"batch_norm_inference", auto x_main_module_151 =
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"), mmain->add_instruction(migraphx::make_op("add"), x_main_module_149, x_main_module_150);
x_main_module_285, auto x_main_module_152 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_151);
x_main_module_242, auto x_main_module_153 = mmain->add_instruction(
x_main_module_241,
x_main_module_240,
x_main_module_239);
auto x_main_module_287 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_286);
auto x_main_module_288 = mmain->add_instruction(
migraphx::make_json_op("convolution", migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1," "{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"), "1],use_dynamic_same_auto_pad:0}"),
x_main_module_287, x_main_module_152,
x_main_module_238); x_main_module_27);
auto x_main_module_289 = mmain->add_instruction( auto x_main_module_154 = mmain->add_instruction(
migraphx::make_json_op( migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,64,56,56]}"), x_main_module_29);
"batch_norm_inference", auto x_main_module_155 =
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"), mmain->add_instruction(migraphx::make_op("add"), x_main_module_153, x_main_module_154);
x_main_module_288, auto x_main_module_156 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_155);
x_main_module_237, auto x_main_module_157 = mmain->add_instruction(
x_main_module_236,
x_main_module_235,
x_main_module_234);
auto x_main_module_290 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_289);
auto x_main_module_291 = mmain->add_instruction(
migraphx::make_json_op("convolution", migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1," "{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"), "1],use_dynamic_same_auto_pad:0}"),
x_main_module_290, x_main_module_156,
x_main_module_233); x_main_module_31);
auto x_main_module_292 = mmain->add_instruction( auto x_main_module_158 = mmain->add_instruction(
migraphx::make_json_op( migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,256,56,56]}"), x_main_module_33);
"batch_norm_inference", auto x_main_module_159 =
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"), mmain->add_instruction(migraphx::make_op("add"), x_main_module_157, x_main_module_158);
x_main_module_291, auto x_main_module_160 =
x_main_module_232, mmain->add_instruction(migraphx::make_op("add"), x_main_module_159, x_main_module_148);
x_main_module_231, auto x_main_module_161 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_160);
x_main_module_230, auto x_main_module_162 = mmain->add_instruction(
x_main_module_229);
auto x_main_module_293 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_292, x_main_module_284);
auto x_main_module_294 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_293);
auto x_main_module_295 = mmain->add_instruction(
migraphx::make_json_op("convolution", migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1," "{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"), "1],use_dynamic_same_auto_pad:0}"),
x_main_module_294, x_main_module_161,
x_main_module_228); x_main_module_34);
auto x_main_module_296 = mmain->add_instruction( auto x_main_module_163 = mmain->add_instruction(
migraphx::make_json_op( migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,64,56,56]}"), x_main_module_35);
"batch_norm_inference", auto x_main_module_164 =
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"), mmain->add_instruction(migraphx::make_op("add"), x_main_module_162, x_main_module_163);
x_main_module_295, auto x_main_module_165 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_164);
x_main_module_227, auto x_main_module_166 = mmain->add_instruction(
x_main_module_226,
x_main_module_225,
x_main_module_224);
auto x_main_module_297 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_296);
auto x_main_module_298 = mmain->add_instruction(
migraphx::make_json_op("convolution", migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1," "{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"), "1],use_dynamic_same_auto_pad:0}"),
x_main_module_297, x_main_module_165,
x_main_module_223); x_main_module_36);
auto x_main_module_299 = mmain->add_instruction( auto x_main_module_167 = mmain->add_instruction(
migraphx::make_json_op( migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,64,56,56]}"), x_main_module_38);
"batch_norm_inference", auto x_main_module_168 =
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"), mmain->add_instruction(migraphx::make_op("add"), x_main_module_166, x_main_module_167);
x_main_module_298, auto x_main_module_169 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_168);
x_main_module_222, auto x_main_module_170 = mmain->add_instruction(
x_main_module_221,
x_main_module_220,
x_main_module_219);
auto x_main_module_300 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_299);
auto x_main_module_301 = mmain->add_instruction(
migraphx::make_json_op("convolution", migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1," "{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"), "1],use_dynamic_same_auto_pad:0}"),
x_main_module_300, x_main_module_169,
x_main_module_218); x_main_module_40);
auto x_main_module_302 = mmain->add_instruction( auto x_main_module_171 = mmain->add_instruction(
migraphx::make_json_op( migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,256,56,56]}"), x_main_module_42);
"batch_norm_inference", auto x_main_module_172 =
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"), mmain->add_instruction(migraphx::make_op("add"), x_main_module_170, x_main_module_171);
x_main_module_301, auto x_main_module_173 =
x_main_module_217, mmain->add_instruction(migraphx::make_op("add"), x_main_module_172, x_main_module_161);
x_main_module_216, auto x_main_module_174 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_173);
x_main_module_215, auto x_main_module_175 = mmain->add_instruction(
x_main_module_214);
auto x_main_module_303 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_302, x_main_module_294);
auto x_main_module_304 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_303);
auto x_main_module_305 = mmain->add_instruction(
migraphx::make_json_op("convolution", migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1," "{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"), "1],use_dynamic_same_auto_pad:0}"),
x_main_module_304, x_main_module_174,
x_main_module_213); x_main_module_68);
auto x_main_module_306 = mmain->add_instruction( auto x_main_module_176 = mmain->add_instruction(
migraphx::make_json_op( migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,128,56,56]}"), x_main_module_69);
"batch_norm_inference", auto x_main_module_177 =
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"), mmain->add_instruction(migraphx::make_op("add"), x_main_module_175, x_main_module_176);
x_main_module_305, auto x_main_module_178 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_177);
x_main_module_212, auto x_main_module_179 = mmain->add_instruction(
x_main_module_211,
x_main_module_210,
x_main_module_209);
auto x_main_module_307 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_306);
auto x_main_module_308 = mmain->add_instruction(
migraphx::make_json_op("convolution", migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[2," "{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[2,"
"2],use_dynamic_same_auto_pad:0}"), "2],use_dynamic_same_auto_pad:0}"),
x_main_module_307, x_main_module_178,
x_main_module_208); x_main_module_70);
auto x_main_module_309 = mmain->add_instruction( auto x_main_module_180 = mmain->add_instruction(
migraphx::make_json_op( migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,128,28,28]}"), x_main_module_71);
"batch_norm_inference", auto x_main_module_181 =
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"), mmain->add_instruction(migraphx::make_op("add"), x_main_module_179, x_main_module_180);
x_main_module_308, auto x_main_module_182 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_181);
x_main_module_207, auto x_main_module_183 = mmain->add_instruction(
x_main_module_206,
x_main_module_205,
x_main_module_204);
auto x_main_module_310 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_309);
auto x_main_module_311 = mmain->add_instruction(
migraphx::make_json_op("convolution", migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1," "{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"), "1],use_dynamic_same_auto_pad:0}"),
x_main_module_310, x_main_module_182,
x_main_module_203); x_main_module_72);
auto x_main_module_312 = mmain->add_instruction( auto x_main_module_184 = mmain->add_instruction(
migraphx::make_json_op( migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,512,28,28]}"), x_main_module_73);
"batch_norm_inference", auto x_main_module_185 =
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"), mmain->add_instruction(migraphx::make_op("add"), x_main_module_183, x_main_module_184);
x_main_module_311, auto x_main_module_186 = mmain->add_instruction(
x_main_module_202,
x_main_module_201,
x_main_module_200,
x_main_module_199);
auto x_main_module_313 = mmain->add_instruction(
migraphx::make_json_op("convolution", migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[2," "{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[2,"
"2],use_dynamic_same_auto_pad:0}"), "2],use_dynamic_same_auto_pad:0}"),
x_main_module_304, x_main_module_174,
x_main_module_198); x_main_module_66);
auto x_main_module_314 = mmain->add_instruction( auto x_main_module_187 = mmain->add_instruction(
migraphx::make_json_op( migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,512,28,28]}"), x_main_module_67);
"batch_norm_inference", auto x_main_module_188 =
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"), mmain->add_instruction(migraphx::make_op("add"), x_main_module_186, x_main_module_187);
x_main_module_313, auto x_main_module_189 =
x_main_module_197, mmain->add_instruction(migraphx::make_op("add"), x_main_module_185, x_main_module_188);
x_main_module_196, auto x_main_module_190 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_189);
x_main_module_195, auto x_main_module_191 = mmain->add_instruction(
x_main_module_194);
auto x_main_module_315 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_312, x_main_module_314);
auto x_main_module_316 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_315);
auto x_main_module_317 = mmain->add_instruction(
migraphx::make_json_op("convolution", migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1," "{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"), "1],use_dynamic_same_auto_pad:0}"),
x_main_module_316,
x_main_module_193);
auto x_main_module_318 = mmain->add_instruction(
migraphx::make_json_op(
"batch_norm_inference",
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"),
x_main_module_317,
x_main_module_192,
x_main_module_191,
x_main_module_190, x_main_module_190,
x_main_module_189); x_main_module_74);
auto x_main_module_319 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_318); auto x_main_module_192 = mmain->add_instruction(
auto x_main_module_320 = mmain->add_instruction( migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,128,28,28]}"), x_main_module_75);
auto x_main_module_193 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_191, x_main_module_192);
auto x_main_module_194 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_193);
auto x_main_module_195 = mmain->add_instruction(
migraphx::make_json_op("convolution", migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1," "{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"), "1],use_dynamic_same_auto_pad:0}"),
x_main_module_319, x_main_module_194,
x_main_module_188); x_main_module_76);
auto x_main_module_321 = mmain->add_instruction( auto x_main_module_196 = mmain->add_instruction(
migraphx::make_json_op( migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,128,28,28]}"), x_main_module_77);
"batch_norm_inference", auto x_main_module_197 =
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"), mmain->add_instruction(migraphx::make_op("add"), x_main_module_195, x_main_module_196);
x_main_module_320, auto x_main_module_198 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_197);
x_main_module_187, auto x_main_module_199 = mmain->add_instruction(
x_main_module_186,
x_main_module_185,
x_main_module_184);
auto x_main_module_322 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_321);
auto x_main_module_323 = mmain->add_instruction(
migraphx::make_json_op("convolution", migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1," "{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"), "1],use_dynamic_same_auto_pad:0}"),
x_main_module_322, x_main_module_198,
x_main_module_183); x_main_module_78);
auto x_main_module_324 = mmain->add_instruction( auto x_main_module_200 = mmain->add_instruction(
migraphx::make_json_op( migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,512,28,28]}"), x_main_module_79);
"batch_norm_inference", auto x_main_module_201 =
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"), mmain->add_instruction(migraphx::make_op("add"), x_main_module_199, x_main_module_200);
x_main_module_323, auto x_main_module_202 =
x_main_module_182, mmain->add_instruction(migraphx::make_op("add"), x_main_module_201, x_main_module_190);
x_main_module_181, auto x_main_module_203 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_202);
x_main_module_180, auto x_main_module_204 = mmain->add_instruction(
x_main_module_179); migraphx::make_json_op("convolution",
auto x_main_module_325 = "{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
mmain->add_instruction(migraphx::make_op("add"), x_main_module_324, x_main_module_316); "1],use_dynamic_same_auto_pad:0}"),
auto x_main_module_326 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_325); x_main_module_203,
auto x_main_module_327 = mmain->add_instruction( x_main_module_80);
migraphx::make_json_op("convolution", auto x_main_module_205 = mmain->add_instruction(
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1," migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,128,28,28]}"), x_main_module_81);
"1],use_dynamic_same_auto_pad:0}"), auto x_main_module_206 =
x_main_module_326, mmain->add_instruction(migraphx::make_op("add"), x_main_module_204, x_main_module_205);
x_main_module_178); auto x_main_module_207 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_206);
auto x_main_module_328 = mmain->add_instruction( auto x_main_module_208 = mmain->add_instruction(
migraphx::make_json_op(
"batch_norm_inference",
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"),
x_main_module_327,
x_main_module_177,
x_main_module_176,
x_main_module_175,
x_main_module_174);
auto x_main_module_329 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_328);
auto x_main_module_330 = mmain->add_instruction(
migraphx::make_json_op("convolution", migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1," "{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"), "1],use_dynamic_same_auto_pad:0}"),
x_main_module_329, x_main_module_207,
x_main_module_173); x_main_module_82);
auto x_main_module_331 = mmain->add_instruction( auto x_main_module_209 = mmain->add_instruction(
migraphx::make_json_op( migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,128,28,28]}"), x_main_module_83);
"batch_norm_inference", auto x_main_module_210 =
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"), mmain->add_instruction(migraphx::make_op("add"), x_main_module_208, x_main_module_209);
x_main_module_330, auto x_main_module_211 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_210);
x_main_module_172, auto x_main_module_212 = mmain->add_instruction(
x_main_module_171,
x_main_module_170,
x_main_module_169);
auto x_main_module_332 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_331);
auto x_main_module_333 = mmain->add_instruction(
migraphx::make_json_op("convolution", migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1," "{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"), "1],use_dynamic_same_auto_pad:0}"),
x_main_module_332, x_main_module_211,
x_main_module_168); x_main_module_84);
auto x_main_module_334 = mmain->add_instruction( auto x_main_module_213 = mmain->add_instruction(
migraphx::make_json_op( migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,512,28,28]}"), x_main_module_85);
"batch_norm_inference", auto x_main_module_214 =
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"), mmain->add_instruction(migraphx::make_op("add"), x_main_module_212, x_main_module_213);
x_main_module_333, auto x_main_module_215 =
x_main_module_167, mmain->add_instruction(migraphx::make_op("add"), x_main_module_214, x_main_module_203);
x_main_module_166, auto x_main_module_216 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_215);
x_main_module_165, auto x_main_module_217 = mmain->add_instruction(
x_main_module_164);
auto x_main_module_335 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_334, x_main_module_326);
auto x_main_module_336 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_335);
auto x_main_module_337 = mmain->add_instruction(
migraphx::make_json_op("convolution", migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1," "{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"), "1],use_dynamic_same_auto_pad:0}"),
x_main_module_336, x_main_module_216,
x_main_module_163); x_main_module_86);
auto x_main_module_338 = mmain->add_instruction( auto x_main_module_218 = mmain->add_instruction(
migraphx::make_json_op( migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,128,28,28]}"), x_main_module_87);
"batch_norm_inference", auto x_main_module_219 =
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"), mmain->add_instruction(migraphx::make_op("add"), x_main_module_217, x_main_module_218);
x_main_module_337, auto x_main_module_220 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_219);
x_main_module_162, auto x_main_module_221 = mmain->add_instruction(
x_main_module_161,
x_main_module_160,
x_main_module_159);
auto x_main_module_339 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_338);
auto x_main_module_340 = mmain->add_instruction(
migraphx::make_json_op("convolution", migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1," "{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"), "1],use_dynamic_same_auto_pad:0}"),
x_main_module_339, x_main_module_220,
x_main_module_158); x_main_module_44);
auto x_main_module_341 = mmain->add_instruction( auto x_main_module_222 = mmain->add_instruction(
migraphx::make_json_op( migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,128,28,28]}"), x_main_module_45);
"batch_norm_inference", auto x_main_module_223 =
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"), mmain->add_instruction(migraphx::make_op("add"), x_main_module_221, x_main_module_222);
x_main_module_340, auto x_main_module_224 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_223);
x_main_module_157, auto x_main_module_225 = mmain->add_instruction(
x_main_module_156,
x_main_module_155,
x_main_module_154);
auto x_main_module_342 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_341);
auto x_main_module_343 = mmain->add_instruction(
migraphx::make_json_op("convolution", migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1," "{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"), "1],use_dynamic_same_auto_pad:0}"),
x_main_module_342, x_main_module_224,
x_main_module_153); x_main_module_46);
auto x_main_module_344 = mmain->add_instruction( auto x_main_module_226 = mmain->add_instruction(
migraphx::make_json_op( migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,512,28,28]}"), x_main_module_47);
"batch_norm_inference", auto x_main_module_227 =
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"), mmain->add_instruction(migraphx::make_op("add"), x_main_module_225, x_main_module_226);
x_main_module_343, auto x_main_module_228 =
x_main_module_152, mmain->add_instruction(migraphx::make_op("add"), x_main_module_227, x_main_module_216);
x_main_module_151, auto x_main_module_229 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_228);
x_main_module_150, auto x_main_module_230 = mmain->add_instruction(
x_main_module_149);
auto x_main_module_345 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_344, x_main_module_336);
auto x_main_module_346 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_345);
auto x_main_module_347 = mmain->add_instruction(
migraphx::make_json_op("convolution", migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1," "{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"), "1],use_dynamic_same_auto_pad:0}"),
x_main_module_346, x_main_module_229,
x_main_module_148); x_main_module_50);
auto x_main_module_348 = mmain->add_instruction( auto x_main_module_231 = mmain->add_instruction(
migraphx::make_json_op( migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,256,28,28]}"), x_main_module_51);
"batch_norm_inference", auto x_main_module_232 =
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"), mmain->add_instruction(migraphx::make_op("add"), x_main_module_230, x_main_module_231);
x_main_module_347, auto x_main_module_233 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_232);
x_main_module_147, auto x_main_module_234 = mmain->add_instruction(
x_main_module_146,
x_main_module_145,
x_main_module_144);
auto x_main_module_349 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_348);
auto x_main_module_350 = mmain->add_instruction(
migraphx::make_json_op("convolution", migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[2," "{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[2,"
"2],use_dynamic_same_auto_pad:0}"), "2],use_dynamic_same_auto_pad:0}"),
x_main_module_349, x_main_module_233,
x_main_module_143); x_main_module_52);
auto x_main_module_351 = mmain->add_instruction( auto x_main_module_235 = mmain->add_instruction(
migraphx::make_json_op( migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,256,14,14]}"), x_main_module_53);
"batch_norm_inference", auto x_main_module_236 =
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"), mmain->add_instruction(migraphx::make_op("add"), x_main_module_234, x_main_module_235);
x_main_module_350, auto x_main_module_237 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_236);
x_main_module_142, auto x_main_module_238 = mmain->add_instruction(
x_main_module_141,
x_main_module_140,
x_main_module_139);
auto x_main_module_352 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_351);
auto x_main_module_353 = mmain->add_instruction(
migraphx::make_json_op("convolution", migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1," "{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"), "1],use_dynamic_same_auto_pad:0}"),
x_main_module_352, x_main_module_237,
x_main_module_138); x_main_module_54);
auto x_main_module_354 = mmain->add_instruction( auto x_main_module_239 = mmain->add_instruction(
migraphx::make_json_op( migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,1024,14,14]}"), x_main_module_55);
"batch_norm_inference", auto x_main_module_240 =
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"), mmain->add_instruction(migraphx::make_op("add"), x_main_module_238, x_main_module_239);
x_main_module_353, auto x_main_module_241 = mmain->add_instruction(
x_main_module_137,
x_main_module_136,
x_main_module_135,
x_main_module_134);
auto x_main_module_355 = mmain->add_instruction(
migraphx::make_json_op("convolution", migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[2," "{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[2,"
"2],use_dynamic_same_auto_pad:0}"), "2],use_dynamic_same_auto_pad:0}"),
x_main_module_346, x_main_module_229,
x_main_module_133); x_main_module_48);
auto x_main_module_356 = mmain->add_instruction( auto x_main_module_242 = mmain->add_instruction(
migraphx::make_json_op( migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,1024,14,14]}"), x_main_module_49);
"batch_norm_inference", auto x_main_module_243 =
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"), mmain->add_instruction(migraphx::make_op("add"), x_main_module_241, x_main_module_242);
x_main_module_355, auto x_main_module_244 =
x_main_module_132, mmain->add_instruction(migraphx::make_op("add"), x_main_module_240, x_main_module_243);
x_main_module_131, auto x_main_module_245 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_244);
x_main_module_130, auto x_main_module_246 = mmain->add_instruction(
x_main_module_129);
auto x_main_module_357 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_354, x_main_module_356);
auto x_main_module_358 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_357);
auto x_main_module_359 = mmain->add_instruction(
migraphx::make_json_op("convolution", migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1," "{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"), "1],use_dynamic_same_auto_pad:0}"),
x_main_module_358, x_main_module_245,
x_main_module_128); x_main_module_56);
auto x_main_module_360 = mmain->add_instruction( auto x_main_module_247 = mmain->add_instruction(
migraphx::make_json_op( migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,256,14,14]}"), x_main_module_57);
"batch_norm_inference", auto x_main_module_248 =
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"), mmain->add_instruction(migraphx::make_op("add"), x_main_module_246, x_main_module_247);
x_main_module_359, auto x_main_module_249 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_248);
x_main_module_127, auto x_main_module_250 = mmain->add_instruction(
x_main_module_126,
x_main_module_125,
x_main_module_124);
auto x_main_module_361 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_360);
auto x_main_module_362 = mmain->add_instruction(
migraphx::make_json_op("convolution", migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1," "{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"), "1],use_dynamic_same_auto_pad:0}"),
x_main_module_361, x_main_module_249,
x_main_module_123); x_main_module_58);
auto x_main_module_363 = mmain->add_instruction( auto x_main_module_251 = mmain->add_instruction(
migraphx::make_json_op( migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,256,14,14]}"), x_main_module_59);
"batch_norm_inference", auto x_main_module_252 =
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"), mmain->add_instruction(migraphx::make_op("add"), x_main_module_250, x_main_module_251);
x_main_module_362, auto x_main_module_253 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_252);
x_main_module_122, auto x_main_module_254 = mmain->add_instruction(
x_main_module_121,
x_main_module_120,
x_main_module_119);
auto x_main_module_364 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_363);
auto x_main_module_365 = mmain->add_instruction(
migraphx::make_json_op("convolution", migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1," "{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"), "1],use_dynamic_same_auto_pad:0}"),
x_main_module_364, x_main_module_253,
x_main_module_118); x_main_module_60);
auto x_main_module_366 = mmain->add_instruction( auto x_main_module_255 = mmain->add_instruction(
migraphx::make_json_op( migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,1024,14,14]}"), x_main_module_61);
"batch_norm_inference", auto x_main_module_256 =
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"), mmain->add_instruction(migraphx::make_op("add"), x_main_module_254, x_main_module_255);
x_main_module_365, auto x_main_module_257 =
x_main_module_117, mmain->add_instruction(migraphx::make_op("add"), x_main_module_256, x_main_module_245);
x_main_module_116, auto x_main_module_258 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_257);
x_main_module_115, auto x_main_module_259 = mmain->add_instruction(
x_main_module_114);
auto x_main_module_367 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_366, x_main_module_358);
auto x_main_module_368 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_367);
auto x_main_module_369 = mmain->add_instruction(
migraphx::make_json_op("convolution", migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1," "{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"), "1],use_dynamic_same_auto_pad:0}"),
x_main_module_368, x_main_module_258,
x_main_module_113); x_main_module_62);
auto x_main_module_370 = mmain->add_instruction( auto x_main_module_260 = mmain->add_instruction(
migraphx::make_json_op( migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,256,14,14]}"), x_main_module_63);
"batch_norm_inference", auto x_main_module_261 =
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"), mmain->add_instruction(migraphx::make_op("add"), x_main_module_259, x_main_module_260);
x_main_module_369, auto x_main_module_262 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_261);
x_main_module_112, auto x_main_module_263 = mmain->add_instruction(
x_main_module_111,
x_main_module_110,
x_main_module_109);
auto x_main_module_371 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_370);
auto x_main_module_372 = mmain->add_instruction(
migraphx::make_json_op("convolution", migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1," "{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"), "1],use_dynamic_same_auto_pad:0}"),
x_main_module_371, x_main_module_262,
x_main_module_108); x_main_module_64);
auto x_main_module_373 = mmain->add_instruction( auto x_main_module_264 = mmain->add_instruction(
migraphx::make_json_op( migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,256,14,14]}"), x_main_module_65);
"batch_norm_inference", auto x_main_module_265 =
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"), mmain->add_instruction(migraphx::make_op("add"), x_main_module_263, x_main_module_264);
x_main_module_372, auto x_main_module_266 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_265);
x_main_module_107, auto x_main_module_267 = mmain->add_instruction(
x_main_module_106,
x_main_module_105,
x_main_module_104);
auto x_main_module_374 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_373);
auto x_main_module_375 = mmain->add_instruction(
migraphx::make_json_op("convolution", migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1," "{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"), "1],use_dynamic_same_auto_pad:0}"),
x_main_module_374, x_main_module_266,
x_main_module_103); x_main_module_88);
auto x_main_module_376 = mmain->add_instruction( auto x_main_module_268 = mmain->add_instruction(
migraphx::make_json_op( migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,1024,14,14]}"), x_main_module_91);
"batch_norm_inference", auto x_main_module_269 =
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"), mmain->add_instruction(migraphx::make_op("add"), x_main_module_267, x_main_module_268);
x_main_module_375, auto x_main_module_270 =
x_main_module_102, mmain->add_instruction(migraphx::make_op("add"), x_main_module_269, x_main_module_258);
x_main_module_101, auto x_main_module_271 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_270);
x_main_module_100, auto x_main_module_272 = mmain->add_instruction(
x_main_module_99);
auto x_main_module_377 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_376, x_main_module_368);
auto x_main_module_378 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_377);
auto x_main_module_379 = mmain->add_instruction(
migraphx::make_json_op("convolution", migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1," "{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"), "1],use_dynamic_same_auto_pad:0}"),
x_main_module_378, x_main_module_271,
x_main_module_98); x_main_module_93);
auto x_main_module_380 = mmain->add_instruction( auto x_main_module_273 = mmain->add_instruction(
migraphx::make_json_op( migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,256,14,14]}"), x_main_module_94);
"batch_norm_inference", auto x_main_module_274 =
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"), mmain->add_instruction(migraphx::make_op("add"), x_main_module_272, x_main_module_273);
x_main_module_379, auto x_main_module_275 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_274);
x_main_module_97, auto x_main_module_276 = mmain->add_instruction(
x_main_module_96,
x_main_module_95,
x_main_module_94);
auto x_main_module_381 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_380);
auto x_main_module_382 = mmain->add_instruction(
migraphx::make_json_op("convolution", migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1," "{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"), "1],use_dynamic_same_auto_pad:0}"),
x_main_module_381, x_main_module_275,
x_main_module_93); x_main_module_95);
auto x_main_module_383 = mmain->add_instruction( auto x_main_module_277 = mmain->add_instruction(
migraphx::make_json_op( migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,256,14,14]}"), x_main_module_96);
"batch_norm_inference", auto x_main_module_278 =
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"), mmain->add_instruction(migraphx::make_op("add"), x_main_module_276, x_main_module_277);
x_main_module_382, auto x_main_module_279 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_278);
x_main_module_92, auto x_main_module_280 = mmain->add_instruction(
x_main_module_91,
x_main_module_90,
x_main_module_89);
auto x_main_module_384 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_383);
auto x_main_module_385 = mmain->add_instruction(
migraphx::make_json_op("convolution", migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1," "{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"), "1],use_dynamic_same_auto_pad:0}"),
x_main_module_384, x_main_module_279,
x_main_module_88); x_main_module_97);
auto x_main_module_386 = mmain->add_instruction( auto x_main_module_281 = mmain->add_instruction(
migraphx::make_json_op( migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,1024,14,14]}"), x_main_module_98);
"batch_norm_inference", auto x_main_module_282 =
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"), mmain->add_instruction(migraphx::make_op("add"), x_main_module_280, x_main_module_281);
x_main_module_385, auto x_main_module_283 =
x_main_module_87, mmain->add_instruction(migraphx::make_op("add"), x_main_module_282, x_main_module_271);
x_main_module_86, auto x_main_module_284 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_283);
x_main_module_85, auto x_main_module_285 = mmain->add_instruction(
x_main_module_84);
auto x_main_module_387 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_386, x_main_module_378);
auto x_main_module_388 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_387);
auto x_main_module_389 = mmain->add_instruction(
migraphx::make_json_op("convolution", migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1," "{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"), "1],use_dynamic_same_auto_pad:0}"),
x_main_module_388, x_main_module_284,
x_main_module_83); x_main_module_99);
auto x_main_module_390 = mmain->add_instruction( auto x_main_module_286 = mmain->add_instruction(
migraphx::make_json_op( migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,256,14,14]}"), x_main_module_100);
"batch_norm_inference", auto x_main_module_287 =
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"), mmain->add_instruction(migraphx::make_op("add"), x_main_module_285, x_main_module_286);
x_main_module_389, auto x_main_module_288 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_287);
x_main_module_82, auto x_main_module_289 = mmain->add_instruction(
x_main_module_81,
x_main_module_80,
x_main_module_79);
auto x_main_module_391 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_390);
auto x_main_module_392 = mmain->add_instruction(
migraphx::make_json_op("convolution", migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1," "{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"), "1],use_dynamic_same_auto_pad:0}"),
x_main_module_391, x_main_module_288,
x_main_module_78); x_main_module_101);
auto x_main_module_393 = mmain->add_instruction( auto x_main_module_290 = mmain->add_instruction(
migraphx::make_json_op( migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,256,14,14]}"), x_main_module_102);
"batch_norm_inference", auto x_main_module_291 =
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"), mmain->add_instruction(migraphx::make_op("add"), x_main_module_289, x_main_module_290);
x_main_module_392, auto x_main_module_292 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_291);
x_main_module_77, auto x_main_module_293 = mmain->add_instruction(
x_main_module_76,
x_main_module_75,
x_main_module_74);
auto x_main_module_394 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_393);
auto x_main_module_395 = mmain->add_instruction(
migraphx::make_json_op("convolution", migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1," "{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"), "1],use_dynamic_same_auto_pad:0}"),
x_main_module_394, x_main_module_292,
x_main_module_73); x_main_module_103);
auto x_main_module_396 = mmain->add_instruction( auto x_main_module_294 = mmain->add_instruction(
migraphx::make_json_op( migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,1024,14,14]}"), x_main_module_104);
"batch_norm_inference", auto x_main_module_295 =
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"), mmain->add_instruction(migraphx::make_op("add"), x_main_module_293, x_main_module_294);
x_main_module_395, auto x_main_module_296 =
x_main_module_72, mmain->add_instruction(migraphx::make_op("add"), x_main_module_295, x_main_module_284);
x_main_module_71, auto x_main_module_297 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_296);
x_main_module_70, auto x_main_module_298 = mmain->add_instruction(
x_main_module_69);
auto x_main_module_397 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_396, x_main_module_388);
auto x_main_module_398 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_397);
auto x_main_module_399 = mmain->add_instruction(
migraphx::make_json_op("convolution", migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1," "{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"), "1],use_dynamic_same_auto_pad:0}"),
x_main_module_398, x_main_module_297,
x_main_module_68); x_main_module_105);
auto x_main_module_400 = mmain->add_instruction( auto x_main_module_299 = mmain->add_instruction(
migraphx::make_json_op( migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,256,14,14]}"), x_main_module_106);
"batch_norm_inference", auto x_main_module_300 =
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"), mmain->add_instruction(migraphx::make_op("add"), x_main_module_298, x_main_module_299);
x_main_module_399, auto x_main_module_301 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_300);
x_main_module_67, auto x_main_module_302 = mmain->add_instruction(
x_main_module_66,
x_main_module_65,
x_main_module_64);
auto x_main_module_401 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_400);
auto x_main_module_402 = mmain->add_instruction(
migraphx::make_json_op("convolution", migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1," "{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"), "1],use_dynamic_same_auto_pad:0}"),
x_main_module_401, x_main_module_301,
x_main_module_63); x_main_module_107);
auto x_main_module_403 = mmain->add_instruction( auto x_main_module_303 = mmain->add_instruction(
migraphx::make_json_op( migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,256,14,14]}"), x_main_module_108);
"batch_norm_inference", auto x_main_module_304 =
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"), mmain->add_instruction(migraphx::make_op("add"), x_main_module_302, x_main_module_303);
x_main_module_402, auto x_main_module_305 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_304);
x_main_module_62, auto x_main_module_306 = mmain->add_instruction(
x_main_module_61,
x_main_module_60,
x_main_module_59);
auto x_main_module_404 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_403);
auto x_main_module_405 = mmain->add_instruction(
migraphx::make_json_op("convolution", migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1," "{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"), "1],use_dynamic_same_auto_pad:0}"),
x_main_module_404, x_main_module_305,
x_main_module_58); x_main_module_109);
auto x_main_module_406 = mmain->add_instruction( auto x_main_module_307 = mmain->add_instruction(
migraphx::make_json_op( migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,1024,14,14]}"), x_main_module_110);
"batch_norm_inference", auto x_main_module_308 =
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"), mmain->add_instruction(migraphx::make_op("add"), x_main_module_306, x_main_module_307);
x_main_module_405, auto x_main_module_309 =
x_main_module_57, mmain->add_instruction(migraphx::make_op("add"), x_main_module_308, x_main_module_297);
x_main_module_56, auto x_main_module_310 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_309);
x_main_module_55, auto x_main_module_311 = mmain->add_instruction(
x_main_module_54); migraphx::make_json_op("convolution",
auto x_main_module_407 = "{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[2,"
mmain->add_instruction(migraphx::make_op("add"), x_main_module_406, x_main_module_398); "2],use_dynamic_same_auto_pad:0}"),
auto x_main_module_408 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_407); x_main_module_310,
auto x_main_module_409 = mmain->add_instruction( x_main_module_111);
auto x_main_module_312 = mmain->add_instruction(
migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,2048,7,7]}"), x_main_module_112);
auto x_main_module_313 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_311, x_main_module_312);
auto x_main_module_314 = mmain->add_instruction(
migraphx::make_json_op("convolution", migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1," "{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"), "1],use_dynamic_same_auto_pad:0}"),
x_main_module_408, x_main_module_310,
x_main_module_53); x_main_module_113);
auto x_main_module_410 = mmain->add_instruction( auto x_main_module_315 = mmain->add_instruction(
migraphx::make_json_op( migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,512,14,14]}"), x_main_module_3);
"batch_norm_inference", auto x_main_module_316 =
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"), mmain->add_instruction(migraphx::make_op("add"), x_main_module_314, x_main_module_315);
x_main_module_409, auto x_main_module_317 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_316);
x_main_module_52, auto x_main_module_318 = mmain->add_instruction(
x_main_module_51,
x_main_module_50,
x_main_module_49);
auto x_main_module_411 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_410);
auto x_main_module_412 = mmain->add_instruction(
migraphx::make_json_op("convolution", migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[2," "{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[2,"
"2],use_dynamic_same_auto_pad:0}"), "2],use_dynamic_same_auto_pad:0}"),
x_main_module_411, x_main_module_317,
x_main_module_48); x_main_module_4);
auto x_main_module_413 = mmain->add_instruction( auto x_main_module_319 = mmain->add_instruction(
migraphx::make_json_op( migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,512,7,7]}"), x_main_module_5);
"batch_norm_inference", auto x_main_module_320 =
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"), mmain->add_instruction(migraphx::make_op("add"), x_main_module_318, x_main_module_319);
x_main_module_412, auto x_main_module_321 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_320);
x_main_module_47, auto x_main_module_322 = mmain->add_instruction(
x_main_module_46,
x_main_module_45,
x_main_module_44);
auto x_main_module_414 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_413);
auto x_main_module_415 = mmain->add_instruction(
migraphx::make_json_op("convolution", migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1," "{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"), "1],use_dynamic_same_auto_pad:0}"),
x_main_module_414, x_main_module_321,
x_main_module_43); x_main_module_6);
auto x_main_module_416 = mmain->add_instruction( auto x_main_module_323 = mmain->add_instruction(
migraphx::make_json_op( migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,2048,7,7]}"), x_main_module_8);
"batch_norm_inference", auto x_main_module_324 =
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"), mmain->add_instruction(migraphx::make_op("add"), x_main_module_322, x_main_module_323);
x_main_module_415, auto x_main_module_325 =
x_main_module_42, mmain->add_instruction(migraphx::make_op("add"), x_main_module_324, x_main_module_313);
x_main_module_41, auto x_main_module_326 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_325);
x_main_module_40, auto x_main_module_327 = mmain->add_instruction(
x_main_module_39);
auto x_main_module_417 = mmain->add_instruction(
migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[2,"
"2],use_dynamic_same_auto_pad:0}"),
x_main_module_408,
x_main_module_38);
auto x_main_module_418 = mmain->add_instruction(
migraphx::make_json_op(
"batch_norm_inference",
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"),
x_main_module_417,
x_main_module_37,
x_main_module_36,
x_main_module_35,
x_main_module_34);
auto x_main_module_419 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_416, x_main_module_418);
auto x_main_module_420 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_419);
auto x_main_module_421 = mmain->add_instruction(
migraphx::make_json_op("convolution", migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1," "{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"), "1],use_dynamic_same_auto_pad:0}"),
x_main_module_420, x_main_module_326,
x_main_module_33); x_main_module_10);
auto x_main_module_422 = mmain->add_instruction( auto x_main_module_328 = mmain->add_instruction(
migraphx::make_json_op( migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,512,7,7]}"), x_main_module_12);
"batch_norm_inference", auto x_main_module_329 =
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"), mmain->add_instruction(migraphx::make_op("add"), x_main_module_327, x_main_module_328);
x_main_module_421, auto x_main_module_330 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_329);
x_main_module_32, auto x_main_module_331 = mmain->add_instruction(
x_main_module_31,
x_main_module_30,
x_main_module_29);
auto x_main_module_423 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_422);
auto x_main_module_424 = mmain->add_instruction(
migraphx::make_json_op("convolution", migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1," "{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"), "1],use_dynamic_same_auto_pad:0}"),
x_main_module_423, x_main_module_330,
x_main_module_28); x_main_module_14);
auto x_main_module_425 = mmain->add_instruction( auto x_main_module_332 = mmain->add_instruction(
migraphx::make_json_op( migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,512,7,7]}"), x_main_module_16);
"batch_norm_inference", auto x_main_module_333 =
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"), mmain->add_instruction(migraphx::make_op("add"), x_main_module_331, x_main_module_332);
x_main_module_424, auto x_main_module_334 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_333);
x_main_module_27, auto x_main_module_335 = mmain->add_instruction(
x_main_module_26,
x_main_module_25,
x_main_module_24);
auto x_main_module_426 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_425);
auto x_main_module_427 = mmain->add_instruction(
migraphx::make_json_op("convolution", migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1," "{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"), "1],use_dynamic_same_auto_pad:0}"),
x_main_module_426, x_main_module_334,
x_main_module_23); x_main_module_18);
auto x_main_module_428 = mmain->add_instruction( auto x_main_module_336 = mmain->add_instruction(
migraphx::make_json_op( migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,2048,7,7]}"), x_main_module_20);
"batch_norm_inference", auto x_main_module_337 =
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"), mmain->add_instruction(migraphx::make_op("add"), x_main_module_335, x_main_module_336);
x_main_module_427, auto x_main_module_338 =
x_main_module_22, mmain->add_instruction(migraphx::make_op("add"), x_main_module_337, x_main_module_326);
x_main_module_21, auto x_main_module_339 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_338);
x_main_module_20, auto x_main_module_340 = mmain->add_instruction(
x_main_module_19);
auto x_main_module_429 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_428, x_main_module_420);
auto x_main_module_430 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_429);
auto x_main_module_431 = mmain->add_instruction(
migraphx::make_json_op("convolution", migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1," "{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"), "1],use_dynamic_same_auto_pad:0}"),
x_main_module_430, x_main_module_339,
x_main_module_18); x_main_module_22);
auto x_main_module_432 = mmain->add_instruction( auto x_main_module_341 = mmain->add_instruction(
migraphx::make_json_op( migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,512,7,7]}"), x_main_module_24);
"batch_norm_inference", auto x_main_module_342 =
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"), mmain->add_instruction(migraphx::make_op("add"), x_main_module_340, x_main_module_341);
x_main_module_431, auto x_main_module_343 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_342);
x_main_module_17, auto x_main_module_344 = mmain->add_instruction(
x_main_module_16,
x_main_module_15,
x_main_module_14);
auto x_main_module_433 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_432);
auto x_main_module_434 = mmain->add_instruction(
migraphx::make_json_op("convolution", migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1," "{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"), "1],use_dynamic_same_auto_pad:0}"),
x_main_module_433, x_main_module_343,
x_main_module_13); x_main_module_26);
auto x_main_module_435 = mmain->add_instruction( auto x_main_module_345 = mmain->add_instruction(
migraphx::make_json_op( migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,512,7,7]}"), x_main_module_28);
"batch_norm_inference", auto x_main_module_346 =
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"), mmain->add_instruction(migraphx::make_op("add"), x_main_module_344, x_main_module_345);
x_main_module_434, auto x_main_module_347 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_346);
x_main_module_12, auto x_main_module_348 = mmain->add_instruction(
x_main_module_11,
x_main_module_10,
x_main_module_9);
auto x_main_module_436 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_435);
auto x_main_module_437 = mmain->add_instruction(
migraphx::make_json_op("convolution", migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1," "{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"), "1],use_dynamic_same_auto_pad:0}"),
x_main_module_436, x_main_module_347,
x_main_module_8); x_main_module_30);
auto x_main_module_438 = mmain->add_instruction( auto x_main_module_349 = mmain->add_instruction(
migraphx::make_json_op( migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,2048,7,7]}"), x_main_module_32);
"batch_norm_inference", auto x_main_module_350 =
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"), mmain->add_instruction(migraphx::make_op("add"), x_main_module_348, x_main_module_349);
x_main_module_437, auto x_main_module_351 =
x_main_module_7, mmain->add_instruction(migraphx::make_op("add"), x_main_module_350, x_main_module_339);
x_main_module_6, auto x_main_module_352 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_351);
x_main_module_5, auto x_main_module_353 = mmain->add_instruction(
x_main_module_4); migraphx::make_json_op("reduce_mean", "{axes:[2,3]}"), x_main_module_352);
auto x_main_module_439 = auto x_main_module_354 = mmain->add_instruction(
mmain->add_instruction(migraphx::make_op("add"), x_main_module_438, x_main_module_430); migraphx::make_json_op("reshape", "{dims:[-1,1,1,2048]}"), x_main_module_353);
auto x_main_module_440 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_439); auto x_main_module_355 = mmain->add_instruction(
auto x_main_module_441 = mmain->add_instruction( migraphx::make_json_op("squeeze", "{axes:[1,2]}"), x_main_module_354);
migraphx::make_json_op( auto x_main_module_356 =
"pooling", mmain->add_instruction(migraphx::make_op("dot"), x_main_module_355, x_main_module_92);
"{ceil_mode:0,lengths:[7,7],lp_order:2,mode:0,padding:[0,0,0,0],stride:[1,1]}"), auto x_main_module_357 = mmain->add_instruction(
x_main_module_440); migraphx::make_json_op("multibroadcast", "{out_lens:[1,1001]}"), x_main_module_90);
auto x_main_module_442 = auto x_main_module_358 =
mmain->add_instruction(migraphx::make_json_op("flatten", "{axis:1}"), x_main_module_441); mmain->add_instruction(migraphx::make_op("add"), x_main_module_356, x_main_module_357);
auto x_main_module_443 = mmain->add_instruction( auto x_main_module_359 =
migraphx::make_json_op("transpose", "{permutation:[1,0]}"), x_main_module_3); mmain->add_instruction(migraphx::make_op("identity"), x_main_module_358);
auto x_main_module_444 = auto x_main_module_360 =
mmain->add_instruction(migraphx::make_op("dot"), x_main_module_442, x_main_module_443); mmain->add_instruction(migraphx::make_json_op("softmax", "{axis:1}"), x_main_module_359);
auto x_main_module_445 = mmain->add_instruction( auto x_main_module_361 =
migraphx::make_json_op("multibroadcast", "{out_lens:[1,1000]}"), x_main_module_2); mmain->add_instruction(migraphx::make_op("identity"), x_main_module_360);
auto x_main_module_446 = mmain->add_instruction( auto x_main_module_362 =
migraphx::make_json_op("multibroadcast", "{out_lens:[1,1000]}"), x_main_module_0); mmain->add_instruction(migraphx::make_json_op("argmax", "{axis:1}"), x_main_module_359);
auto x_main_module_447 = auto x_main_module_363 =
mmain->add_instruction(migraphx::make_op("mul"), x_main_module_445, x_main_module_446); mmain->add_instruction(migraphx::make_json_op("squeeze", "{axes:[1]}"), x_main_module_362);
auto x_main_module_448 = auto x_main_module_364 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_444, x_main_module_447); mmain->add_instruction(migraphx::make_op("identity"), x_main_module_363);
mmain->add_return({x_main_module_448}); mmain->add_return({x_main_module_364, x_main_module_361});
return p; return p;
} }
......
/*
* The MIT License (MIT)
*
* Copyright (c) 2015-2022 Advanced Micro Devices, Inc. All rights reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
#ifndef MIGRAPHX_GUARD_OPERATORS_BATCH_NORM_HPP
#define MIGRAPHX_GUARD_OPERATORS_BATCH_NORM_HPP
#include <migraphx/check_shapes.hpp>
#include <migraphx/config.hpp>
#include <cmath>
namespace migraphx {
inline namespace MIGRAPHX_INLINE_NS {
namespace op {
struct batch_norm_inference
{
float epsilon = 1.0e-6f;
float momentum = 0.9f;
std::string name() const { return "batch_norm_inference"; }
enum bn_infer_mode_t
{
per_activation,
spatial,
};
bn_infer_mode_t bn_mode = spatial;
template <class Self, class F>
static auto reflect(Self& self, F f)
{
return pack(
f(self.epsilon, "epsilon"), f(self.momentum, "momentum"), f(self.bn_mode, "bn_mode"));
}
shape compute_shape(std::vector<shape> inputs) const
{
check_shapes{inputs, *this}.has(5);
check_shapes{inputs.data(), inputs.data() + 1, *this}.same_ndims();
check_shapes{inputs.data() + 1, inputs.data() + inputs.size(), *this}.same_shape();
return inputs.front();
}
};
} // namespace op
} // namespace MIGRAPHX_INLINE_NS
} // namespace migraphx
#endif
...@@ -33,11 +33,11 @@ namespace migraphx { ...@@ -33,11 +33,11 @@ namespace migraphx {
inline namespace MIGRAPHX_INLINE_NS { inline namespace MIGRAPHX_INLINE_NS {
namespace op { namespace op {
// Padding mode is default_ for fixed shape padding.
// same_lower and same_upper used for dynamic padding.
enum padding_mode_t enum padding_mode_t
{ {
default_, // NOLINT default_, // NOLINT
same,
valid,
same_lower, same_lower,
same_upper same_upper
}; };
......
...@@ -41,9 +41,8 @@ struct convolution ...@@ -41,9 +41,8 @@ struct convolution
std::vector<std::size_t> stride = {1, 1}; std::vector<std::size_t> stride = {1, 1};
std::vector<std::size_t> dilation = {1, 1}; std::vector<std::size_t> dilation = {1, 1};
int group = 1; int group = 1;
padding_mode_t padding_mode = default_; padding_mode_t padding_mode = default_;
bool use_dynamic_same_auto_pad = false;
template <class Self, class F> template <class Self, class F>
static auto reflect(Self& self, F f) static auto reflect(Self& self, F f)
...@@ -52,8 +51,7 @@ struct convolution ...@@ -52,8 +51,7 @@ struct convolution
f(self.stride, "stride"), f(self.stride, "stride"),
f(self.dilation, "dilation"), f(self.dilation, "dilation"),
f(self.group, "group"), f(self.group, "group"),
f(self.padding_mode, "padding_mode"), f(self.padding_mode, "padding_mode"));
f(self.use_dynamic_same_auto_pad, "use_dynamic_same_auto_pad"));
} }
std::string name() const { return "convolution"; } std::string name() const { return "convolution"; }
...@@ -93,13 +91,6 @@ struct convolution ...@@ -93,13 +91,6 @@ struct convolution
x_shape.lens().at(1) != (w_shape.lens().at(1) * group)) x_shape.lens().at(1) != (w_shape.lens().at(1) * group))
MIGRAPHX_THROW("CONVOLUTION: mismatched channel numbers"); MIGRAPHX_THROW("CONVOLUTION: mismatched channel numbers");
std::vector<op::padding_mode_t> dyn_pad_modes = {op::padding_mode_t::same_upper,
op::padding_mode_t::same_lower};
if(use_dynamic_same_auto_pad and not contains(dyn_pad_modes, padding_mode))
{
MIGRAPHX_THROW("CONVOLUTION: use_dynamic_same_auto_pad set with invalid padding mode");
}
if(x_shape.dynamic() or w_shape.dynamic()) if(x_shape.dynamic() or w_shape.dynamic())
{ {
return dynamic_compute_shape(x_shape, w_shape); return dynamic_compute_shape(x_shape, w_shape);
...@@ -161,7 +152,7 @@ struct convolution ...@@ -161,7 +152,7 @@ struct convolution
dynamic_shape_push_back(w_shape); dynamic_shape_push_back(w_shape);
const size_t num_spatial_dims = x_shape.max_lens().size() - 2; const size_t num_spatial_dims = x_shape.max_lens().size() - 2;
if(use_dynamic_same_auto_pad) if(padding_mode != default_)
{ {
for(std::size_t i = 0; i < num_spatial_dims; ++i) for(std::size_t i = 0; i < num_spatial_dims; ++i)
{ {
......
...@@ -41,9 +41,8 @@ struct quant_convolution ...@@ -41,9 +41,8 @@ struct quant_convolution
std::vector<std::size_t> stride = {1, 1}; std::vector<std::size_t> stride = {1, 1};
std::vector<std::size_t> dilation = {1, 1}; std::vector<std::size_t> dilation = {1, 1};
padding_mode_t padding_mode = default_; padding_mode_t padding_mode = default_;
int group = 1; int group = 1;
bool use_dynamic_same_auto_pad = false;
template <class Self, class F> template <class Self, class F>
static auto reflect(Self& self, F f) static auto reflect(Self& self, F f)
...@@ -52,8 +51,7 @@ struct quant_convolution ...@@ -52,8 +51,7 @@ struct quant_convolution
f(self.stride, "stride"), f(self.stride, "stride"),
f(self.dilation, "dilation"), f(self.dilation, "dilation"),
f(self.padding_mode, "padding_mode"), f(self.padding_mode, "padding_mode"),
f(self.group, "group"), f(self.group, "group"));
f(self.use_dynamic_same_auto_pad, "use_dynamic_same_auto_pad"));
} }
value attributes() const value attributes() const
......
...@@ -35,7 +35,6 @@ ...@@ -35,7 +35,6 @@
#include <migraphx/op/as_shape.hpp> #include <migraphx/op/as_shape.hpp>
#include <migraphx/op/atan.hpp> #include <migraphx/op/atan.hpp>
#include <migraphx/op/atanh.hpp> #include <migraphx/op/atanh.hpp>
#include <migraphx/op/batch_norm_inference.hpp>
#include <migraphx/op/binary.hpp> #include <migraphx/op/binary.hpp>
#include <migraphx/op/broadcast.hpp> #include <migraphx/op/broadcast.hpp>
#include <migraphx/op/capture.hpp> #include <migraphx/op/capture.hpp>
......
...@@ -24,9 +24,10 @@ ...@@ -24,9 +24,10 @@
#ifndef MIGRAPHX_GUARD_OPERATORS_PAD_CALC_HPP #ifndef MIGRAPHX_GUARD_OPERATORS_PAD_CALC_HPP
#define MIGRAPHX_GUARD_OPERATORS_PAD_CALC_HPP #define MIGRAPHX_GUARD_OPERATORS_PAD_CALC_HPP
#include <migraphx/config.hpp>
#include <cstdint> #include <cstdint>
#include <vector> #include <vector>
#include <migraphx/config.hpp>
#include <migraphx/shape.hpp>
namespace migraphx { namespace migraphx {
inline namespace MIGRAPHX_INLINE_NS { inline namespace MIGRAPHX_INLINE_NS {
...@@ -42,18 +43,21 @@ void calculate_padding(int64_t idx, ...@@ -42,18 +43,21 @@ void calculate_padding(int64_t idx,
/*! /*!
* Calculate the padding for auto_padding. Used for dynamic shapes * Calculate the padding for auto_padding. Used for dynamic shapes
* where the padding calculation must be done at evaluation time. * where the padding calculation must be done at evaluation time.
* \param tensor_lens input tensor image shape
* \param k_lens weights kernel shape
* \param strides strides for the kernel
* \param dilations dilations for the kernel
* \param use_upper put odd padding on upper or lower side
* \return padding in the form of {x0_begin, x1_begin, ... x0_end , x1_end, ...} * \return padding in the form of {x0_begin, x1_begin, ... x0_end , x1_end, ...}
*/ */
std::vector<std::size_t> calc_dyn_auto_pad(std::vector<std::size_t> tensor_lens, std::vector<std::size_t> calc_dyn_auto_pad(const std::vector<std::size_t>& input_lens,
std::vector<std::size_t> k_lens, const std::vector<std::size_t>& wei_lens,
std::vector<std::size_t> strides, const std::vector<std::size_t>& strides,
std::vector<std::size_t> dilations, const std::vector<std::size_t>& dilations,
bool use_upper = true); bool use_upper);
// Used for dynamic auto padding of convolution operators since padding needs to be computed at
// evaulation time.
shape compute_padded_shape(const shape& input,
const shape& weights,
const std::vector<std::size_t>& padding,
const std::vector<std::size_t>& stride,
const std::vector<std::size_t>& dilation);
} // namespace MIGRAPHX_INLINE_NS } // namespace MIGRAPHX_INLINE_NS
} // namespace migraphx } // namespace migraphx
......
/*
* The MIT License (MIT)
*
* Copyright (c) 2015-2022 Advanced Micro Devices, Inc. All rights reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
#ifndef MIGRAPHX_GUARD_RTGLIB_FWD_CONV_BATCHNORM_REWRITE_HPP
#define MIGRAPHX_GUARD_RTGLIB_FWD_CONV_BATCHNORM_REWRITE_HPP
#include <string>
#include <migraphx/instruction_ref.hpp>
#include <migraphx/config.hpp>
namespace migraphx {
inline namespace MIGRAPHX_INLINE_NS {
struct module;
/**
* Rewrite batchnorm to a multiply and add.
*/
struct rewrite_batchnorm
{
std::string name() const { return "rewrite_batchnorm"; }
void apply(module& m) const;
};
} // namespace MIGRAPHX_INLINE_NS
} // namespace migraphx
#endif
...@@ -125,11 +125,9 @@ struct parse_convolution : op_parser<parse_convolution> ...@@ -125,11 +125,9 @@ struct parse_convolution : op_parser<parse_convolution>
values["padding_mode"] = is_same_upper values["padding_mode"] = is_same_upper
? to_value(op::padding_mode_t::same_upper) ? to_value(op::padding_mode_t::same_upper)
: to_value(op::padding_mode_t::same_lower); : to_value(op::padding_mode_t::same_lower);
values["use_dynamic_same_auto_pad"] = true;
} }
else else
{ {
values["padding_mode"] = to_value(op::padding_mode_t::same);
// kernel shape will be fixed, so max_lens() == min_len() for kernel lengths // kernel shape will be fixed, so max_lens() == min_len() for kernel lengths
auto weight_lens = weights->get_shape().max_lens(); auto weight_lens = weights->get_shape().max_lens();
std::vector<std::size_t> k_lens(weight_lens.begin() + 2, weight_lens.end()); std::vector<std::size_t> k_lens(weight_lens.begin() + 2, weight_lens.end());
......
...@@ -95,6 +95,8 @@ struct parse_deconvolution : op_parser<parse_deconvolution> ...@@ -95,6 +95,8 @@ struct parse_deconvolution : op_parser<parse_deconvolution>
check_attr_sizes( check_attr_sizes(
kdims, values["dilation"].size(), "PARSE_CONV_TRANSPOSE: inconsistent dilations"); kdims, values["dilation"].size(), "PARSE_CONV_TRANSPOSE: inconsistent dilations");
} }
// TODO: auto padding needs to be implemented for this parser and operator
if(contains(info.attributes, "auto_pad")) if(contains(info.attributes, "auto_pad"))
{ {
auto s = info.attributes["auto_pad"].s(); auto s = info.attributes["auto_pad"].s();
...@@ -106,7 +108,9 @@ struct parse_deconvolution : op_parser<parse_deconvolution> ...@@ -106,7 +108,9 @@ struct parse_deconvolution : op_parser<parse_deconvolution>
if(s.find("SAME") != std::string::npos) if(s.find("SAME") != std::string::npos)
{ {
values["padding_mode"] = to_value(op::padding_mode_t::same); bool is_same_upper = (s.find("SAME_UPPER") != std::string::npos);
values["padding_mode"] = is_same_upper ? to_value(op::padding_mode_t::same_upper)
: to_value(op::padding_mode_t::same_lower);
} }
} }
......
...@@ -52,19 +52,21 @@ void calculate_padding(int64_t idx, ...@@ -52,19 +52,21 @@ void calculate_padding(int64_t idx,
} }
} }
std::vector<std::size_t> calc_dyn_auto_pad(std::vector<std::size_t> tensor_lens, std::vector<std::size_t> calc_dyn_auto_pad(const std::vector<std::size_t>& input_lens,
std::vector<std::size_t> k_lens, const std::vector<std::size_t>& wei_lens,
std::vector<std::size_t> strides, const std::vector<std::size_t>& strides,
std::vector<std::size_t> dilations, const std::vector<std::size_t>& dilations,
bool use_upper) bool use_upper)
{ {
std::vector<std::size_t> padding; std::vector<std::size_t> padding;
padding.resize(2 * k_lens.size()); assert(input_lens.size() >= 3);
for(std::size_t i = 0; i < padding.size() / 2; i++) std::size_t num_spatial_dims = input_lens.size() - 2;
padding.resize(2 * num_spatial_dims);
for(std::size_t i = 0; i < num_spatial_dims; i++)
{ {
std::ptrdiff_t input_dim = tensor_lens[i]; std::ptrdiff_t input_dim = input_lens[i + 2];
std::ptrdiff_t stride = strides[i]; std::ptrdiff_t stride = strides[i];
std::ptrdiff_t weight_dim = k_lens[i]; std::ptrdiff_t weight_dim = wei_lens[i + 2];
std::ptrdiff_t dilation = dilations[i]; std::ptrdiff_t dilation = dilations[i];
std::ptrdiff_t output_dim = (input_dim + stride - 1) / stride; // round up result std::ptrdiff_t output_dim = (input_dim + stride - 1) / stride; // round up result
std::ptrdiff_t new_weight_dim = weight_dim + (weight_dim - 1) * (dilation - 1); std::ptrdiff_t new_weight_dim = weight_dim + (weight_dim - 1) * (dilation - 1);
...@@ -86,5 +88,28 @@ std::vector<std::size_t> calc_dyn_auto_pad(std::vector<std::size_t> tensor_lens, ...@@ -86,5 +88,28 @@ std::vector<std::size_t> calc_dyn_auto_pad(std::vector<std::size_t> tensor_lens,
return padding; return padding;
} }
shape compute_padded_shape(const shape& input,
const shape& weights,
const std::vector<std::size_t>& padding,
const std::vector<std::size_t>& stride,
const std::vector<std::size_t>& dilation)
{
const size_t num_spatial_dims = input.lens().size() - 2;
std::vector<size_t> output_lens{input.lens()[0], weights.lens()[0]};
// calculate the output shape of the convolution: ((W - K + 2P) / S) + 1
for(size_t i = 0; i < num_spatial_dims; ++i)
{
auto padding_factor = padding[i] + padding[i + num_spatial_dims];
output_lens.push_back(std::size_t(std::max<std::ptrdiff_t>(
1,
(input.lens()[i + 2] - (1 + dilation[i] * (weights.lens()[i + 2] - 1)) +
padding_factor) /
stride[i] +
1)));
}
return input.with_lens(output_lens);
}
} // namespace MIGRAPHX_INLINE_NS } // namespace MIGRAPHX_INLINE_NS
} // namespace migraphx } // namespace migraphx
/*
* The MIT License (MIT)
*
* Copyright (c) 2015-2022 Advanced Micro Devices, Inc. All rights reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
#include <migraphx/rewrite_batchnorm.hpp>
#include <migraphx/program.hpp>
#include <migraphx/instruction.hpp>
#include <migraphx/op/batch_norm_inference.hpp>
#include <migraphx/op/broadcast.hpp>
#include <migraphx/op/add.hpp>
#include <migraphx/op/mul.hpp>
#include <migraphx/iterator_for.hpp>
#include <migraphx/ranges.hpp>
#include <migraphx/make_op.hpp>
#include <migraphx/dfor.hpp>
namespace migraphx {
inline namespace MIGRAPHX_INLINE_NS {
void rewrite_batchnorm::apply(module& m) const
{
for(auto ins : iterator_for(m))
{
if(ins->name() != "batch_norm_inference")
continue;
// Get scale, bias, mean, variance from inputs
auto gamma = ins->inputs()[1]->eval();
auto bias = ins->inputs()[2]->eval();
auto mean = ins->inputs()[3]->eval();
auto variance = ins->inputs()[4]->eval();
if(any_of({gamma, bias, mean, variance}, [](auto arg) { return arg.empty(); }))
continue;
std::vector<std::size_t> lens = ins->inputs()[1]->get_shape().lens();
shape s{ins->get_shape().type(), lens};
// Get epsilon
auto bn_op = any_cast<op::batch_norm_inference>(ins->get_operator());
auto epsilon = bn_op.epsilon;
argument a{s};
argument b{s};
visit_all(gamma, bias, mean, variance, a, b)(
[&](auto gamma2, auto bias2, auto mean2, auto variance2, auto a2, auto b2) {
dfor(a.get_shape().elements())(
[&](std::size_t c) { a2[c] = gamma2[c] / std::sqrt(variance2[c] + epsilon); });
dfor(b.get_shape().elements())([&](std::size_t c) {
b2[c] = bias2[c] - (gamma2[c] * mean2[c] / std::sqrt(variance2[c] + epsilon));
});
});
auto broadcast = op::broadcast{1, ins->get_shape().lens()};
auto a_ins = m.add_literal({a.get_shape(), a.data()});
auto a_broadcast = m.insert_instruction(ins, broadcast, a_ins);
auto mul = m.insert_instruction(ins, make_op("mul"), ins->inputs().front(), a_broadcast);
auto b_ins = m.add_literal({b.get_shape(), b.data()});
auto b_broadcast = m.insert_instruction(ins, broadcast, b_ins);
auto add = m.insert_instruction(ins, make_op("add"), mul, b_broadcast);
m.replace_instruction(ins, add);
}
}
} // namespace MIGRAPHX_INLINE_NS
} // namespace migraphx
...@@ -26,7 +26,6 @@ ...@@ -26,7 +26,6 @@
#include <migraphx/instruction.hpp> #include <migraphx/instruction.hpp>
#include <migraphx/dfor.hpp> #include <migraphx/dfor.hpp>
#include <migraphx/op/identity.hpp> #include <migraphx/op/identity.hpp>
#include <migraphx/op/batch_norm_inference.hpp>
#include <migraphx/op/convolution.hpp> #include <migraphx/op/convolution.hpp>
#include <migraphx/op/deconvolution.hpp> #include <migraphx/op/deconvolution.hpp>
#include <migraphx/op/quant_convolution.hpp> #include <migraphx/op/quant_convolution.hpp>
......
...@@ -37,7 +37,6 @@ ...@@ -37,7 +37,6 @@
#include <migraphx/propagate_constant.hpp> #include <migraphx/propagate_constant.hpp>
#include <migraphx/register_target.hpp> #include <migraphx/register_target.hpp>
#include <migraphx/replace_allocate.hpp> #include <migraphx/replace_allocate.hpp>
#include <migraphx/rewrite_batchnorm.hpp>
#include <migraphx/rewrite_pooling.hpp> #include <migraphx/rewrite_pooling.hpp>
#include <migraphx/rewrite_quantization.hpp> #include <migraphx/rewrite_quantization.hpp>
#include <migraphx/rewrite_rnn.hpp> #include <migraphx/rewrite_rnn.hpp>
...@@ -78,8 +77,6 @@ std::vector<pass> target::get_passes(migraphx::context& gctx, const compile_opti ...@@ -78,8 +77,6 @@ std::vector<pass> target::get_passes(migraphx::context& gctx, const compile_opti
eliminate_identity{}, eliminate_identity{},
eliminate_pad{}, eliminate_pad{},
dead_code_elimination{}, dead_code_elimination{},
rewrite_batchnorm{},
dead_code_elimination{},
rewrite_rnn{}, rewrite_rnn{},
dead_code_elimination{}, dead_code_elimination{},
eliminate_common_subexpression{}, eliminate_common_subexpression{},
......
...@@ -78,7 +78,6 @@ add_library(migraphx_gpu ...@@ -78,7 +78,6 @@ add_library(migraphx_gpu
allocation_model.cpp allocation_model.cpp
argmax.cpp argmax.cpp
argmin.cpp argmin.cpp
batch_norm_inference.cpp
code_object_op.cpp code_object_op.cpp
compile_ops.cpp compile_ops.cpp
compile_gen.cpp compile_gen.cpp
...@@ -146,7 +145,6 @@ register_migraphx_gpu_ops(hip_ ...@@ -146,7 +145,6 @@ register_migraphx_gpu_ops(hip_
) )
register_migraphx_gpu_ops(miopen_ register_migraphx_gpu_ops(miopen_
abs abs
batch_norm_inference
contiguous contiguous
convolution convolution
deconvolution deconvolution
......
/*
* The MIT License (MIT)
*
* Copyright (c) 2015-2022 Advanced Micro Devices, Inc. All rights reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
#include <migraphx/gpu/batch_norm_inference.hpp>
#include <migraphx/gpu/context.hpp>
namespace migraphx {
inline namespace MIGRAPHX_INLINE_NS {
namespace gpu {
shape miopen_batch_norm_inference::compute_shape(const std::vector<shape>& inputs) const
{
check_shapes{inputs, *this}.has(6);
check_shapes{inputs.data(), inputs.data() + 1, *this}.same_ndims().max_ndims(5);
return op.compute_shape({inputs.at(0), inputs.at(1), inputs.at(2), inputs.at(3), inputs.at(4)});
}
inline shape reshape_to_2d(const shape& input)
{
auto dims = input.lens();
if(dims.size() >= 4)
return input;
std::vector<size_t> new_dims(dims.begin(), dims.end());
std::size_t num = 4 - dims.size();
new_dims.insert(new_dims.end(), num, 1);
return {input.type(), new_dims};
}
argument miopen_batch_norm_inference::compute(context& ctx,
const shape& output_shape,
const std::vector<argument>& args) const
{
shape x_shape = args[0].get_shape();
shape y_shape = output_shape;
shape bn_shape = args[3].get_shape();
auto x_desc = make_tensor(reshape_to_2d(x_shape));
auto y_desc = make_tensor(reshape_to_2d(y_shape));
auto bn_desc = make_tensor(reshape_to_2d(bn_shape));
float alpha = 1.0;
float beta = 0.0f;
miopenBatchNormalizationForwardInference(ctx.get_stream().get_miopen(),
miopenBatchNormMode_t(op.bn_mode),
&alpha,
&beta,
x_desc.get(),
args[0].implicit(),
y_desc.get(),
args[5].implicit(),
bn_desc.get(),
args[1].implicit(),
args[2].implicit(),
args[3].implicit(),
args[4].implicit(),
op.epsilon);
return args[5];
}
} // namespace gpu
} // namespace MIGRAPHX_INLINE_NS
} // namespace migraphx
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment