Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
gaoqiong
MIGraphX
Commits
b41a56cf
Commit
b41a56cf
authored
Aug 25, 2022
by
turneram
Browse files
Merge remote-tracking branch 'origin/develop' into ck-proto
parents
cf1172c8
1704bb04
Changes
57
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
4142 additions
and
2950 deletions
+4142
-2950
.github/workflows/ci.yaml
.github/workflows/ci.yaml
+1
-0
.github/workflows/performance.yaml
.github/workflows/performance.yaml
+1
-3
src/CMakeLists.txt
src/CMakeLists.txt
+0
-1
src/api/include/migraphx/migraphx.hpp
src/api/include/migraphx/migraphx.hpp
+18
-18
src/driver/alexnet.cpp
src/driver/alexnet.cpp
+99
-128
src/driver/inceptionv3.cpp
src/driver/inceptionv3.cpp
+2468
-1772
src/driver/resnet50.cpp
src/driver/resnet50.cpp
+1355
-935
src/include/migraphx/make_op.hpp
src/include/migraphx/make_op.hpp
+4
-0
src/include/migraphx/onnx.hpp
src/include/migraphx/onnx.hpp
+6
-8
src/include/migraphx/op/convert.hpp
src/include/migraphx/op/convert.hpp
+9
-1
src/include/migraphx/op/nonmaxsuppression.hpp
src/include/migraphx/op/nonmaxsuppression.hpp
+103
-37
src/include/migraphx/supported_segments.hpp
src/include/migraphx/supported_segments.hpp
+12
-4
src/include/migraphx/target.hpp
src/include/migraphx/target.hpp
+33
-30
src/include/migraphx/target_assignments.hpp
src/include/migraphx/target_assignments.hpp
+13
-3
src/make_op.cpp
src/make_op.cpp
+5
-0
src/module.cpp
src/module.cpp
+6
-3
src/onnx/include/migraphx/onnx/onnx_parser.hpp
src/onnx/include/migraphx/onnx/onnx_parser.hpp
+1
-0
src/onnx/onnx.cpp
src/onnx/onnx.cpp
+7
-0
src/onnx/onnx_parser.cpp
src/onnx/onnx_parser.cpp
+0
-5
src/onnx/parse_generic_op.cpp
src/onnx/parse_generic_op.cpp
+1
-2
No files found.
.github/workflows/ci.yaml
View file @
b41a56cf
...
...
@@ -53,6 +53,7 @@ jobs:
CXX=/opt/rocm/llvm/bin/clang++ CC=/opt/rocm/llvm/bin/clang cmake \
-DMIGRAPHX_ENABLE_GPU=On \
-DMIGRAPHX_ENABLE_CPU=On \
-DMIGRAPHX_ENABLE_FPGA=On \
-DROCM_ENABLE_GH_ANNOTATIONS=On \
-DCLANG_TIDY_DEPEND_ON_TARGET=Off \
-DCLANG_TIDY_CACHE=/data/tidy-cache \
...
...
.github/workflows/performance.yaml
View file @
b41a56cf
name
:
MIGraphX Performance Tests
on
:
push
:
branches
:
[
develop
]
pull_request
:
branches
:
[
develop
]
types
:
[
opened
,
synchronize
,
closed
]
schedule
:
-
cron
:
"
0
5
*
*
1-6"
...
...
src/CMakeLists.txt
View file @
b41a56cf
...
...
@@ -90,7 +90,6 @@ add_library(migraphx
shape.cpp
simplify_algebra.cpp
simplify_reshapes.cpp
target_assignments.cpp
tmp_dir.cpp
value.cpp
verify_args.cpp
...
...
src/api/include/migraphx/migraphx.hpp
View file @
b41a56cf
...
...
@@ -517,7 +517,7 @@ struct shape : MIGRAPHX_CONST_HANDLE_BASE(shape)
MIGRAPHX_DEPRECATED
(
"Contructor without lifetime annotation is deprecated."
)
shape
(
const
migraphx_shape
*
p
)
{
this
->
set_handle
(
p
,
borrow
{});
}
MIGRAPHX_HANDLE_CONSTRUCTOR
(
shape
)
;
MIGRAPHX_HANDLE_CONSTRUCTOR
(
shape
)
/// Construct a scalar shape
shape
(
migraphx_shape_datatype_t
type
)
...
...
@@ -601,7 +601,7 @@ struct argument : MIGRAPHX_CONST_HANDLE_BASE(argument)
{
argument
()
{}
MIGRAPHX_HANDLE_CONSTRUCTOR
(
argument
)
;
MIGRAPHX_HANDLE_CONSTRUCTOR
(
argument
)
MIGRAPHX_DEPRECATED
(
"Contructor without lifetime annotation is deprecated."
)
argument
(
const
migraphx_argument
*
p
)
{
this
->
set_handle
(
p
,
borrow
{});
}
...
...
@@ -655,7 +655,7 @@ struct target : MIGRAPHX_HANDLE_BASE(target)
{
target
()
{}
MIGRAPHX_HANDLE_CONSTRUCTOR
(
target
)
;
MIGRAPHX_HANDLE_CONSTRUCTOR
(
target
)
/// Construct a target from its name
target
(
const
char
*
name
)
{
this
->
make_handle
(
&
migraphx_target_create
,
name
);
}
...
...
@@ -665,7 +665,7 @@ struct program_parameter_shapes : MIGRAPHX_HANDLE_BASE(program_parameter_shapes)
{
program_parameter_shapes
()
{}
MIGRAPHX_HANDLE_CONSTRUCTOR
(
program_parameter_shapes
)
;
MIGRAPHX_HANDLE_CONSTRUCTOR
(
program_parameter_shapes
)
size_t
size
()
const
{
...
...
@@ -695,7 +695,7 @@ struct program_parameter_shapes : MIGRAPHX_HANDLE_BASE(program_parameter_shapes)
/// A class to construct the inputs parameters for a program
struct
program_parameters
:
MIGRAPHX_HANDLE_BASE
(
program_parameters
)
{
MIGRAPHX_HANDLE_CONSTRUCTOR
(
program_parameters
)
;
MIGRAPHX_HANDLE_CONSTRUCTOR
(
program_parameters
)
MIGRAPHX_DEPRECATED
(
"Contructor without lifetime annotation is deprecated."
)
program_parameters
(
migraphx_program_parameters
*
p
)
{
this
->
set_handle
(
p
,
borrow
{});
}
...
...
@@ -722,7 +722,7 @@ struct program_parameters : MIGRAPHX_HANDLE_BASE(program_parameters)
struct
arguments
:
MIGRAPHX_HANDLE_BASE
(
arguments
),
array_base
<
arguments
>
{
MIGRAPHX_HANDLE_CONSTRUCTOR
(
arguments
)
;
MIGRAPHX_HANDLE_CONSTRUCTOR
(
arguments
)
size_t
size
()
const
{
...
...
@@ -741,7 +741,7 @@ struct arguments : MIGRAPHX_HANDLE_BASE(arguments), array_base<arguments>
struct
shapes
:
MIGRAPHX_HANDLE_BASE
(
shapes
),
array_base
<
shapes
>
{
MIGRAPHX_HANDLE_CONSTRUCTOR
(
shapes
)
;
MIGRAPHX_HANDLE_CONSTRUCTOR
(
shapes
)
size_t
size
()
const
{
...
...
@@ -760,7 +760,7 @@ struct shapes : MIGRAPHX_HANDLE_BASE(shapes), array_base<shapes>
struct
operation
:
MIGRAPHX_HANDLE_BASE
(
operation
)
{
MIGRAPHX_HANDLE_CONSTRUCTOR
(
operation
)
;
MIGRAPHX_HANDLE_CONSTRUCTOR
(
operation
)
template
<
class
...
Ts
>
operation
(
const
char
*
name
,
const
char
*
attributes
=
nullptr
,
Ts
...
xs
)
...
...
@@ -778,12 +778,12 @@ struct operation : MIGRAPHX_HANDLE_BASE(operation)
struct
instruction
:
MIGRAPHX_CONST_HANDLE_BASE
(
instruction
)
{
MIGRAPHX_HANDLE_CONSTRUCTOR
(
instruction
)
;
MIGRAPHX_HANDLE_CONSTRUCTOR
(
instruction
)
};
struct
instructions
:
MIGRAPHX_HANDLE_BASE
(
instructions
)
{
MIGRAPHX_HANDLE_CONSTRUCTOR
(
instructions
)
;
MIGRAPHX_HANDLE_CONSTRUCTOR
(
instructions
)
template
<
class
...
Ts
>
instructions
(
Ts
...
xs
)
...
...
@@ -797,7 +797,7 @@ struct module;
struct
modules
:
MIGRAPHX_HANDLE_BASE
(
modules
)
{
MIGRAPHX_HANDLE_CONSTRUCTOR
(
modules
)
;
MIGRAPHX_HANDLE_CONSTRUCTOR
(
modules
)
template
<
class
...
Ts
>
modules
(
Ts
...
xs
)
...
...
@@ -911,7 +911,7 @@ struct compile_options : MIGRAPHX_HANDLE_BASE(compile_options)
{
compile_options
()
{
this
->
make_handle
(
&
migraphx_compile_options_create
);
}
MIGRAPHX_HANDLE_CONSTRUCTOR
(
compile_options
)
;
MIGRAPHX_HANDLE_CONSTRUCTOR
(
compile_options
)
/// For targets with offloaded memory(such as the gpu), this will insert
/// instructions during compilation to copy the input parameters to the
...
...
@@ -935,7 +935,7 @@ struct program : MIGRAPHX_HANDLE_BASE(program)
{
program
()
{
this
->
make_handle
(
&
migraphx_program_create
);
}
MIGRAPHX_HANDLE_CONSTRUCTOR
(
program
)
;
MIGRAPHX_HANDLE_CONSTRUCTOR
(
program
)
/// Compile the program for a specific target to be ran on
void
compile
(
const
target
&
ptarget
,
const
compile_options
&
poptions
)
const
...
...
@@ -1021,7 +1021,7 @@ struct program : MIGRAPHX_HANDLE_BASE(program)
// options for migraphx file format options
struct
file_options
:
MIGRAPHX_HANDLE_BASE
(
file_options
)
{
MIGRAPHX_HANDLE_CONSTRUCTOR
(
file_options
)
;
MIGRAPHX_HANDLE_CONSTRUCTOR
(
file_options
)
file_options
()
{
this
->
make_handle
(
&
migraphx_file_options_create
);
}
// set file format
...
...
@@ -1063,7 +1063,7 @@ struct onnx_options : MIGRAPHX_HANDLE_BASE(onnx_options)
{
onnx_options
()
{
this
->
make_handle
(
&
migraphx_onnx_options_create
);
}
MIGRAPHX_HANDLE_CONSTRUCTOR
(
onnx_options
)
;
MIGRAPHX_HANDLE_CONSTRUCTOR
(
onnx_options
)
/// Make onnx parser treat an inputs with a certain dimensions
void
set_input_parameter_shape
(
const
std
::
string
&
name
,
std
::
vector
<
std
::
size_t
>
dim
)
...
...
@@ -1145,7 +1145,7 @@ struct tf_options : MIGRAPHX_HANDLE_BASE(tf_options)
{
tf_options
()
{
this
->
make_handle
(
&
migraphx_tf_options_create
);
}
MIGRAPHX_HANDLE_CONSTRUCTOR
(
tf_options
)
;
MIGRAPHX_HANDLE_CONSTRUCTOR
(
tf_options
)
/// Make tf parser treat an inputs with a certain dimensions
void
set_input_parameter_shape
(
const
std
::
string
&
name
,
std
::
vector
<
std
::
size_t
>
dim
)
...
...
@@ -1198,7 +1198,7 @@ struct quantize_op_names : MIGRAPHX_HANDLE_BASE(quantize_op_names)
{
quantize_op_names
()
{
this
->
make_handle
(
&
migraphx_quantize_op_names_create
);
}
MIGRAPHX_HANDLE_CONSTRUCTOR
(
quantize_op_names
)
;
MIGRAPHX_HANDLE_CONSTRUCTOR
(
quantize_op_names
)
void
add
(
const
std
::
string
&
name
)
{
...
...
@@ -1223,7 +1223,7 @@ struct quantize_int8_options : MIGRAPHX_HANDLE_BASE(quantize_int8_options)
{
quantize_int8_options
()
{
this
->
make_handle
(
&
migraphx_quantize_int8_options_create
);
}
MIGRAPHX_HANDLE_CONSTRUCTOR
(
quantize_int8_options
)
;
MIGRAPHX_HANDLE_CONSTRUCTOR
(
quantize_int8_options
)
/// Add an operator that should be quantized
void
add_op_name
(
const
std
::
string
&
name
)
...
...
src/driver/alexnet.cpp
View file @
b41a56cf
...
...
@@ -25,13 +25,10 @@
#include <migraphx/make_op.hpp>
#include <migraphx/program.hpp>
#include <migraphx/generate.hpp>
#include <migraphx/json.hpp>
#include "models.hpp"
namespace
migraphx
{
namespace
driver
{
inline
namespace
MIGRAPHX_INLINE_NS
{
migraphx
::
program
alexnet
(
unsigned
batch
)
// NOLINT(readability-function-size)
{
migraphx
::
program
p
;
...
...
@@ -42,179 +39,153 @@ migraphx::program alexnet(unsigned batch) // NOLINT(readability-function-size)
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1
}},
1
)));
auto
x_main_module_2
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1
}},
2
)));
auto
x_
input_1
=
mmain
->
add_parameter
(
"
input.1
"
,
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
batch
,
3
,
224
,
224
}});
auto
x_
0
=
mmain
->
add_parameter
(
"
0
"
,
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
batch
,
3
,
224
,
224
}});
auto
x_main_module_4
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
4096
,
4096
}},
3
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1000
}},
3
));
auto
x_main_module_5
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
4096
}},
4
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1000
,
4096
}},
4
));
auto
x_main_module_6
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
4096
,
9216
}},
5
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
4096
}},
5
));
auto
x_main_module_7
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
4096
}},
6
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
4096
,
4096
}},
6
));
auto
x_main_module_8
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1000
,
4096
}},
7
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
4096
}},
7
));
auto
x_main_module_9
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1000
}},
8
));
auto
x_main_module_10
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
,
384
,
3
,
3
}},
9
));
auto
x_main_module_11
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
10
));
auto
x_main_module_12
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
384
,
192
,
3
,
3
}},
11
));
auto
x_main_module_13
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
384
}},
12
));
auto
x_main_module_14
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
192
,
64
,
5
,
5
}},
13
));
auto
x_main_module_15
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
192
}},
14
));
auto
x_main_module_16
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
,
256
,
3
,
3
}},
15
));
auto
x_main_module_17
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
16
));
auto
x_main_module_18
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
64
,
3
,
11
,
11
}},
17
));
auto
x_main_module_19
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
64
}},
18
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
4096
,
9216
}},
8
));
auto
x_main_module_10
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
9
));
auto
x_main_module_11
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
,
256
,
3
,
3
}},
10
));
auto
x_main_module_12
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
11
));
auto
x_main_module_13
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
,
384
,
3
,
3
}},
12
));
auto
x_main_module_14
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
384
}},
13
));
auto
x_main_module_15
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
384
,
192
,
3
,
3
}},
14
));
auto
x_main_module_16
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
192
}},
15
));
auto
x_main_module_17
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
192
,
64
,
5
,
5
}},
16
));
auto
x_main_module_18
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
64
}},
17
));
auto
x_main_module_19
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
64
,
3
,
11
,
11
}},
18
));
auto
x_main_module_20
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"convolution"
,
migraphx
::
from_json_string
(
"{dilation:[1,1],group:1,padding:[2,2,2,2],padding_mode:0,stride:[4,4]}"
)),
x_input_1
,
x_main_module_18
);
auto
x_main_module_21
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"broadcast"
,
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,64,55,55]}"
)),
migraphx
::
make_json_op
(
"convolution"
,
"{dilation:[1,1],group:1,padding:[2,2,2,2],padding_mode:0,stride:[4,"
"4],use_dynamic_same_auto_pad:0}"
),
x_0
,
x_main_module_19
);
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
);
auto
x_main_module_22
=
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_24
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
migraphx
::
make_
json_
op
(
"pooling"
,
migraphx
::
from_json_string
(
"{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
);
auto
x_main_module_25
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"convolution"
,
migraphx
::
from_json_string
(
"{dilation:[1,1],group:1,padding:[2,2,2,2],padding_mode:0,stride:[1,1]}"
)),
migraphx
::
make_json_op
(
"convolution"
,
"{dilation:[1,1],group:1,padding:[2,2,2,2],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"
),
x_main_module_24
,
x_main_module_1
4
);
x_main_module_1
7
);
auto
x_main_module_26
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"broadcast"
,
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,192,27,27]}"
)),
x_main_module_15
);
migraphx
::
make_json_op
(
"broadcast"
,
"{axis:1,out_lens:[1,192,27,27]}"
),
x_main_module_16
);
auto
x_main_module_27
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_25
,
x_main_module_26
);
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
(
migraphx
::
make_
json_
op
(
"pooling"
,
migraphx
::
from_json_string
(
"{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
);
auto
x_main_module_30
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"convolution"
,
migraphx
::
from_json_string
(
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1,1]}"
)),
migraphx
::
make_json_op
(
"convolution"
,
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"
),
x_main_module_29
,
x_main_module_1
2
);
x_main_module_1
5
);
auto
x_main_module_31
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"broadcast"
,
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,384,13,13]}"
)),
x_main_module_13
);
migraphx
::
make_json_op
(
"broadcast"
,
"{axis:1,out_lens:[1,384,13,13]}"
),
x_main_module_14
);
auto
x_main_module_32
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_30
,
x_main_module_31
);
auto
x_main_module_33
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_32
);
auto
x_main_module_34
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"convolution"
,
migraphx
::
from_json_string
(
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1,1]}"
)),
migraphx
::
make_json_op
(
"convolution"
,
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"
),
x_main_module_33
,
x_main_module_1
0
);
x_main_module_1
3
);
auto
x_main_module_35
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"broadcast"
,
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,256,13,13]}"
)),
x_main_module_11
);
migraphx
::
make_json_op
(
"broadcast"
,
"{axis:1,out_lens:[1,256,13,13]}"
),
x_main_module_12
);
auto
x_main_module_36
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_34
,
x_main_module_35
);
auto
x_main_module_37
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_36
);
auto
x_main_module_38
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"convolution"
,
migraphx
::
from_json_string
(
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1,1]}"
)),
migraphx
::
make_json_op
(
"convolution"
,
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"
),
x_main_module_37
,
x_main_module_1
6
);
x_main_module_1
1
);
auto
x_main_module_39
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"broadcast"
,
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,256,13,13]}"
)),
x_main_module_17
);
migraphx
::
make_json_op
(
"broadcast"
,
"{axis:1,out_lens:[1,256,13,13]}"
),
x_main_module_10
);
auto
x_main_module_40
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_38
,
x_main_module_39
);
auto
x_main_module_41
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_40
);
auto
x_main_module_42
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
migraphx
::
make_
json_
op
(
"pooling"
,
migraphx
::
from_json_string
(
"{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_41
);
auto
x_main_module_43
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"reshape"
,
migraphx
::
from_json_string
(
"{dims:[1,9216]}"
)),
x_main_module_42
);
auto
x_main_module_44
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"transpose"
,
migraphx
::
from_json_string
(
"{permutation:[1,0]}"
)),
x_main_module_6
);
auto
x_main_module_45
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"dot"
),
x_main_module_43
,
x_main_module_44
);
auto
x_main_module_46
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"multibroadcast"
,
migraphx
::
from_json_string
(
"{out_lens:[1,4096]}"
)),
x_main_module_7
);
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
(
migraphx
::
make_json_op
(
"transpose"
,
"{permutation:[1,0]}"
),
x_main_module_9
);
auto
x_main_module_46
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"dot"
),
x_main_module_44
,
x_main_module_45
);
auto
x_main_module_47
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"multibroadcast"
,
migraphx
::
from_json_string
(
"{out_lens:[1,4096]}"
)),
x_main_module_2
);
auto
x_main_module_48
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"mul"
),
x_main_module_46
,
x_main_module_47
);
migraphx
::
make_json_op
(
"multibroadcast"
,
"{out_lens:[1,4096]}"
),
x_main_module_8
);
auto
x_main_module_48
=
mmain
->
add_instruction
(
migraphx
::
make_json_op
(
"multibroadcast"
,
"{out_lens:[1,4096]}"
),
x_main_module_2
);
auto
x_main_module_49
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_45
,
x_main_module_48
);
auto
x_main_module_50
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_49
);
auto
x_main_module_51
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"transpose"
,
migraphx
::
from_json_string
(
"{permutation:[1,0]}"
)),
x_main_module_4
);
auto
x_main_module_52
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"dot"
),
x_main_module_50
,
x_main_module_51
);
mmain
->
add_instruction
(
migraphx
::
make_op
(
"mul"
),
x_main_module_47
,
x_main_module_48
);
auto
x_main_module_50
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_46
,
x_main_module_49
);
auto
x_main_module_51
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_50
);
auto
x_main_module_52
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"identity"
),
x_main_module_51
);
auto
x_main_module_53
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"multibroadcast"
,
migraphx
::
from_json_string
(
"{out_lens:[1,4096]}"
)),
x_main_module_5
);
auto
x_main_module_54
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"multibroadcast"
,
migraphx
::
from_json_string
(
"{out_lens:[1,4096]}"
)),
x_main_module_1
);
auto
x_main_module_55
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"mul"
),
x_main_module_53
,
x_main_module_54
);
auto
x_main_module_56
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_52
,
x_main_module_55
);
auto
x_main_module_57
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_56
);
auto
x_main_module_58
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"transpose"
,
migraphx
::
from_json_string
(
"{permutation:[1,0]}"
)),
x_main_module_8
);
auto
x_main_module_59
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"dot"
),
x_main_module_57
,
x_main_module_58
);
migraphx
::
make_json_op
(
"transpose"
,
"{permutation:[1,0]}"
),
x_main_module_7
);
auto
x_main_module_54
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"dot"
),
x_main_module_52
,
x_main_module_53
);
auto
x_main_module_55
=
mmain
->
add_instruction
(
migraphx
::
make_json_op
(
"multibroadcast"
,
"{out_lens:[1,4096]}"
),
x_main_module_6
);
auto
x_main_module_56
=
mmain
->
add_instruction
(
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
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_54
,
x_main_module_57
);
auto
x_main_module_59
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_58
);
auto
x_main_module_60
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"multibroadcast"
,
migraphx
::
from_json_string
(
"{out_lens:[1,1000]}"
)),
x_main_module_9
);
auto
x_main_module_61
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"multibroadcast"
,
migraphx
::
from_json_string
(
"{out_lens:[1,1000]}"
)),
x_main_module_0
);
auto
x_main_module_62
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"mul"
),
x_main_module_60
,
x_main_module_61
);
auto
x_main_module_63
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_59
,
x_main_module_62
);
mmain
->
add_return
({
x_main_module_63
});
migraphx
::
make_json_op
(
"transpose"
,
"{permutation:[1,0]}"
),
x_main_module_5
);
auto
x_main_module_61
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"dot"
),
x_main_module_59
,
x_main_module_60
);
auto
x_main_module_62
=
mmain
->
add_instruction
(
migraphx
::
make_json_op
(
"multibroadcast"
,
"{out_lens:[1,1000]}"
),
x_main_module_4
);
auto
x_main_module_63
=
mmain
->
add_instruction
(
migraphx
::
make_json_op
(
"multibroadcast"
,
"{out_lens:[1,1000]}"
),
x_main_module_0
);
auto
x_main_module_64
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"mul"
),
x_main_module_62
,
x_main_module_63
);
auto
x_main_module_65
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_61
,
x_main_module_64
);
mmain
->
add_return
({
x_main_module_65
});
return
p
;
}
...
...
src/driver/inceptionv3.cpp
View file @
b41a56cf
This source diff could not be displayed because it is too large. You can
view the blob
instead.
src/driver/resnet50.cpp
View file @
b41a56cf
...
...
@@ -25,1033 +25,1453 @@
#include <migraphx/make_op.hpp>
#include <migraphx/program.hpp>
#include <migraphx/generate.hpp>
#include <migraphx/json.hpp>
#include "models.hpp"
namespace
migraphx
{
namespace
driver
{
inline
namespace
MIGRAPHX_INLINE_NS
{
migraphx
::
program
resnet50
(
unsigned
batch
)
// NOLINT(readability-function-size)
{
migraphx
::
program
p
;
migraphx
::
module_ref
mmain
=
p
.
get_main_module
();
auto
x_main_module_0
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1
}},
0
)));
auto
x_
input_1
=
mmain
->
add_parameter
(
"
input.1
"
,
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
batch
,
3
,
224
,
224
}});
auto
x_
0
=
mmain
->
add_parameter
(
"
0
"
,
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
batch
,
3
,
224
,
224
}});
auto
x_main_module_2
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1000
,
2048
}},
1
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1000
}},
1
));
auto
x_main_module_3
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1000
}},
2
));
auto
x_main_module_4
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
2048
}},
3
));
auto
x_main_module_5
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
2048
,
512
,
1
,
1
}},
4
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1000
,
2048
}},
2
));
auto
x_main_module_4
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
2048
}},
3
))
)
;
auto
x_main_module_5
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
2048
}},
4
));
auto
x_main_module_6
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
}},
5
));
auto
x_main_module_7
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
,
512
,
3
,
3
}},
6
));
auto
x_main_module_8
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
}},
7
));
auto
x_main_module_9
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
,
2048
,
1
,
1
}},
8
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
2048
}},
5
));
auto
x_main_module_7
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
2048
}},
6
))
)
;
auto
x_main_module_8
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
2048
,
512
,
1
,
1
}},
7
));
auto
x_main_module_9
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
}},
8
))
)
;
auto
x_main_module_10
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
2048
}},
9
));
auto
x_main_module_11
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
2048
,
512
,
1
,
1
}},
10
));
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
}},
9
));
auto
x_main_module_11
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
}},
10
));
auto
x_main_module_12
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
}},
11
))
)
;
auto
x_main_module_13
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
,
512
,
3
,
3
}},
12
));
auto
x_main_module_14
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
}},
13
));
auto
x_main_module_15
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
,
2048
,
1
,
1
}},
14
));
auto
x_main_module_14
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
}},
13
))
)
;
auto
x_main_module_15
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
}},
14
));
auto
x_main_module_16
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
2048
}},
15
));
auto
x_main_module_17
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
2048
,
1024
,
1
,
1
}},
16
));
auto
x_main_module_18
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
2048
}},
17
));
auto
x_main_module_19
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
2048
,
512
,
1
,
1
}},
18
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
}},
15
));
auto
x_main_module_17
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
}},
16
))
)
;
auto
x_main_module_18
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
,
2048
,
1
,
1
}},
17
));
auto
x_main_module_19
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
2048
}},
18
))
)
;
auto
x_main_module_20
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
}},
19
));
auto
x_main_module_21
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
,
512
,
3
,
3
}},
20
));
auto
x_main_module_22
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
}},
21
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
2048
}},
19
));
auto
x_main_module_21
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
2048
}},
20
));
auto
x_main_module_22
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
2048
}},
21
))
)
;
auto
x_main_module_23
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
,
1024
,
1
,
1
}},
22
));
auto
x_main_module_24
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1024
}},
23
));
auto
x_main_module_25
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1024
,
256
,
1
,
1
}},
24
));
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
2048
,
512
,
1
,
1
}},
22
));
auto
x_main_module_24
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
}},
23
))
)
;
auto
x_main_module_25
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
}},
24
));
auto
x_main_module_26
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
25
));
auto
x_main_module_27
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
,
256
,
3
,
3
}},
26
));
auto
x_main_module_28
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
27
));
auto
x_main_module_29
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
,
1024
,
1
,
1
}},
28
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
}},
25
));
auto
x_main_module_27
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
}},
26
))
)
;
auto
x_main_module_28
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
,
512
,
3
,
3
}},
27
));
auto
x_main_module_29
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
}},
28
))
)
;
auto
x_main_module_30
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1024
}},
29
));
auto
x_main_module_31
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1024
,
256
,
1
,
1
}},
30
));
auto
x_main_module_32
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
31
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
}},
29
));
auto
x_main_module_31
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
}},
30
));
auto
x_main_module_32
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
}},
31
))
)
;
auto
x_main_module_33
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
,
256
,
3
,
3
}},
32
));
auto
x_main_module_34
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
2
56
}},
33
));
auto
x_main_module_35
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
2
56
,
1024
,
1
,
1
}},
34
));
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
,
2048
,
1
,
1
}},
32
));
auto
x_main_module_34
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
2
048
}},
33
))
)
;
auto
x_main_module_35
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
2
048
}},
34
));
auto
x_main_module_36
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1024
}},
35
));
auto
x_main_module_37
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1024
,
256
,
1
,
1
}},
36
));
auto
x_main_module_38
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
2
56
}},
37
));
auto
x_main_module_39
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
2
56
,
256
,
3
,
3
}},
38
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
2048
}},
35
));
auto
x_main_module_37
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
2048
}},
36
))
)
;
auto
x_main_module_38
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
2
048
,
1024
,
1
,
1
}},
37
));
auto
x_main_module_39
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
2
048
}},
38
))
)
;
auto
x_main_module_40
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
2
56
}},
39
));
auto
x_main_module_41
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
2
56
,
1024
,
1
,
1
}},
40
));
auto
x_main_module_42
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1024
}},
41
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
2
048
}},
39
));
auto
x_main_module_41
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
2
048
}},
40
));
auto
x_main_module_42
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
2048
}},
41
))
)
;
auto
x_main_module_43
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1024
,
256
,
1
,
1
}},
42
));
auto
x_main_module_44
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
43
));
auto
x_main_module_45
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
,
256
,
3
,
3
}},
44
));
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
2048
,
512
,
1
,
1
}},
42
));
auto
x_main_module_44
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
}},
43
))
)
;
auto
x_main_module_45
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
}},
44
));
auto
x_main_module_46
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
45
));
auto
x_main_module_47
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
,
1024
,
1
,
1
}},
46
));
auto
x_main_module_48
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1024
}},
47
));
auto
x_main_module_49
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1024
,
256
,
1
,
1
}},
48
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
}},
45
));
auto
x_main_module_47
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
}},
46
))
)
;
auto
x_main_module_48
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
,
512
,
3
,
3
}},
47
));
auto
x_main_module_49
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
}},
48
))
)
;
auto
x_main_module_50
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
49
));
auto
x_main_module_51
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
,
256
,
3
,
3
}},
50
));
auto
x_main_module_52
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
51
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
}},
49
));
auto
x_main_module_51
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
}},
50
));
auto
x_main_module_52
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
}},
51
))
)
;
auto
x_main_module_53
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
,
1024
,
1
,
1
}},
52
));
auto
x_main_module_54
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1024
}},
53
));
auto
x_main_module_55
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1024
,
512
,
1
,
1
}},
54
));
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
,
1024
,
1
,
1
}},
52
));
auto
x_main_module_54
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1024
}},
53
))
)
;
auto
x_main_module_55
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1024
}},
54
));
auto
x_main_module_56
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1024
}},
55
));
auto
x_main_module_57
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1024
,
256
,
1
,
1
}},
56
));
auto
x_main_module_58
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
57
));
auto
x_main_module_59
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
,
256
,
3
,
3
}},
58
));
auto
x_main_module_57
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1024
}},
56
));
auto
x_main_module_58
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1024
,
256
,
1
,
1
}},
57
));
auto
x_main_module_59
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
58
))
)
;
auto
x_main_module_60
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
59
));
auto
x_main_module_61
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
,
512
,
1
,
1
}},
60
));
auto
x_main_module_62
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
}},
61
));
auto
x_main_module_61
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
60
));
auto
x_main_module_62
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
61
))
)
;
auto
x_main_module_63
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
,
128
,
1
,
1
}},
62
));
auto
x_main_module_64
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
128
}},
63
));
auto
x_main_module_65
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
128
,
128
,
3
,
3
}},
64
));
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
,
256
,
3
,
3
}},
62
));
auto
x_main_module_64
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
63
))
)
;
auto
x_main_module_65
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
64
));
auto
x_main_module_66
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
128
}},
65
));
auto
x_main_module_67
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
128
,
512
,
1
,
1
}},
66
));
auto
x_main_module_68
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
}},
67
));
auto
x_main_module_69
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
,
128
,
1
,
1
}},
68
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
65
));
auto
x_main_module_67
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
66
))
)
;
auto
x_main_module_68
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
,
1024
,
1
,
1
}},
67
));
auto
x_main_module_69
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1024
}},
68
))
)
;
auto
x_main_module_70
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1
28
}},
69
));
auto
x_main_module_71
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1
28
,
128
,
3
,
3
}},
70
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1
024
}},
69
));
auto
x_main_module_71
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1
024
}},
70
));
auto
x_main_module_72
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1
28
}},
71
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1
024
}},
71
));
auto
x_main_module_73
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1
28
,
512
,
1
,
1
}},
72
));
auto
x_main_module_74
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
}},
73
));
auto
x_main_module_75
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
,
128
,
1
,
1
}},
74
));
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1
024
,
256
,
1
,
1
}},
72
));
auto
x_main_module_74
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
73
))
)
;
auto
x_main_module_75
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
74
));
auto
x_main_module_76
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
128
}},
75
));
auto
x_main_module_77
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
128
,
128
,
3
,
3
}},
76
));
auto
x_main_module_78
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
128
}},
77
));
auto
x_main_module_79
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
128
,
512
,
1
,
1
}},
78
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
75
));
auto
x_main_module_77
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
76
))
)
;
auto
x_main_module_78
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
,
256
,
3
,
3
}},
77
));
auto
x_main_module_79
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
78
))
)
;
auto
x_main_module_80
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
}},
79
));
auto
x_main_module_81
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
,
256
,
1
,
1
}},
80
));
auto
x_main_module_82
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
}},
81
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
79
));
auto
x_main_module_81
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
80
));
auto
x_main_module_82
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
81
))
)
;
auto
x_main_module_83
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
,
128
,
1
,
1
}},
82
));
auto
x_main_module_84
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1
28
}},
83
));
auto
x_main_module_85
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1
28
,
128
,
3
,
3
}},
84
));
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
,
1024
,
1
,
1
}},
82
));
auto
x_main_module_84
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1
024
}},
83
))
)
;
auto
x_main_module_85
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1
024
}},
84
));
auto
x_main_module_86
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1
28
}},
85
));
auto
x_main_module_87
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1
28
,
256
,
1
,
1
}},
86
));
auto
x_main_module_88
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
87
));
auto
x_main_module_89
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
,
64
,
1
,
1
}},
88
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1
024
}},
85
));
auto
x_main_module_87
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1
024
}},
86
));
auto
x_main_module_88
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1024
,
256
,
1
,
1
}},
87
));
auto
x_main_module_89
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
88
))
)
;
auto
x_main_module_90
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
6
4
}},
89
));
auto
x_main_module_91
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
64
,
64
,
3
,
3
}},
90
));
auto
x_main_module_92
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
6
4
}},
91
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
25
6
}},
89
));
auto
x_main_module_91
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
90
));
auto
x_main_module_92
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
25
6
}},
91
))
)
;
auto
x_main_module_93
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
6
4
,
256
,
1
,
1
}},
92
));
auto
x_main_module_94
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
93
));
auto
x_main_module_95
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
,
64
,
1
,
1
}},
94
));
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
25
6
,
256
,
3
,
3
}},
92
));
auto
x_main_module_94
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
93
))
)
;
auto
x_main_module_95
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
94
));
auto
x_main_module_96
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
6
4
}},
95
));
auto
x_main_module_97
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
64
,
64
,
3
,
3
}},
96
));
auto
x_main_module_98
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
64
}},
97
));
auto
x_main_module_99
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
64
,
256
,
1
,
1
}},
98
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
25
6
}},
95
));
auto
x_main_module_97
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
96
))
)
;
auto
x_main_module_98
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
,
1024
,
1
,
1
}},
97
));
auto
x_main_module_99
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1024
}},
98
))
)
;
auto
x_main_module_100
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
99
));
auto
x_main_module_101
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
,
64
,
1
,
1
}},
100
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1024
}},
99
));
auto
x_main_module_101
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1024
}},
100
));
auto
x_main_module_102
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
101
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1024
}},
101
));
auto
x_main_module_103
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
,
64
,
1
,
1
}},
102
));
auto
x_main_module_104
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
6
4
}},
103
));
auto
x_main_module_105
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
64
,
64
,
3
,
3
}},
104
));
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1024
,
256
,
1
,
1
}},
102
));
auto
x_main_module_104
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
25
6
}},
103
))
)
;
auto
x_main_module_105
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
104
));
auto
x_main_module_106
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
64
}},
105
));
auto
x_main_module_107
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
64
,
64
,
1
,
1
}},
106
));
auto
x_main_module_108
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
64
}},
107
));
auto
x_main_module_109
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
64
,
3
,
7
,
7
}},
108
));
auto
x_main_module_110
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"convolution"
,
migraphx
::
from_json_string
(
"{dilation:[1,1],group:1,padding:[3,3,3,3],padding_mode:0,stride:[2,2]}"
)),
x_input_1
,
x_main_module_109
);
auto
x_main_module_111
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"broadcast"
,
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,64,112,112]}"
)),
x_main_module_108
);
auto
x_main_module_112
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_110
,
x_main_module_111
);
auto
x_main_module_113
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_112
);
auto
x_main_module_114
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
105
));
auto
x_main_module_107
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
106
)));
auto
x_main_module_108
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
,
256
,
3
,
3
}},
107
));
auto
x_main_module_109
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
108
)));
auto
x_main_module_110
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
109
));
auto
x_main_module_111
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
110
));
auto
x_main_module_112
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
111
)));
auto
x_main_module_113
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
,
1024
,
1
,
1
}},
112
));
auto
x_main_module_114
=
mmain
->
add_literal
(
migraphx
::
abs
(
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"
,
"{dilation:[1,1],group:1,padding:[3,3,3,3],padding_mode:0,stride:[2,"
"2],use_dynamic_same_auto_pad:0}"
),
x_0
,
x_main_module_268
);
auto
x_main_module_270
=
mmain
->
add_instruction
(
migraphx
::
make_json_op
(
"batch_norm_inference"
,
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"
),
x_main_module_269
,
x_main_module_267
,
x_main_module_266
,
x_main_module_265
,
x_main_module_264
);
auto
x_main_module_271
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_270
);
auto
x_main_module_272
=
mmain
->
add_instruction
(
migraphx
::
make_json_op
(
"pooling"
,
migraphx
::
from_json_string
(
"{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:[1,1,1,1],stride:[2,2]}"
),
x_main_module_271
);
auto
x_main_module_273
=
mmain
->
add_instruction
(
migraphx
::
make_json_op
(
"convolution"
,
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"
),
x_main_module_272
,
x_main_module_263
);
auto
x_main_module_274
=
mmain
->
add_instruction
(
migraphx
::
make_json_op
(
"batch_norm_inference"
,
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"
),
x_main_module_273
,
x_main_module_262
,
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"
,
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"
),
x_main_module_275
,
x_main_module_258
);
auto
x_main_module_277
=
mmain
->
add_instruction
(
migraphx
::
make_json_op
(
"batch_norm_inference"
,
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"
),
x_main_module_276
,
x_main_module_257
,
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"
,
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"
),
x_main_module_278
,
x_main_module_253
);
auto
x_main_module_280
=
mmain
->
add_instruction
(
migraphx
::
make_json_op
(
"batch_norm_inference"
,
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"
),
x_main_module_279
,
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"
,
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"
),
x_main_module_272
,
x_main_module_248
);
auto
x_main_module_282
=
mmain
->
add_instruction
(
migraphx
::
make_json_op
(
"batch_norm_inference"
,
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"
),
x_main_module_281
,
x_main_module_247
,
x_main_module_246
,
x_main_module_245
,
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"
,
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"
),
x_main_module_284
,
x_main_module_243
);
auto
x_main_module_286
=
mmain
->
add_instruction
(
migraphx
::
make_json_op
(
"batch_norm_inference"
,
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"
),
x_main_module_285
,
x_main_module_242
,
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"
,
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"
),
x_main_module_287
,
x_main_module_238
);
auto
x_main_module_289
=
mmain
->
add_instruction
(
migraphx
::
make_json_op
(
"batch_norm_inference"
,
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"
),
x_main_module_288
,
x_main_module_237
,
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"
,
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"
),
x_main_module_290
,
x_main_module_233
);
auto
x_main_module_292
=
mmain
->
add_instruction
(
migraphx
::
make_json_op
(
"batch_norm_inference"
,
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"
),
x_main_module_291
,
x_main_module_232
,
x_main_module_231
,
x_main_module_230
,
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"
,
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"
),
x_main_module_294
,
x_main_module_228
);
auto
x_main_module_296
=
mmain
->
add_instruction
(
migraphx
::
make_json_op
(
"batch_norm_inference"
,
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"
),
x_main_module_295
,
x_main_module_227
,
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"
,
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"
),
x_main_module_297
,
x_main_module_223
);
auto
x_main_module_299
=
mmain
->
add_instruction
(
migraphx
::
make_json_op
(
"batch_norm_inference"
,
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"
),
x_main_module_298
,
x_main_module_222
,
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"
,
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"
),
x_main_module_300
,
x_main_module_218
);
auto
x_main_module_302
=
mmain
->
add_instruction
(
migraphx
::
make_json_op
(
"batch_norm_inference"
,
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"
),
x_main_module_301
,
x_main_module_217
,
x_main_module_216
,
x_main_module_215
,
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"
,
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"
),
x_main_module_304
,
x_main_module_213
);
auto
x_main_module_306
=
mmain
->
add_instruction
(
migraphx
::
make_json_op
(
"batch_norm_inference"
,
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"
),
x_main_module_305
,
x_main_module_212
,
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"
,
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[2,"
"2],use_dynamic_same_auto_pad:0}"
),
x_main_module_307
,
x_main_module_208
);
auto
x_main_module_309
=
mmain
->
add_instruction
(
migraphx
::
make_json_op
(
"batch_norm_inference"
,
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"
),
x_main_module_308
,
x_main_module_207
,
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"
,
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"
),
x_main_module_310
,
x_main_module_203
);
auto
x_main_module_312
=
mmain
->
add_instruction
(
migraphx
::
make_json_op
(
"batch_norm_inference"
,
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"
),
x_main_module_311
,
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"
,
"{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_304
,
x_main_module_198
);
auto
x_main_module_314
=
mmain
->
add_instruction
(
migraphx
::
make_json_op
(
"batch_norm_inference"
,
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"
),
x_main_module_313
,
x_main_module_197
,
x_main_module_196
,
x_main_module_195
,
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"
,
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"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_189
);
auto
x_main_module_319
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_318
);
auto
x_main_module_320
=
mmain
->
add_instruction
(
migraphx
::
make_json_op
(
"convolution"
,
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"
),
x_main_module_319
,
x_main_module_188
);
auto
x_main_module_321
=
mmain
->
add_instruction
(
migraphx
::
make_json_op
(
"batch_norm_inference"
,
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"
),
x_main_module_320
,
x_main_module_187
,
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"
,
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"
),
x_main_module_322
,
x_main_module_183
);
auto
x_main_module_324
=
mmain
->
add_instruction
(
migraphx
::
make_json_op
(
"batch_norm_inference"
,
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"
),
x_main_module_323
,
x_main_module_182
,
x_main_module_181
,
x_main_module_180
,
x_main_module_179
);
auto
x_main_module_325
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_324
,
x_main_module_316
);
auto
x_main_module_326
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_325
);
auto
x_main_module_327
=
mmain
->
add_instruction
(
migraphx
::
make_json_op
(
"convolution"
,
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"
),
x_main_module_326
,
x_main_module_178
);
auto
x_main_module_328
=
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"
,
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"
),
x_main_module_329
,
x_main_module_173
);
auto
x_main_module_331
=
mmain
->
add_instruction
(
migraphx
::
make_json_op
(
"batch_norm_inference"
,
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"
),
x_main_module_330
,
x_main_module_172
,
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"
,
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"
),
x_main_module_332
,
x_main_module_168
);
auto
x_main_module_334
=
mmain
->
add_instruction
(
migraphx
::
make_json_op
(
"batch_norm_inference"
,
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"
),
x_main_module_333
,
x_main_module_167
,
x_main_module_166
,
x_main_module_165
,
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"
,
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"
),
x_main_module_336
,
x_main_module_163
);
auto
x_main_module_338
=
mmain
->
add_instruction
(
migraphx
::
make_json_op
(
"batch_norm_inference"
,
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"
),
x_main_module_337
,
x_main_module_162
,
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"
,
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"
),
x_main_module_339
,
x_main_module_158
);
auto
x_main_module_341
=
mmain
->
add_instruction
(
migraphx
::
make_json_op
(
"batch_norm_inference"
,
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"
),
x_main_module_340
,
x_main_module_157
,
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"
,
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"
),
x_main_module_342
,
x_main_module_153
);
auto
x_main_module_344
=
mmain
->
add_instruction
(
migraphx
::
make_json_op
(
"batch_norm_inference"
,
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"
),
x_main_module_343
,
x_main_module_152
,
x_main_module_151
,
x_main_module_150
,
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"
,
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"
),
x_main_module_346
,
x_main_module_148
);
auto
x_main_module_348
=
mmain
->
add_instruction
(
migraphx
::
make_json_op
(
"batch_norm_inference"
,
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"
),
x_main_module_347
,
x_main_module_147
,
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"
,
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[2,"
"2],use_dynamic_same_auto_pad:0}"
),
x_main_module_349
,
x_main_module_143
);
auto
x_main_module_351
=
mmain
->
add_instruction
(
migraphx
::
make_json_op
(
"batch_norm_inference"
,
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"
),
x_main_module_350
,
x_main_module_142
,
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"
,
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"
),
x_main_module_352
,
x_main_module_138
);
auto
x_main_module_354
=
mmain
->
add_instruction
(
migraphx
::
make_json_op
(
"batch_norm_inference"
,
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"
),
x_main_module_353
,
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"
,
"{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_346
,
x_main_module_133
);
auto
x_main_module_356
=
mmain
->
add_instruction
(
migraphx
::
make_json_op
(
"batch_norm_inference"
,
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"
),
x_main_module_355
,
x_main_module_132
,
x_main_module_131
,
x_main_module_130
,
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"
,
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"
),
x_main_module_358
,
x_main_module_128
);
auto
x_main_module_360
=
mmain
->
add_instruction
(
migraphx
::
make_json_op
(
"batch_norm_inference"
,
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"
),
x_main_module_359
,
x_main_module_127
,
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"
,
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"
),
x_main_module_361
,
x_main_module_123
);
auto
x_main_module_363
=
mmain
->
add_instruction
(
migraphx
::
make_json_op
(
"batch_norm_inference"
,
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"
),
x_main_module_362
,
x_main_module_122
,
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"
,
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"
),
x_main_module_364
,
x_main_module_118
);
auto
x_main_module_366
=
mmain
->
add_instruction
(
migraphx
::
make_json_op
(
"batch_norm_inference"
,
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"
),
x_main_module_365
,
x_main_module_117
,
x_main_module_116
,
x_main_module_115
,
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"
,
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"
),
x_main_module_368
,
x_main_module_113
);
auto
x_main_module_
115
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"
convolution
"
,
migraphx
::
from_json_string
(
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,1]}"
))
,
x_main_module_11
4
,
x_main_module_1
07
);
auto
x_main_module_11
6
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"broadcast"
,
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,64,56,56]}"
)),
x_main_module_
106
);
auto
x_main_module_117
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_ma
in_mod
ule_115
,
x_main_module_116
);
auto
x_main_module_118
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_117
);
auto
x_main_module_
119
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"convolu
tion
"
,
migraphx
::
from
_json_
string
(
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1,1]}"
))
,
x_main_module_118
,
x_main_module_
105
);
auto
x_main_module_1
20
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"broadcast"
,
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,64,56,56]}"
))
,
auto
x_main_module_
370
=
mmain
->
add_instruction
(
migraphx
::
make_
json_
op
(
"
batch_norm_inference
"
,
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"
),
x_main_module_369
,
x_main_module_11
2
,
x_main_module_1
11
,
x_main_module_11
0
,
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"
,
"{dilation:[1,1],group:1,padding:[1,1,1,1],padd
in
g
_mod
e:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"
),
x_main_module_
371
,
x_main_module_108
);
auto
x_main_module_373
=
mmain
->
add_instruc
tion
(
migraphx
::
make
_json_
op
(
"batch_norm_inference"
,
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"
)
,
x_main_module_
372
,
x_main_module_1
07
,
x_main_module_106
,
x_main_module_105
,
x_main_module_104
);
auto
x_main_module_121
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_119
,
x_main_module_120
);
auto
x_main_module_122
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_121
);
auto
x_main_module_123
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"convolution"
,
migraphx
::
from_json_string
(
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,1]}"
)),
x_main_module_122
,
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"
,
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"
),
x_main_module_374
,
x_main_module_103
);
auto
x_main_module_124
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"broadcast"
,
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,256,56,56]}"
)),
x_main_module_102
);
auto
x_main_module_125
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_123
,
x_main_module_124
);
auto
x_main_module_126
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"convolution"
,
migraphx
::
from_json_string
(
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,1]}"
)),
x_main_module_114
,
x_main_module_101
);
auto
x_main_module_127
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"broadcast"
,
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,256,56,56]}"
)),
x_main_module_100
);
auto
x_main_module_128
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_126
,
x_main_module_127
);
auto
x_main_module_129
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_125
,
x_main_module_128
);
auto
x_main_module_130
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_129
);
auto
x_main_module_131
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"convolution"
,
migraphx
::
from_json_string
(
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,1]}"
)),
x_main_module_130
,
auto
x_main_module_376
=
mmain
->
add_instruction
(
migraphx
::
make_json_op
(
"batch_norm_inference"
,
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"
),
x_main_module_375
,
x_main_module_102
,
x_main_module_101
,
x_main_module_100
,
x_main_module_99
);
auto
x_main_module_132
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"broadcast"
,
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,64,56,56]}"
)),
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"
,
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"
),
x_main_module_378
,
x_main_module_98
);
auto
x_main_module_133
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_131
,
x_main_module_132
);
auto
x_main_module_134
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_133
);
auto
x_main_module_135
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"convolution"
,
migraphx
::
from_json_string
(
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1,1]}"
)),
x_main_module_134
,
x_main_module_97
);
auto
x_main_module_136
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"broadcast"
,
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,64,56,56]}"
)),
x_main_module_96
);
auto
x_main_module_137
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_135
,
x_main_module_136
);
auto
x_main_module_138
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_137
);
auto
x_main_module_139
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"convolution"
,
migraphx
::
from_json_string
(
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,1]}"
)),
x_main_module_138
,
x_main_module_95
);
auto
x_main_module_140
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"broadcast"
,
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,256,56,56]}"
)),
auto
x_main_module_380
=
mmain
->
add_instruction
(
migraphx
::
make_json_op
(
"batch_norm_inference"
,
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"
),
x_main_module_379
,
x_main_module_97
,
x_main_module_96
,
x_main_module_95
,
x_main_module_94
);
auto
x_main_module_141
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_139
,
x_main_module_140
);
auto
x_main_module_142
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_141
,
x_main_module_130
);
auto
x_main_module_143
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_142
);
auto
x_main_module_144
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"convolution"
,
migraphx
::
from_json_string
(
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,1]}"
)),
x_main_module_143
,
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"
,
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"
),
x_main_module_381
,
x_main_module_93
);
auto
x_main_module_145
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"broadcast"
,
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,64,56,56]}"
)),
x_main_module_92
);
auto
x_main_module_146
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_144
,
x_main_module_145
);
auto
x_main_module_147
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_146
);
auto
x_main_module_148
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"convolution"
,
migraphx
::
from_json_string
(
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1,1]}"
)),
x_main_module_147
,
x_main_module_91
);
auto
x_main_module_149
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"broadcast"
,
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,64,56,56]}"
)),
x_main_module_90
);
auto
x_main_module_150
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_148
,
x_main_module_149
);
auto
x_main_module_151
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_150
);
auto
x_main_module_152
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"convolution"
,
migraphx
::
from_json_string
(
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,1]}"
)),
x_main_module_151
,
auto
x_main_module_383
=
mmain
->
add_instruction
(
migraphx
::
make_json_op
(
"batch_norm_inference"
,
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"
),
x_main_module_382
,
x_main_module_92
,
x_main_module_91
,
x_main_module_90
,
x_main_module_89
);
auto
x_main_module_153
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"broadcast"
,
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,256,56,56]}"
)),
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"
,
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"
),
x_main_module_384
,
x_main_module_88
);
auto
x_main_module_154
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_152
,
x_main_module_153
);
auto
x_main_module_155
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_154
,
x_main_module_143
);
auto
x_main_module_156
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_155
);
auto
x_main_module_157
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"convolution"
,
migraphx
::
from_json_string
(
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,1]}"
)),
x_main_module_156
,
x_main_module_87
);
auto
x_main_module_158
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"broadcast"
,
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,128,56,56]}"
)),
x_main_module_86
);
auto
x_main_module_159
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_157
,
x_main_module_158
);
auto
x_main_module_160
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_159
);
auto
x_main_module_161
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"convolution"
,
migraphx
::
from_json_string
(
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[2,2]}"
)),
x_main_module_160
,
x_main_module_85
);
auto
x_main_module_162
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"broadcast"
,
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,128,28,28]}"
)),
auto
x_main_module_386
=
mmain
->
add_instruction
(
migraphx
::
make_json_op
(
"batch_norm_inference"
,
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"
),
x_main_module_385
,
x_main_module_87
,
x_main_module_86
,
x_main_module_85
,
x_main_module_84
);
auto
x_main_module_163
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_161
,
x_main_module_162
);
auto
x_main_module_164
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_163
);
auto
x_main_module_165
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"convolution"
,
migraphx
::
from_json_string
(
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,1]}"
)),
x_main_module_164
,
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"
,
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"
),
x_main_module_388
,
x_main_module_83
);
auto
x_main_module_166
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"broadcast"
,
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,512,28,28]}"
)),
x_main_module_82
);
auto
x_main_module_167
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_165
,
x_main_module_166
);
auto
x_main_module_168
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"convolution"
,
migraphx
::
from_json_string
(
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[2,2]}"
)),
x_main_module_156
,
x_main_module_81
);
auto
x_main_module_169
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"broadcast"
,
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,512,28,28]}"
)),
x_main_module_80
);
auto
x_main_module_170
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_168
,
x_main_module_169
);
auto
x_main_module_171
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_167
,
x_main_module_170
);
auto
x_main_module_172
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_171
);
auto
x_main_module_173
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"convolution"
,
migraphx
::
from_json_string
(
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,1]}"
)),
x_main_module_172
,
auto
x_main_module_390
=
mmain
->
add_instruction
(
migraphx
::
make_json_op
(
"batch_norm_inference"
,
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"
),
x_main_module_389
,
x_main_module_82
,
x_main_module_81
,
x_main_module_80
,
x_main_module_79
);
auto
x_main_module_174
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"broadcast"
,
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,128,28,28]}"
)),
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"
,
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"
),
x_main_module_391
,
x_main_module_78
);
auto
x_main_module_175
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_173
,
x_main_module_174
);
auto
x_main_module_176
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_175
);
auto
x_main_module_177
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"convolution"
,
migraphx
::
from_json_string
(
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1,1]}"
)),
x_main_module_176
,
x_main_module_77
);
auto
x_main_module_178
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"broadcast"
,
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,128,28,28]}"
)),
x_main_module_76
);
auto
x_main_module_179
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_177
,
x_main_module_178
);
auto
x_main_module_180
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_179
);
auto
x_main_module_181
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"convolution"
,
migraphx
::
from_json_string
(
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,1]}"
)),
x_main_module_180
,
x_main_module_75
);
auto
x_main_module_182
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"broadcast"
,
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,512,28,28]}"
)),
auto
x_main_module_393
=
mmain
->
add_instruction
(
migraphx
::
make_json_op
(
"batch_norm_inference"
,
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"
),
x_main_module_392
,
x_main_module_77
,
x_main_module_76
,
x_main_module_75
,
x_main_module_74
);
auto
x_main_module_183
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_181
,
x_main_module_182
);
auto
x_main_module_184
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_183
,
x_main_module_172
);
auto
x_main_module_185
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_184
);
auto
x_main_module_186
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"convolution"
,
migraphx
::
from_json_string
(
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,1]}"
)),
x_main_module_185
,
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"
,
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"
),
x_main_module_394
,
x_main_module_73
);
auto
x_main_module_187
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"broadcast"
,
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,128,28,28]}"
)),
x_main_module_72
);
auto
x_main_module_188
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_186
,
x_main_module_187
);
auto
x_main_module_189
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_188
);
auto
x_main_module_190
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"convolution"
,
migraphx
::
from_json_string
(
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1,1]}"
)),
x_main_module_189
,
x_main_module_71
);
auto
x_main_module_191
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"broadcast"
,
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,128,28,28]}"
)),
x_main_module_70
);
auto
x_main_module_192
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_190
,
x_main_module_191
);
auto
x_main_module_193
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_192
);
auto
x_main_module_194
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"convolution"
,
migraphx
::
from_json_string
(
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,1]}"
)),
x_main_module_193
,
auto
x_main_module_396
=
mmain
->
add_instruction
(
migraphx
::
make_json_op
(
"batch_norm_inference"
,
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"
),
x_main_module_395
,
x_main_module_72
,
x_main_module_71
,
x_main_module_70
,
x_main_module_69
);
auto
x_main_module_195
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"broadcast"
,
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,512,28,28]}"
)),
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"
,
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"
),
x_main_module_398
,
x_main_module_68
);
auto
x_main_module_196
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_194
,
x_main_module_195
);
auto
x_main_module_197
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_196
,
x_main_module_185
);
auto
x_main_module_198
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_197
);
auto
x_main_module_199
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"convolution"
,
migraphx
::
from_json_string
(
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,1]}"
)),
x_main_module_198
,
x_main_module_67
);
auto
x_main_module_200
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"broadcast"
,
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,128,28,28]}"
)),
x_main_module_66
);
auto
x_main_module_201
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_199
,
x_main_module_200
);
auto
x_main_module_202
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_201
);
auto
x_main_module_203
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"convolution"
,
migraphx
::
from_json_string
(
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1,1]}"
)),
x_main_module_202
,
x_main_module_65
);
auto
x_main_module_204
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"broadcast"
,
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,128,28,28]}"
)),
auto
x_main_module_400
=
mmain
->
add_instruction
(
migraphx
::
make_json_op
(
"batch_norm_inference"
,
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"
),
x_main_module_399
,
x_main_module_67
,
x_main_module_66
,
x_main_module_65
,
x_main_module_64
);
auto
x_main_module_205
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_203
,
x_main_module_204
);
auto
x_main_module_206
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_205
);
auto
x_main_module_207
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"convolution"
,
migraphx
::
from_json_string
(
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,1]}"
)),
x_main_module_206
,
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"
,
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"
),
x_main_module_401
,
x_main_module_63
);
auto
x_main_module_208
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"broadcast"
,
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,512,28,28]}"
)),
x_main_module_62
);
auto
x_main_module_209
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_207
,
x_main_module_208
);
auto
x_main_module_210
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_209
,
x_main_module_198
);
auto
x_main_module_211
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_210
);
auto
x_main_module_212
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"convolution"
,
migraphx
::
from_json_string
(
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,1]}"
)),
x_main_module_211
,
x_main_module_61
);
auto
x_main_module_213
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"broadcast"
,
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,256,28,28]}"
)),
x_main_module_60
);
auto
x_main_module_214
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_212
,
x_main_module_213
);
auto
x_main_module_215
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_214
);
auto
x_main_module_216
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"convolution"
,
migraphx
::
from_json_string
(
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[2,2]}"
)),
x_main_module_215
,
auto
x_main_module_403
=
mmain
->
add_instruction
(
migraphx
::
make_json_op
(
"batch_norm_inference"
,
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"
),
x_main_module_402
,
x_main_module_62
,
x_main_module_61
,
x_main_module_60
,
x_main_module_59
);
auto
x_main_module_217
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"broadcast"
,
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,256,14,14]}"
)),
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"
,
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"
),
x_main_module_404
,
x_main_module_58
);
auto
x_main_module_218
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_216
,
x_main_module_217
);
auto
x_main_module_219
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_218
);
auto
x_main_module_220
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"convolution"
,
migraphx
::
from_json_string
(
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,1]}"
)),
x_main_module_219
,
x_main_module_57
);
auto
x_main_module_221
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"broadcast"
,
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,1024,14,14]}"
)),
x_main_module_56
);
auto
x_main_module_222
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_220
,
x_main_module_221
);
auto
x_main_module_223
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"convolution"
,
migraphx
::
from_json_string
(
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[2,2]}"
)),
x_main_module_211
,
x_main_module_55
);
auto
x_main_module_224
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"broadcast"
,
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,1024,14,14]}"
)),
auto
x_main_module_406
=
mmain
->
add_instruction
(
migraphx
::
make_json_op
(
"batch_norm_inference"
,
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"
),
x_main_module_405
,
x_main_module_57
,
x_main_module_56
,
x_main_module_55
,
x_main_module_54
);
auto
x_main_module_225
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_223
,
x_main_module_224
);
auto
x_main_module_226
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_222
,
x_main_module_225
);
auto
x_main_module_227
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_226
);
auto
x_main_module_228
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"convolution"
,
migraphx
::
from_json_string
(
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,1]}"
)),
x_main_module_227
,
auto
x_main_module_407
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_406
,
x_main_module_398
);
auto
x_main_module_408
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_407
);
auto
x_main_module_409
=
mmain
->
add_instruction
(
migraphx
::
make_json_op
(
"convolution"
,
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"
),
x_main_module_408
,
x_main_module_53
);
auto
x_main_module_229
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"broadcast"
,
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,256,14,14]}"
)),
x_main_module_52
);
auto
x_main_module_230
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_228
,
x_main_module_229
);
auto
x_main_module_231
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_230
);
auto
x_main_module_232
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"convolution"
,
migraphx
::
from_json_string
(
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1,1]}"
)),
x_main_module_231
,
x_main_module_51
);
auto
x_main_module_233
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"broadcast"
,
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,256,14,14]}"
)),
x_main_module_50
);
auto
x_main_module_234
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_232
,
x_main_module_233
);
auto
x_main_module_235
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_234
);
auto
x_main_module_236
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"convolution"
,
migraphx
::
from_json_string
(
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,1]}"
)),
x_main_module_235
,
auto
x_main_module_410
=
mmain
->
add_instruction
(
migraphx
::
make_json_op
(
"batch_norm_inference"
,
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"
),
x_main_module_409
,
x_main_module_52
,
x_main_module_51
,
x_main_module_50
,
x_main_module_49
);
auto
x_main_module_237
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"broadcast"
,
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,1024,14,14]}"
)),
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"
,
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[2,"
"2],use_dynamic_same_auto_pad:0}"
),
x_main_module_411
,
x_main_module_48
);
auto
x_main_module_238
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_236
,
x_main_module_237
);
auto
x_main_module_239
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_238
,
x_main_module_227
);
auto
x_main_module_240
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_239
);
auto
x_main_module_241
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"convolution"
,
migraphx
::
from_json_string
(
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,1]}"
)),
x_main_module_240
,
x_main_module_47
);
auto
x_main_module_242
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"broadcast"
,
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,256,14,14]}"
)),
x_main_module_46
);
auto
x_main_module_243
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_241
,
x_main_module_242
);
auto
x_main_module_244
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_243
);
auto
x_main_module_245
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"convolution"
,
migraphx
::
from_json_string
(
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1,1]}"
)),
x_main_module_244
,
x_main_module_45
);
auto
x_main_module_246
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"broadcast"
,
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,256,14,14]}"
)),
auto
x_main_module_413
=
mmain
->
add_instruction
(
migraphx
::
make_json_op
(
"batch_norm_inference"
,
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"
),
x_main_module_412
,
x_main_module_47
,
x_main_module_46
,
x_main_module_45
,
x_main_module_44
);
auto
x_main_module_247
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_245
,
x_main_module_246
);
auto
x_main_module_248
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_247
);
auto
x_main_module_249
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"convolution"
,
migraphx
::
from_json_string
(
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,1]}"
)),
x_main_module_248
,
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"
,
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"
),
x_main_module_414
,
x_main_module_43
);
auto
x_main_module_250
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"broadcast"
,
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,1024,14,14]}"
)),
x_main_module_42
);
auto
x_main_module_251
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_249
,
x_main_module_250
);
auto
x_main_module_252
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_251
,
x_main_module_240
);
auto
x_main_module_253
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_252
);
auto
x_main_module_254
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"convolution"
,
migraphx
::
from_json_string
(
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,1]}"
)),
x_main_module_253
,
x_main_module_41
);
auto
x_main_module_255
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"broadcast"
,
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,256,14,14]}"
)),
x_main_module_40
);
auto
x_main_module_256
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_254
,
x_main_module_255
);
auto
x_main_module_257
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_256
);
auto
x_main_module_258
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"convolution"
,
migraphx
::
from_json_string
(
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1,1]}"
)),
x_main_module_257
,
auto
x_main_module_416
=
mmain
->
add_instruction
(
migraphx
::
make_json_op
(
"batch_norm_inference"
,
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"
),
x_main_module_415
,
x_main_module_42
,
x_main_module_41
,
x_main_module_40
,
x_main_module_39
);
auto
x_main_module_259
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"broadcast"
,
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,256,14,14]}"
)),
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_260
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_258
,
x_main_module_259
);
auto
x_main_module_261
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_260
);
auto
x_main_module_262
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"convolution"
,
migraphx
::
from_json_string
(
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,1]}"
)),
x_main_module_261
,
x_main_module_37
);
auto
x_main_module_263
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"broadcast"
,
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,1024,14,14]}"
)),
x_main_module_36
);
auto
x_main_module_264
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_262
,
x_main_module_263
);
auto
x_main_module_265
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_264
,
x_main_module_253
);
auto
x_main_module_266
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_265
);
auto
x_main_module_267
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"convolution"
,
migraphx
::
from_json_string
(
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,1]}"
)),
x_main_module_266
,
x_main_module_35
);
auto
x_main_module_268
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"broadcast"
,
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,256,14,14]}"
)),
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_269
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_267
,
x_main_module_268
);
auto
x_main_module_270
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_269
);
auto
x_main_module_271
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"convolution"
,
migraphx
::
from_json_string
(
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1,1]}"
)),
x_main_module_270
,
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"
,
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"
),
x_main_module_420
,
x_main_module_33
);
auto
x_main_module_272
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"broadcast"
,
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,256,14,14]}"
)),
x_main_module_32
);
auto
x_main_module_273
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_271
,
x_main_module_272
);
auto
x_main_module_274
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_273
);
auto
x_main_module_275
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"convolution"
,
migraphx
::
from_json_string
(
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,1]}"
)),
x_main_module_274
,
x_main_module_31
);
auto
x_main_module_276
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"broadcast"
,
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,1024,14,14]}"
)),
x_main_module_30
);
auto
x_main_module_277
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_275
,
x_main_module_276
);
auto
x_main_module_278
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_277
,
x_main_module_266
);
auto
x_main_module_279
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_278
);
auto
x_main_module_280
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"convolution"
,
migraphx
::
from_json_string
(
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,1]}"
)),
x_main_module_279
,
auto
x_main_module_422
=
mmain
->
add_instruction
(
migraphx
::
make_json_op
(
"batch_norm_inference"
,
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"
),
x_main_module_421
,
x_main_module_32
,
x_main_module_31
,
x_main_module_30
,
x_main_module_29
);
auto
x_main_module_281
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"broadcast"
,
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,256,14,14]}"
)),
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"
,
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"
),
x_main_module_423
,
x_main_module_28
);
auto
x_main_module_282
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_280
,
x_main_module_281
);
auto
x_main_module_283
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_282
);
auto
x_main_module_284
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"convolution"
,
migraphx
::
from_json_string
(
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1,1]}"
)),
x_main_module_283
,
x_main_module_27
);
auto
x_main_module_285
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"broadcast"
,
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,256,14,14]}"
)),
x_main_module_26
);
auto
x_main_module_286
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_284
,
x_main_module_285
);
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_op
(
"convolution"
,
migraphx
::
from_json_string
(
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,1]}"
)),
x_main_module_287
,
x_main_module_25
);
auto
x_main_module_289
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"broadcast"
,
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,1024,14,14]}"
)),
auto
x_main_module_425
=
mmain
->
add_instruction
(
migraphx
::
make_json_op
(
"batch_norm_inference"
,
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"
),
x_main_module_424
,
x_main_module_27
,
x_main_module_26
,
x_main_module_25
,
x_main_module_24
);
auto
x_main_module_290
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_288
,
x_main_module_289
);
auto
x_main_module_291
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_290
,
x_main_module_279
);
auto
x_main_module_292
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_291
);
auto
x_main_module_293
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"convolution"
,
migraphx
::
from_json_string
(
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,1]}"
)),
x_main_module_292
,
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"
,
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"
),
x_main_module_426
,
x_main_module_23
);
auto
x_main_module_294
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"broadcast"
,
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,512,14,14]}"
)),
x_main_module_22
);
auto
x_main_module_295
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_293
,
x_main_module_294
);
auto
x_main_module_296
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_295
);
auto
x_main_module_297
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"convolution"
,
migraphx
::
from_json_string
(
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[2,2]}"
)),
x_main_module_296
,
x_main_module_21
);
auto
x_main_module_298
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"broadcast"
,
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,512,7,7]}"
)),
x_main_module_20
);
auto
x_main_module_299
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_297
,
x_main_module_298
);
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_op
(
"convolution"
,
migraphx
::
from_json_string
(
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,1]}"
)),
x_main_module_300
,
auto
x_main_module_428
=
mmain
->
add_instruction
(
migraphx
::
make_json_op
(
"batch_norm_inference"
,
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"
),
x_main_module_427
,
x_main_module_22
,
x_main_module_21
,
x_main_module_20
,
x_main_module_19
);
auto
x_main_module_302
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"broadcast"
,
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,2048,7,7]}"
)),
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"
,
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"
),
x_main_module_430
,
x_main_module_18
);
auto
x_main_module_303
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_301
,
x_main_module_302
);
auto
x_main_module_304
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"convolution"
,
migraphx
::
from_json_string
(
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[2,2]}"
)),
x_main_module_292
,
x_main_module_17
);
auto
x_main_module_305
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"broadcast"
,
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,2048,7,7]}"
)),
x_main_module_16
);
auto
x_main_module_306
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_304
,
x_main_module_305
);
auto
x_main_module_307
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_303
,
x_main_module_306
);
auto
x_main_module_308
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_307
);
auto
x_main_module_309
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"convolution"
,
migraphx
::
from_json_string
(
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,1]}"
)),
x_main_module_308
,
x_main_module_15
);
auto
x_main_module_310
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"broadcast"
,
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,512,7,7]}"
)),
auto
x_main_module_432
=
mmain
->
add_instruction
(
migraphx
::
make_json_op
(
"batch_norm_inference"
,
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"
),
x_main_module_431
,
x_main_module_17
,
x_main_module_16
,
x_main_module_15
,
x_main_module_14
);
auto
x_main_module_311
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_309
,
x_main_module_310
);
auto
x_main_module_312
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_311
);
auto
x_main_module_313
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"convolution"
,
migraphx
::
from_json_string
(
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1,1]}"
)),
x_main_module_312
,
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"
,
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"
),
x_main_module_433
,
x_main_module_13
);
auto
x_main_module_314
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"broadcast"
,
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,512,7,7]}"
)),
x_main_module_12
);
auto
x_main_module_315
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_313
,
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_op
(
"convolution"
,
migraphx
::
from_json_string
(
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,1]}"
)),
x_main_module_316
,
x_main_module_11
);
auto
x_main_module_318
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"broadcast"
,
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,2048,7,7]}"
)),
x_main_module_10
);
auto
x_main_module_319
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_317
,
x_main_module_318
);
auto
x_main_module_320
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_319
,
x_main_module_308
);
auto
x_main_module_321
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_320
);
auto
x_main_module_322
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"convolution"
,
migraphx
::
from_json_string
(
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,1]}"
)),
x_main_module_321
,
auto
x_main_module_435
=
mmain
->
add_instruction
(
migraphx
::
make_json_op
(
"batch_norm_inference"
,
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"
),
x_main_module_434
,
x_main_module_12
,
x_main_module_11
,
x_main_module_10
,
x_main_module_9
);
auto
x_main_module_323
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"broadcast"
,
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,512,7,7]}"
)),
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"
,
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"
),
x_main_module_436
,
x_main_module_8
);
auto
x_main_module_324
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_322
,
x_main_module_323
);
auto
x_main_module_325
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_324
);
auto
x_main_module_326
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"convolution"
,
migraphx
::
from_json_string
(
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1,1]}"
)),
x_main_module_325
,
x_main_module_7
);
auto
x_main_module_327
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"broadcast"
,
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,512,7,7]}"
)),
x_main_module_6
);
auto
x_main_module_328
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_326
,
x_main_module_327
);
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_op
(
"convolution"
,
migraphx
::
from_json_string
(
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,1]}"
)),
x_main_module_329
,
x_main_module_5
);
auto
x_main_module_331
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"broadcast"
,
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,2048,7,7]}"
)),
auto
x_main_module_438
=
mmain
->
add_instruction
(
migraphx
::
make_json_op
(
"batch_norm_inference"
,
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"
),
x_main_module_437
,
x_main_module_7
,
x_main_module_6
,
x_main_module_5
,
x_main_module_4
);
auto
x_main_module_332
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_330
,
x_main_module_331
);
auto
x_main_module_333
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_332
,
x_main_module_321
);
auto
x_main_module_334
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_333
);
auto
x_main_module_335
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
auto
x_main_module_439
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_438
,
x_main_module_430
);
auto
x_main_module_440
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_439
);
auto
x_main_module_441
=
mmain
->
add_instruction
(
migraphx
::
make_json_op
(
"pooling"
,
migraphx
::
from_json_string
(
"{ceil_mode:0,lengths:[7,7],lp_order:2,mode:0,padding:[0,0,0,0],stride:[1,1]}"
)),
x_main_module_334
);
auto
x_main_module_336
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"reshape"
,
migraphx
::
from_json_string
(
"{dims:[1,-1]}"
)),
x_main_module_335
);
auto
x_main_module_337
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"transpose"
,
migraphx
::
from_json_string
(
"{permutation:[1,0]}"
)),
x_main_module_2
);
auto
x_main_module_338
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"dot"
),
x_main_module_336
,
x_main_module_337
);
auto
x_main_module_339
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"multibroadcast"
,
migraphx
::
from_json_string
(
"{out_lens:[1,1000]}"
)),
x_main_module_3
);
auto
x_main_module_340
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"multibroadcast"
,
migraphx
::
from_json_string
(
"{out_lens:[1,1000]}"
)),
x_main_module_0
);
auto
x_main_module_341
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"mul"
),
x_main_module_339
,
x_main_module_340
);
auto
x_main_module_342
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_338
,
x_main_module_341
);
mmain
->
add_return
({
x_main_module_342
});
"{ceil_mode:0,lengths:[7,7],lp_order:2,mode:0,padding:[0,0,0,0],stride:[1,1]}"
),
x_main_module_440
);
auto
x_main_module_442
=
mmain
->
add_instruction
(
migraphx
::
make_json_op
(
"flatten"
,
"{axis:1}"
),
x_main_module_441
);
auto
x_main_module_443
=
mmain
->
add_instruction
(
migraphx
::
make_json_op
(
"transpose"
,
"{permutation:[1,0]}"
),
x_main_module_3
);
auto
x_main_module_444
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"dot"
),
x_main_module_442
,
x_main_module_443
);
auto
x_main_module_445
=
mmain
->
add_instruction
(
migraphx
::
make_json_op
(
"multibroadcast"
,
"{out_lens:[1,1000]}"
),
x_main_module_2
);
auto
x_main_module_446
=
mmain
->
add_instruction
(
migraphx
::
make_json_op
(
"multibroadcast"
,
"{out_lens:[1,1000]}"
),
x_main_module_0
);
auto
x_main_module_447
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"mul"
),
x_main_module_445
,
x_main_module_446
);
auto
x_main_module_448
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_444
,
x_main_module_447
);
mmain
->
add_return
({
x_main_module_448
});
return
p
;
}
...
...
src/include/migraphx/make_op.hpp
View file @
b41a56cf
...
...
@@ -27,6 +27,8 @@
#include <migraphx/config.hpp>
#include <migraphx/operation.hpp>
#include <migraphx/value.hpp>
#include <migraphx/json.hpp>
#include <migraphx/convert_to_json.hpp>
namespace
migraphx
{
inline
namespace
MIGRAPHX_INLINE_NS
{
...
...
@@ -46,6 +48,8 @@ operation make_op(const std::string& name, const Value& v)
return
make_op_from_value
(
name
,
v
);
}
operation
make_json_op
(
const
std
::
string
&
name
,
const
std
::
string
&
s
);
}
// namespace MIGRAPHX_INLINE_NS
}
// namespace migraphx
...
...
src/include/migraphx/onnx.hpp
View file @
b41a56cf
...
...
@@ -35,17 +35,13 @@ struct onnx_options
{
/// Old way to set default fixed dimension size
std
::
size_t
default_dim_value
=
0
;
/*!
* Default dynamic dimension size (if both default_dim_value and default_dyn_dim_value
* set parser throws)
*/
/// Default dynamic dimension size (if both default_dim_value and default_dyn_dim_value set
/// parser throws)
shape
::
dynamic_dimension
default_dyn_dim_value
=
{
1
,
1
,
0
};
/// Explicitly specify the dims of an input
std
::
unordered_map
<
std
::
string
,
std
::
vector
<
std
::
size_t
>>
map_input_dims
=
{};
/*!
* Explicitly specify dynamic dims of an input (if both map_input_dims and
* map_dyn_input_dims set parser throws)
*/
/// Explicitly specify dynamic dims of an input (if both map_input_dims and map_dyn_input_dims
/// set parser throws)
std
::
unordered_map
<
std
::
string
,
std
::
vector
<
shape
::
dynamic_dimension
>>
map_dyn_input_dims
=
{};
/// Continue parsing onnx file if an unknown operator is found
bool
skip_unknown_operators
=
false
;
...
...
@@ -53,6 +49,8 @@ struct onnx_options
bool
print_program_on_error
=
false
;
/// Max iter num for the loop operator
int64_t
max_loop_iterations
=
10
;
/// Use dynamic output for operators when available
bool
use_dyn_output
=
false
;
};
/// Create a program from an onnx file
...
...
src/include/migraphx/op/convert.hpp
View file @
b41a56cf
...
...
@@ -45,7 +45,15 @@ struct convert : unary<convert>
shape
compute_shape
(
std
::
vector
<
shape
>
inputs
)
const
{
check_shapes
{
inputs
,
*
this
}.
has
(
1
);
return
{
target_type
,
inputs
.
at
(
0
).
lens
(),
inputs
.
at
(
0
).
strides
()};
auto
input
=
inputs
.
at
(
0
);
if
(
input
.
dynamic
())
{
return
{
target_type
,
input
.
dyn_dims
()};
}
else
{
return
{
target_type
,
input
.
lens
(),
input
.
strides
()};
}
}
std
::
string
point_op
()
const
...
...
src/include/migraphx/op/nonmaxsuppression.hpp
View file @
b41a56cf
...
...
@@ -45,11 +45,13 @@ namespace op {
struct
nonmaxsuppression
{
bool
center_point_box
=
false
;
bool
use_dyn_output
=
false
;
template
<
class
Self
,
class
F
>
static
auto
reflect
(
Self
&
self
,
F
f
)
{
return
pack
(
f
(
self
.
center_point_box
,
"center_point_box"
));
return
pack
(
f
(
self
.
center_point_box
,
"center_point_box"
),
f
(
self
.
use_dyn_output
,
"use_dyn_output"
));
}
std
::
string
name
()
const
{
return
"nonmaxsuppression"
;
}
...
...
@@ -57,27 +59,81 @@ struct nonmaxsuppression
shape
compute_shape
(
std
::
vector
<
shape
>
inputs
)
const
{
// requires at least 2 inputs
check_shapes
{{
inputs
.
at
(
0
),
inputs
.
at
(
1
)},
*
this
}.
only_dims
(
3
);
auto
lens
=
inputs
.
front
().
lens
();
check_shapes
{{
inputs
.
at
(
0
),
inputs
.
at
(
1
)},
*
this
,
true
}.
only_dims
(
3
).
same_ndims
();
auto
boxes_max_lens
=
inputs
.
at
(
0
).
max_lens
();
// num batches * num boxes
const
auto
max_num_boxes
=
boxes_max_lens
.
at
(
0
)
*
boxes_max_lens
.
at
(
1
);
// check input shape
if
(
lens
[
1
]
!=
inputs
.
at
(
1
).
lens
()[
2
])
auto
fixed_shape_error_check
=
[
&
]()
{
auto
lens
=
inputs
.
front
().
lens
();
if
(
lens
[
1
]
!=
inputs
.
at
(
1
).
lens
()[
2
])
{
MIGRAPHX_THROW
(
"NonMaxSuppression: spatial dimension mismatch between boxes and scores input"
);
}
if
(
lens
[
0
]
!=
inputs
.
at
(
1
).
lens
()[
0
])
{
MIGRAPHX_THROW
(
"NonMaxSuppression: number of batches mismatch between boxes and scores input"
);
}
};
if
(
use_dyn_output
)
{
MIGRAPHX_THROW
(
"NonMaxSuppression: spatial dimension mismatch between boxes and scores input"
);
if
(
inputs
.
at
(
0
).
dynamic
())
{
// both boxes and scores should be dynamic
// check dynamic dimensions are consistent
const
auto
boxes_dims
=
inputs
.
at
(
0
).
dyn_dims
();
const
auto
scores_dims
=
inputs
.
at
(
1
).
dyn_dims
();
if
(
boxes_dims
.
at
(
1
)
!=
scores_dims
.
at
(
2
))
{
MIGRAPHX_THROW
(
"NonMaxSuppression: dynamic spatial dimension mismatch between "
"boxes and scores input"
);
}
if
(
boxes_dims
.
at
(
0
)
!=
scores_dims
.
at
(
0
))
{
MIGRAPHX_THROW
(
"NonMaxSuppression: dynamic number of batches mismatch between "
"boxes and scores input"
);
}
}
else
if
(
inputs
.
at
(
1
).
dynamic
())
{
// scores has dynamic shape, boxes fixed shape
// check that it is only a dynamic number of classes
const
auto
scores_dims
=
inputs
.
at
(
1
).
dyn_dims
();
const
auto
boxes_lens
=
inputs
.
at
(
0
).
lens
();
if
(
not
scores_dims
.
at
(
0
).
is_fixed
()
or
scores_dims
.
at
(
0
).
max
!=
boxes_lens
.
at
(
0
))
{
MIGRAPHX_THROW
(
"NonMaxSuppression: scores dynamic num_classes; num_batches not "
"fixed or mismatched"
);
}
if
(
not
scores_dims
.
at
(
2
).
is_fixed
()
or
scores_dims
.
at
(
2
).
max
!=
boxes_lens
.
at
(
1
))
{
MIGRAPHX_THROW
(
"NonMaxSuppression: scores dynamic num_classes; "
"spatial_dimension not fixed or mismatches"
);
}
}
else
{
fixed_shape_error_check
();
}
std
::
vector
<
shape
::
dynamic_dimension
>
out_lens
=
{};
out_lens
.
push_back
({
0
,
max_num_boxes
,
0
});
out_lens
.
push_back
({
3
,
3
,
0
});
return
{
shape
::
int64_type
,
out_lens
};
}
// check batch sizes
if
(
lens
[
0
]
!=
inputs
.
at
(
1
).
lens
()[
0
])
else
{
MIGRAPHX_THROW
(
"NonMaxSuppression: number of batches mismatch between boxes and scores input"
);
if
(
inputs
.
at
(
0
).
dynamic
()
or
inputs
.
at
(
1
).
dynamic
())
{
MIGRAPHX_THROW
(
"NonMaxSuppression: dynamic input shape with use_dyn_output set to false"
);
}
fixed_shape_error_check
();
std
::
vector
<
std
::
size_t
>
out_lens
=
{
max_num_boxes
,
3
};
return
{
shape
::
int64_type
,
out_lens
};
}
std
::
vector
<
int64_t
>
out_lens
(
2
);
out_lens
.
at
(
0
)
=
lens
.
at
(
1
);
out_lens
.
at
(
1
)
=
3
;
return
{
shape
::
int64_type
,
out_lens
};
}
struct
box
...
...
@@ -181,13 +237,13 @@ struct nonmaxsuppression
}
template
<
class
Output
,
class
Boxes
,
class
Scores
>
void
compute_nms
(
Output
output
,
Boxes
boxes
,
Scores
scores
,
const
shape
&
output_shape
,
std
::
size_t
max_output_boxes_per_class
,
double
iou_threshold
,
double
score_threshold
)
const
std
::
size_t
compute_nms
(
Output
output
,
Boxes
boxes
,
Scores
scores
,
const
shape
&
max_
output_shape
,
std
::
size_t
max_output_boxes_per_class
,
double
iou_threshold
,
double
score_threshold
)
const
{
std
::
fill
(
output
.
begin
(),
output
.
end
(),
0
);
const
auto
&
lens
=
scores
.
get_shape
().
lens
();
...
...
@@ -197,7 +253,7 @@ struct nonmaxsuppression
// boxes of a class with NMS applied [score, index]
std
::
vector
<
std
::
pair
<
double
,
int64_t
>>
selected_boxes_inside_class
;
std
::
vector
<
int64_t
>
selected_indices
;
selected_boxes_inside_class
.
reserve
(
output_shape
.
elements
());
selected_boxes_inside_class
.
reserve
(
max_
output_shape
.
elements
());
// iterate over batches and classes
shape
comp_s
{
shape
::
double_type
,
{
num_batches
,
num_classes
}};
shape_for_each
(
comp_s
,
[
&
](
auto
idx
)
{
...
...
@@ -237,11 +293,14 @@ struct nonmaxsuppression
}
});
std
::
copy
(
selected_indices
.
begin
(),
selected_indices
.
end
(),
output
.
begin
());
return
selected_indices
.
size
()
/
3
;
}
argument
compute
(
const
shape
&
output_shape
,
std
::
vector
<
argument
>
args
)
const
{
argument
result
{
output_shape
};
// make buffer of maximum size
shape
max_output_shape
=
{
output_shape
.
type
(),
output_shape
.
max_lens
()};
argument
result
{
max_output_shape
};
std
::
size_t
max_output_boxes_per_class
=
(
args
.
size
()
>
2
)
?
(
args
.
at
(
2
).
at
<
std
::
size_t
>
())
:
0
;
...
...
@@ -249,22 +308,29 @@ struct nonmaxsuppression
{
return
result
;
}
double
iou_threshold
=
(
args
.
size
()
>
3
)
?
(
args
.
at
(
3
).
at
<
double
>
())
:
0.0
f
;
double
score_threshold
=
(
args
.
size
()
>
4
)
?
(
args
.
at
(
4
).
at
<
double
>
())
:
0.0
f
;
double
iou_threshold
=
(
args
.
size
()
>
3
)
?
(
args
.
at
(
3
).
at
<
double
>
())
:
0.0
f
;
double
score_threshold
=
(
args
.
size
()
>
4
)
?
(
args
.
at
(
4
).
at
<
double
>
())
:
0.0
f
;
std
::
size_t
num_selected
=
0
;
result
.
visit
([
&
](
auto
output
)
{
visit_all
(
args
[
0
],
args
[
1
])([
&
](
auto
boxes
,
auto
scores
)
{
compute_nms
(
output
,
boxes
,
scores
,
output_shape
,
max_output_boxes_per_class
,
iou_threshold
,
score_threshold
);
num_selected
=
compute_nms
(
output
,
boxes
,
scores
,
max_
output_shape
,
max_output_boxes_per_class
,
iou_threshold
,
score_threshold
);
});
});
return
result
;
if
(
use_dyn_output
)
{
return
result
.
reshape
({
output_shape
.
type
(),
{
num_selected
,
3
}});
}
else
{
return
result
;
}
}
};
...
...
src/
target_assign
ments.
c
pp
→
src/
include/migraphx/supported_seg
ments.
h
pp
View file @
b41a56cf
...
...
@@ -21,16 +21,24 @@
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
#ifndef MIGRAPHX_GUARD_MIGRAPHX_SUPPORTED_SEGMENTS_HPP
#define MIGRAPHX_GUARD_MIGRAPHX_SUPPORTED_SEGMENTS_HPP
#include <migraphx/target_assignments.hpp>
#include <unordered_set>
#include <migraphx/instruction_ref.hpp>
namespace
migraphx
{
inline
namespace
MIGRAPHX_INLINE_NS
{
void
target_assignments
::
add_assignment
(
instruction_ref
ins
,
const
std
::
string
&
target
)
struct
supported_segment
{
assignments
.
emplace
(
ins
,
target
);
}
std
::
unordered_set
<
instruction_ref
>
instructions
;
float
metric
;
};
using
supported_segments
=
std
::
vector
<
supported_segment
>
;
}
// namespace MIGRAPHX_INLINE_NS
}
// namespace migraphx
#endif // MIGRAPHX_GUARD_MIGRAPHX_SUPPORTED_SEGMENTS_HPP
src/include/migraphx/target.hpp
View file @
b41a56cf
...
...
@@ -37,8 +37,10 @@
#include <migraphx/compile_options.hpp>
#include <migraphx/argument.hpp>
#include <migraphx/rank.hpp>
#include <migraphx/module_ref.hpp>
#include <migraphx/support_metric.hpp>
#include <migraphx/instruction_ref.hpp>
#include <migraphx/supported_segments.hpp>
namespace
migraphx
{
inline
namespace
MIGRAPHX_INLINE_NS
{
...
...
@@ -64,12 +66,12 @@ struct target
*/
context
get_context
()
const
;
/**
* @brief
Check how well an
instruction
is
supported on a target
with the given metric
* @param
ins Instruction
to check
if it's
supported
* @param metric Used to define how the
return value
should be
interpret
ed
* @return
T
he
value based on the chosen metric. Negative numbers mean unsupported
* @brief
Get the ranges of
instruction
s that are
supported on a target
* @param
module Module
to check
for
supported
instructions
* @param metric Used to define how the
quality of the support
should be
measur
ed
* @return
t
he
supported segments of the graph
*/
float
is_supported
(
T
&
,
i
nst
ruction
_ref
ins
,
support_metric
m
)
const
;
supported_segments
target_
is_supported
(
T
&
,
co
nst
_module
_ref
mod
,
support_metric
m
etric
)
const
;
/**
* @brief copy an argument to the current target.
*
...
...
@@ -115,9 +117,9 @@ argument copy_from_target(T&, const argument& arg)
}
template
<
class
T
>
float
target_
is
_supported
(
T
&
,
i
nst
ruction
_ref
,
support_metric
)
supported_segments
target_
find
_supported
(
T
&
,
co
nst
_module
_ref
,
support_metric
)
{
return
0
;
return
{}
;
}
#ifdef TYPE_ERASED_DECLARATION
...
...
@@ -132,7 +134,7 @@ struct target
//
context
get_context
()
const
;
// (optional)
float
is
_supported
(
i
nst
ruction
_ref
ins
,
support_metric
m
)
const
;
supported_segments
find
_supported
(
co
nst
_module
_ref
mod
,
support_metric
m
)
const
;
// (optional)
argument
copy_to
(
const
argument
&
input
)
const
;
// (optional)
...
...
@@ -224,10 +226,10 @@ struct target
return
(
*
this
).
private_detail_te_get_handle
().
get_context
();
}
float
is
_supported
(
i
nst
ruction
_ref
ins
,
support_metric
m
)
const
supported_segments
find
_supported
(
co
nst
_module
_ref
mod
,
support_metric
m
)
const
{
assert
((
*
this
).
private_detail_te_handle_mem_var
);
return
(
*
this
).
private_detail_te_get_handle
().
is
_supported
(
ins
,
m
);
return
(
*
this
).
private_detail_te_get_handle
().
find
_supported
(
mod
,
m
);
}
argument
copy_to
(
const
argument
&
input
)
const
...
...
@@ -261,33 +263,33 @@ struct target
virtual
std
::
shared_ptr
<
private_detail_te_handle_base_type
>
clone
()
const
=
0
;
virtual
const
std
::
type_info
&
type
()
const
=
0
;
virtual
std
::
string
name
()
const
=
0
;
virtual
std
::
string
name
()
const
=
0
;
virtual
std
::
vector
<
pass
>
get_passes
(
context
&
ctx
,
const
compile_options
&
options
)
const
=
0
;
virtual
context
get_context
()
const
=
0
;
virtual
float
is
_supported
(
i
nst
ruction
_ref
ins
,
support_metric
m
)
const
=
0
;
virtual
argument
copy_to
(
const
argument
&
input
)
const
=
0
;
virtual
argument
copy_from
(
const
argument
&
input
)
const
=
0
;
virtual
argument
allocate
(
const
shape
&
s
)
const
=
0
;
const
compile_options
&
options
)
const
=
0
;
virtual
context
get_context
()
const
=
0
;
virtual
supported_segments
find
_supported
(
co
nst
_module
_ref
mod
,
support_metric
m
)
const
=
0
;
virtual
argument
copy_to
(
const
argument
&
input
)
const
=
0
;
virtual
argument
copy_from
(
const
argument
&
input
)
const
=
0
;
virtual
argument
allocate
(
const
shape
&
s
)
const
=
0
;
};
template
<
class
T
>
static
auto
private_detail_te_default_
is
_supported
(
char
,
T
&&
private_detail_te_self
,
instruction
_ref
ins
,
support_metric
m
)
->
decltype
(
private_detail_te_self
.
is
_supported
(
ins
,
m
))
static
auto
private_detail_te_default_
find
_supported
(
char
,
T
&&
private_detail_te_self
,
const_module
_ref
mod
,
support_metric
m
)
->
decltype
(
private_detail_te_self
.
find
_supported
(
mod
,
m
))
{
return
private_detail_te_self
.
is
_supported
(
ins
,
m
);
return
private_detail_te_self
.
find
_supported
(
mod
,
m
);
}
template
<
class
T
>
static
float
private_detail_te_default_
is
_supported
(
float
,
T
&&
private_detail_te_self
,
instruction
_ref
ins
,
support_metric
m
)
static
supported_segments
private_detail_te_default_
find
_supported
(
float
,
T
&&
private_detail_te_self
,
const_module
_ref
mod
,
support_metric
m
)
{
return
target_
is
_supported
(
private_detail_te_self
,
ins
,
m
);
return
target_
find
_supported
(
private_detail_te_self
,
mod
,
m
);
}
template
<
class
T
>
...
...
@@ -372,10 +374,11 @@ struct target
context
get_context
()
const
override
{
return
private_detail_te_value
.
get_context
();
}
float
is
_supported
(
i
nst
ruction
_ref
ins
,
support_metric
m
)
const
override
supported_segments
find
_supported
(
co
nst
_module
_ref
mod
,
support_metric
m
)
const
override
{
return
private_detail_te_default_is_supported
(
char
(
0
),
private_detail_te_value
,
ins
,
m
);
return
private_detail_te_default_find_supported
(
char
(
0
),
private_detail_te_value
,
mod
,
m
);
}
argument
copy_to
(
const
argument
&
input
)
const
override
...
...
src/include/migraphx/target_assignments.hpp
View file @
b41a56cf
...
...
@@ -33,10 +33,20 @@ inline namespace MIGRAPHX_INLINE_NS {
struct
target_assignments
{
void
add_assignment
(
instruction_ref
ins
,
const
std
::
string
&
target
);
using
iterator
=
std
::
unordered_map
<
instruction_ref
,
std
::
string
>::
const_iterator
;
using
value_type
=
std
::
pair
<
instruction_ref
,
std
::
string
>
;
auto
begin
()
const
{
return
assignments
.
cbegin
();
}
auto
end
()
const
{
return
assignments
.
cend
();
}
auto
size
()
const
{
return
assignments
.
size
();
}
auto
&
at
(
instruction_ref
ins
)
const
{
return
assignments
.
at
(
ins
);
}
auto
insert
(
iterator
it
,
const
std
::
pair
<
instruction_ref
,
std
::
string
>&
assignment
)
{
return
assignments
.
insert
(
it
,
assignment
);
}
auto
find
(
instruction_ref
ins
)
const
{
return
assignments
.
find
(
ins
);
}
auto
begin
()
const
{
return
assignments
.
begin
();
}
auto
end
()
const
{
return
assignments
.
end
();
}
private:
std
::
unordered_map
<
instruction_ref
,
std
::
string
>
assignments
;
...
...
src/make_op.cpp
View file @
b41a56cf
...
...
@@ -64,5 +64,10 @@ operation make_op_from_value(const std::string& name, const value& v)
});
}
operation
make_json_op
(
const
std
::
string
&
name
,
const
std
::
string
&
s
)
{
return
make_op
(
name
,
from_json_string
(
convert_to_json
(
s
)));
}
}
// namespace MIGRAPHX_INLINE_NS
}
// namespace migraphx
src/module.cpp
View file @
b41a56cf
...
...
@@ -788,12 +788,15 @@ static std::string cpp_var_name(const std::string& name)
static
void
print_make_op
(
std
::
ostream
&
os
,
const
operation
&
op
)
{
os
<<
"migraphx::make_op("
<<
enclose_name
(
op
.
name
());
auto
v
=
op
.
to_value
();
if
(
not
v
.
empty
())
{
os
<<
", "
<<
"migraphx::from_json_string("
<<
enclose_name
(
to_json_string
(
v
))
<<
")"
;
os
<<
"migraphx::make_json_op("
<<
enclose_name
(
op
.
name
());
os
<<
", "
<<
enclose_name
(
to_json_string
(
v
));
}
else
{
os
<<
"migraphx::make_op("
<<
enclose_name
(
op
.
name
());
}
os
<<
")"
;
}
...
...
src/onnx/include/migraphx/onnx/onnx_parser.hpp
View file @
b41a56cf
...
...
@@ -97,6 +97,7 @@ struct onnx_parser
shape
::
dynamic_dimension
default_dyn_dim_value
=
{
1
,
1
,
0
};
std
::
unordered_map
<
std
::
string
,
std
::
vector
<
std
::
size_t
>>
map_input_dims
;
std
::
unordered_map
<
std
::
string
,
std
::
vector
<
shape
::
dynamic_dimension
>>
map_dyn_input_dims
;
bool
use_dyn_output
=
false
;
bool
skip_unknown_operators
=
false
;
int64_t
max_loop_iterations
=
10
;
int64_t
opset_version
=
13
;
...
...
src/onnx/onnx.cpp
View file @
b41a56cf
...
...
@@ -60,8 +60,14 @@ program parse_onnx_from(const onnx_options& options, Ts&&... xs)
{
parser
.
default_dyn_dim_value
=
options
.
default_dyn_dim_value
;
}
if
(
not
options
.
map_input_dims
.
empty
()
and
not
options
.
map_dyn_input_dims
.
empty
())
{
MIGRAPHX_THROW
(
"PARSE_ONNX_FROM: both map_input_dims and map_dyn_input_dims non-empty, only"
"one should be used"
);
}
parser
.
skip_unknown_operators
=
options
.
skip_unknown_operators
;
parser
.
max_loop_iterations
=
options
.
max_loop_iterations
;
parser
.
use_dyn_output
=
options
.
use_dyn_output
;
if
(
options
.
print_program_on_error
)
{
...
...
@@ -80,6 +86,7 @@ program parse_onnx_from(const onnx_options& options, Ts&&... xs)
{
parser
.
parse_from
(
std
::
forward
<
Ts
>
(
xs
)...);
}
return
std
::
move
(
parser
.
prog
);
}
...
...
src/onnx/onnx_parser.cpp
View file @
b41a56cf
...
...
@@ -256,11 +256,6 @@ int64_t onnx_parser::get_opset_version(const onnx::ModelProto& model)
void
onnx_parser
::
parse_graph
(
module
*
mod
,
const
onnx
::
GraphProto
&
graph
)
{
if
(
not
map_input_dims
.
empty
()
and
not
map_dyn_input_dims
.
empty
())
{
MIGRAPHX_THROW
(
"PARSE_GRAPH: both map_input_dims and map_dyn_input_dims non-empty, only"
"one should be used"
);
}
std
::
unordered_map
<
std
::
string
,
instruction_ref
>
mod_insts
;
for
(
auto
&&
f
:
graph
.
initializer
())
{
...
...
src/onnx/parse_generic_op.cpp
View file @
b41a56cf
...
...
@@ -58,7 +58,6 @@ struct parse_generic_op : op_parser<parse_generic_op>
{
"Log"
,
"log"
},
{
"LRN"
,
"lrn"
},
{
"Neg"
,
"neg"
},
{
"NonMaxSuppression"
,
"nonmaxsuppression"
},
{
"Reciprocal"
,
"recip"
},
{
"Relu"
,
"relu"
},
{
"Round"
,
"round"
},
...
...
@@ -75,7 +74,7 @@ struct parse_generic_op : op_parser<parse_generic_op>
bool
needs_contiguous
(
const
std
::
string
&
op_name
)
const
{
return
contains
({
"flatten"
,
"gather"
,
"nonmaxsuppression"
,
"scatter"
},
op_name
);
return
contains
({
"flatten"
,
"gather"
,
"scatter"
},
op_name
);
}
instruction_ref
parse
(
const
op_desc
&
opd
,
...
...
Prev
1
2
3
Next
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment