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
5eae6517
Unverified
Commit
5eae6517
authored
Aug 23, 2022
by
Umang Yadav
Committed by
GitHub
Aug 23, 2022
Browse files
Merge branch 'develop' into dot-add
parents
7c6ed581
fa3c21fa
Changes
51
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
4173 additions
and
2932 deletions
+4173
-2932
.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/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
src/onnx/parse_nonmaxsuppression.cpp
src/onnx/parse_nonmaxsuppression.cpp
+49
-0
No files found.
.github/workflows/ci.yaml
View file @
5eae6517
...
@@ -53,6 +53,7 @@ jobs:
...
@@ -53,6 +53,7 @@ jobs:
CXX=/opt/rocm/llvm/bin/clang++ CC=/opt/rocm/llvm/bin/clang cmake \
CXX=/opt/rocm/llvm/bin/clang++ CC=/opt/rocm/llvm/bin/clang cmake \
-DMIGRAPHX_ENABLE_GPU=On \
-DMIGRAPHX_ENABLE_GPU=On \
-DMIGRAPHX_ENABLE_CPU=On \
-DMIGRAPHX_ENABLE_CPU=On \
-DMIGRAPHX_ENABLE_FPGA=On \
-DROCM_ENABLE_GH_ANNOTATIONS=On \
-DROCM_ENABLE_GH_ANNOTATIONS=On \
-DCLANG_TIDY_DEPEND_ON_TARGET=Off \
-DCLANG_TIDY_DEPEND_ON_TARGET=Off \
-DCLANG_TIDY_CACHE=/data/tidy-cache \
-DCLANG_TIDY_CACHE=/data/tidy-cache \
...
...
.github/workflows/performance.yaml
View file @
5eae6517
name
:
MIGraphX Performance Tests
name
:
MIGraphX Performance Tests
on
:
on
:
push
:
branches
:
[
develop
]
pull_request
:
pull_request
:
branches
:
[
develop
]
branches
:
[
develop
]
types
:
[
opened
,
synchronize
,
closed
]
schedule
:
schedule
:
-
cron
:
"
0
5
*
*
1-6"
-
cron
:
"
0
5
*
*
1-6"
...
...
src/CMakeLists.txt
View file @
5eae6517
...
@@ -90,7 +90,6 @@ add_library(migraphx
...
@@ -90,7 +90,6 @@ add_library(migraphx
shape.cpp
shape.cpp
simplify_algebra.cpp
simplify_algebra.cpp
simplify_reshapes.cpp
simplify_reshapes.cpp
target_assignments.cpp
tmp_dir.cpp
tmp_dir.cpp
value.cpp
value.cpp
verify_args.cpp
verify_args.cpp
...
...
src/driver/alexnet.cpp
View file @
5eae6517
...
@@ -25,13 +25,10 @@
...
@@ -25,13 +25,10 @@
#include <migraphx/make_op.hpp>
#include <migraphx/make_op.hpp>
#include <migraphx/program.hpp>
#include <migraphx/program.hpp>
#include <migraphx/generate.hpp>
#include <migraphx/generate.hpp>
#include <migraphx/json.hpp>
#include "models.hpp"
#include "models.hpp"
namespace
migraphx
{
namespace
migraphx
{
namespace
driver
{
namespace
driver
{
inline
namespace
MIGRAPHX_INLINE_NS
{
inline
namespace
MIGRAPHX_INLINE_NS
{
migraphx
::
program
alexnet
(
unsigned
batch
)
// NOLINT(readability-function-size)
migraphx
::
program
alexnet
(
unsigned
batch
)
// NOLINT(readability-function-size)
{
{
migraphx
::
program
p
;
migraphx
::
program
p
;
...
@@ -42,179 +39,153 @@ migraphx::program alexnet(unsigned batch) // NOLINT(readability-function-size)
...
@@ -42,179 +39,153 @@ migraphx::program alexnet(unsigned batch) // NOLINT(readability-function-size)
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1
}},
1
)));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1
}},
1
)));
auto
x_main_module_2
=
mmain
->
add_literal
(
migraphx
::
abs
(
auto
x_main_module_2
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1
}},
2
)));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1
}},
2
)));
auto
x_
input_1
=
mmain
->
add_parameter
(
auto
x_
0
=
mmain
->
add_parameter
(
"
input.1
"
,
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
batch
,
3
,
224
,
224
}});
"
0
"
,
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
batch
,
3
,
224
,
224
}});
auto
x_main_module_4
=
mmain
->
add_literal
(
auto
x_main_module_4
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
4096
,
4096
}},
3
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1000
}},
3
));
auto
x_main_module_5
=
mmain
->
add_literal
(
auto
x_main_module_5
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
4096
}},
4
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1000
,
4096
}},
4
));
auto
x_main_module_6
=
mmain
->
add_literal
(
auto
x_main_module_6
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
4096
,
9216
}},
5
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
4096
}},
5
));
auto
x_main_module_7
=
mmain
->
add_literal
(
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
(
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
(
auto
x_main_module_9
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1000
}},
8
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
4096
,
9216
}},
8
));
auto
x_main_module_10
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
auto
x_main_module_10
=
mmain
->
add_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
,
384
,
3
,
3
}},
9
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
9
));
auto
x_main_module_11
=
mmain
->
add_literal
(
auto
x_main_module_11
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
10
));
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
,
256
,
3
,
3
}},
10
));
auto
x_main_module_12
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
auto
x_main_module_12
=
mmain
->
add_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
384
,
192
,
3
,
3
}},
11
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
11
));
auto
x_main_module_13
=
mmain
->
add_literal
(
auto
x_main_module_13
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
384
}},
12
));
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
,
384
,
3
,
3
}},
12
));
auto
x_main_module_14
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
auto
x_main_module_14
=
mmain
->
add_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
192
,
64
,
5
,
5
}},
13
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
384
}},
13
));
auto
x_main_module_15
=
mmain
->
add_literal
(
auto
x_main_module_15
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
192
}},
14
));
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
384
,
192
,
3
,
3
}},
14
));
auto
x_main_module_16
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
auto
x_main_module_16
=
mmain
->
add_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
,
256
,
3
,
3
}},
15
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
192
}},
15
));
auto
x_main_module_17
=
mmain
->
add_literal
(
auto
x_main_module_17
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
16
));
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
192
,
64
,
5
,
5
}},
16
));
auto
x_main_module_18
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
auto
x_main_module_18
=
mmain
->
add_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
64
,
3
,
11
,
11
}},
17
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
64
}},
17
));
auto
x_main_module_19
=
mmain
->
add_literal
(
auto
x_main_module_19
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
64
}},
18
));
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
64
,
3
,
11
,
11
}},
18
));
auto
x_main_module_20
=
mmain
->
add_instruction
(
auto
x_main_module_20
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
migraphx
::
make_json_op
(
"convolution"
,
"convolution"
,
"{dilation:[1,1],group:1,padding:[2,2,2,2],padding_mode:0,stride:[4,"
migraphx
::
from_json_string
(
"4],use_dynamic_same_auto_pad:0}"
),
"{dilation:[1,1],group:1,padding:[2,2,2,2],padding_mode:0,stride:[4,4]}"
)),
x_0
,
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]}"
)),
x_main_module_19
);
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
=
auto
x_main_module_22
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_20
,
x_main_module_21
);
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_20
,
x_main_module_21
);
auto
x_main_module_23
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_22
);
auto
x_main_module_23
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_22
);
auto
x_main_module_24
=
mmain
->
add_instruction
(
auto
x_main_module_24
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
migraphx
::
make_
json_
op
(
"pooling"
,
"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
);
x_main_module_23
);
auto
x_main_module_25
=
mmain
->
add_instruction
(
auto
x_main_module_25
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
migraphx
::
make_json_op
(
"convolution"
,
"convolution"
,
"{dilation:[1,1],group:1,padding:[2,2,2,2],padding_mode:0,stride:[1,"
migraphx
::
from_json_string
(
"1],use_dynamic_same_auto_pad:0}"
),
"{dilation:[1,1],group:1,padding:[2,2,2,2],padding_mode:0,stride:[1,1]}"
)),
x_main_module_24
,
x_main_module_24
,
x_main_module_1
4
);
x_main_module_1
7
);
auto
x_main_module_26
=
mmain
->
add_instruction
(
auto
x_main_module_26
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"broadcast"
,
migraphx
::
make_json_op
(
"broadcast"
,
"{axis:1,out_lens:[1,192,27,27]}"
),
x_main_module_16
);
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,192,27,27]}"
)),
x_main_module_15
);
auto
x_main_module_27
=
auto
x_main_module_27
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_25
,
x_main_module_26
);
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_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_28
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_27
);
auto
x_main_module_29
=
mmain
->
add_instruction
(
auto
x_main_module_29
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
migraphx
::
make_
json_
op
(
"pooling"
,
"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
);
x_main_module_28
);
auto
x_main_module_30
=
mmain
->
add_instruction
(
auto
x_main_module_30
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
migraphx
::
make_json_op
(
"convolution"
,
"convolution"
,
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1,"
migraphx
::
from_json_string
(
"1],use_dynamic_same_auto_pad:0}"
),
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1,1]}"
)),
x_main_module_29
,
x_main_module_29
,
x_main_module_1
2
);
x_main_module_1
5
);
auto
x_main_module_31
=
mmain
->
add_instruction
(
auto
x_main_module_31
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"broadcast"
,
migraphx
::
make_json_op
(
"broadcast"
,
"{axis:1,out_lens:[1,384,13,13]}"
),
x_main_module_14
);
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,384,13,13]}"
)),
x_main_module_13
);
auto
x_main_module_32
=
auto
x_main_module_32
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_30
,
x_main_module_31
);
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_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_33
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_32
);
auto
x_main_module_34
=
mmain
->
add_instruction
(
auto
x_main_module_34
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
migraphx
::
make_json_op
(
"convolution"
,
"convolution"
,
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1,"
migraphx
::
from_json_string
(
"1],use_dynamic_same_auto_pad:0}"
),
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1,1]}"
)),
x_main_module_33
,
x_main_module_33
,
x_main_module_1
0
);
x_main_module_1
3
);
auto
x_main_module_35
=
mmain
->
add_instruction
(
auto
x_main_module_35
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"broadcast"
,
migraphx
::
make_json_op
(
"broadcast"
,
"{axis:1,out_lens:[1,256,13,13]}"
),
x_main_module_12
);
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,256,13,13]}"
)),
x_main_module_11
);
auto
x_main_module_36
=
auto
x_main_module_36
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_34
,
x_main_module_35
);
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_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_37
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_36
);
auto
x_main_module_38
=
mmain
->
add_instruction
(
auto
x_main_module_38
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
migraphx
::
make_json_op
(
"convolution"
,
"convolution"
,
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1,"
migraphx
::
from_json_string
(
"1],use_dynamic_same_auto_pad:0}"
),
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1,1]}"
)),
x_main_module_37
,
x_main_module_37
,
x_main_module_1
6
);
x_main_module_1
1
);
auto
x_main_module_39
=
mmain
->
add_instruction
(
auto
x_main_module_39
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"broadcast"
,
migraphx
::
make_json_op
(
"broadcast"
,
"{axis:1,out_lens:[1,256,13,13]}"
),
x_main_module_10
);
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,256,13,13]}"
)),
x_main_module_17
);
auto
x_main_module_40
=
auto
x_main_module_40
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_38
,
x_main_module_39
);
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_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_41
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_40
);
auto
x_main_module_42
=
mmain
->
add_instruction
(
auto
x_main_module_42
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
migraphx
::
make_
json_
op
(
"pooling"
,
"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
);
x_main_module_41
);
auto
x_main_module_43
=
mmain
->
add_instruction
(
auto
x_main_module_43
=
migraphx
::
make_op
(
"reshape"
,
migraphx
::
from_json_string
(
"{dims:[1,9216]}"
)),
mmain
->
add_instruction
(
migraphx
::
make_json_op
(
"flatten"
,
"{axis:1}"
),
x_main_module_42
);
x_main_module_42
);
auto
x_main_module_44
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"identity"
),
x_main_module_43
);
auto
x_main_module_44
=
mmain
->
add_instruction
(
auto
x_main_module_45
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"transpose"
,
migraphx
::
from_json_string
(
"{permutation:[1,0]}"
)),
migraphx
::
make_json_op
(
"transpose"
,
"{permutation:[1,0]}"
),
x_main_module_9
);
x_main_module_6
);
auto
x_main_module_46
=
auto
x_main_module_45
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"dot"
),
x_main_module_44
,
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_47
=
mmain
->
add_instruction
(
auto
x_main_module_47
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"multibroadcast"
,
migraphx
::
from_json_string
(
"{out_lens:[1,4096]}"
)),
migraphx
::
make_json_op
(
"multibroadcast"
,
"{out_lens:[1,4096]}"
),
x_main_module_8
);
x_main_module_2
);
auto
x_main_module_48
=
mmain
->
add_instruction
(
auto
x_main_module_48
=
migraphx
::
make_json_op
(
"multibroadcast"
,
"{out_lens:[1,4096]}"
),
x_main_module_2
);
mmain
->
add_instruction
(
migraphx
::
make_op
(
"mul"
),
x_main_module_46
,
x_main_module_47
);
auto
x_main_module_49
=
auto
x_main_module_49
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_45
,
x_main_module_48
);
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
(
"relu"
),
x_main_module_49
);
auto
x_main_module_50
=
auto
x_main_module_51
=
mmain
->
add_instruction
(
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_46
,
x_main_module_49
);
migraphx
::
make_op
(
"transpose"
,
migraphx
::
from_json_string
(
"{permutation:[1,0]}"
)),
auto
x_main_module_51
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_50
);
x_main_module_4
);
auto
x_main_module_52
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"identity"
),
x_main_module_51
);
auto
x_main_module_52
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"dot"
),
x_main_module_50
,
x_main_module_51
);
auto
x_main_module_53
=
mmain
->
add_instruction
(
auto
x_main_module_53
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"multibroadcast"
,
migraphx
::
from_json_string
(
"{out_lens:[1,4096]}"
)),
migraphx
::
make_json_op
(
"transpose"
,
"{permutation:[1,0]}"
),
x_main_module_7
);
x_main_module_5
);
auto
x_main_module_54
=
auto
x_main_module_54
=
mmain
->
add_instruction
(
mmain
->
add_instruction
(
migraphx
::
make_op
(
"dot"
),
x_main_module_52
,
x_main_module_53
);
migraphx
::
make_op
(
"multibroadcast"
,
migraphx
::
from_json_string
(
"{out_lens:[1,4096]}"
)),
auto
x_main_module_55
=
mmain
->
add_instruction
(
x_main_module_1
);
migraphx
::
make_json_op
(
"multibroadcast"
,
"{out_lens:[1,4096]}"
),
x_main_module_6
);
auto
x_main_module_55
=
auto
x_main_module_56
=
mmain
->
add_instruction
(
mmain
->
add_instruction
(
migraphx
::
make_op
(
"mul"
),
x_main_module_53
,
x_main_module_54
);
migraphx
::
make_json_op
(
"multibroadcast"
,
"{out_lens:[1,4096]}"
),
x_main_module_1
);
auto
x_main_module_56
=
auto
x_main_module_57
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_52
,
x_main_module_55
);
mmain
->
add_instruction
(
migraphx
::
make_op
(
"mul"
),
x_main_module_55
,
x_main_module_56
);
auto
x_main_module_57
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_56
);
auto
x_main_module_58
=
auto
x_main_module_58
=
mmain
->
add_instruction
(
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_54
,
x_main_module_57
);
migraphx
::
make_op
(
"transpose"
,
migraphx
::
from_json_string
(
"{permutation:[1,0]}"
)),
auto
x_main_module_59
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_58
);
x_main_module_8
);
auto
x_main_module_59
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"dot"
),
x_main_module_57
,
x_main_module_58
);
auto
x_main_module_60
=
mmain
->
add_instruction
(
auto
x_main_module_60
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"multibroadcast"
,
migraphx
::
from_json_string
(
"{out_lens:[1,1000]}"
)),
migraphx
::
make_json_op
(
"transpose"
,
"{permutation:[1,0]}"
),
x_main_module_5
);
x_main_module_9
);
auto
x_main_module_61
=
auto
x_main_module_61
=
mmain
->
add_instruction
(
mmain
->
add_instruction
(
migraphx
::
make_op
(
"dot"
),
x_main_module_59
,
x_main_module_60
);
migraphx
::
make_op
(
"multibroadcast"
,
migraphx
::
from_json_string
(
"{out_lens:[1,1000]}"
)),
auto
x_main_module_62
=
mmain
->
add_instruction
(
x_main_module_0
);
migraphx
::
make_json_op
(
"multibroadcast"
,
"{out_lens:[1,1000]}"
),
x_main_module_4
);
auto
x_main_module_62
=
auto
x_main_module_63
=
mmain
->
add_instruction
(
mmain
->
add_instruction
(
migraphx
::
make_op
(
"mul"
),
x_main_module_60
,
x_main_module_61
);
migraphx
::
make_json_op
(
"multibroadcast"
,
"{out_lens:[1,1000]}"
),
x_main_module_0
);
auto
x_main_module_63
=
auto
x_main_module_64
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_59
,
x_main_module_62
);
mmain
->
add_instruction
(
migraphx
::
make_op
(
"mul"
),
x_main_module_62
,
x_main_module_63
);
mmain
->
add_return
({
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
;
return
p
;
}
}
...
...
src/driver/inceptionv3.cpp
View file @
5eae6517
This source diff could not be displayed because it is too large. You can
view the blob
instead.
src/driver/resnet50.cpp
View file @
5eae6517
...
@@ -25,1033 +25,1453 @@
...
@@ -25,1033 +25,1453 @@
#include <migraphx/make_op.hpp>
#include <migraphx/make_op.hpp>
#include <migraphx/program.hpp>
#include <migraphx/program.hpp>
#include <migraphx/generate.hpp>
#include <migraphx/generate.hpp>
#include <migraphx/json.hpp>
#include "models.hpp"
#include "models.hpp"
namespace
migraphx
{
namespace
migraphx
{
namespace
driver
{
namespace
driver
{
inline
namespace
MIGRAPHX_INLINE_NS
{
inline
namespace
MIGRAPHX_INLINE_NS
{
migraphx
::
program
resnet50
(
unsigned
batch
)
// NOLINT(readability-function-size)
migraphx
::
program
resnet50
(
unsigned
batch
)
// NOLINT(readability-function-size)
{
{
migraphx
::
program
p
;
migraphx
::
program
p
;
migraphx
::
module_ref
mmain
=
p
.
get_main_module
();
migraphx
::
module_ref
mmain
=
p
.
get_main_module
();
auto
x_main_module_0
=
mmain
->
add_literal
(
migraphx
::
abs
(
auto
x_main_module_0
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1
}},
0
)));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1
}},
0
)));
auto
x_
input_1
=
mmain
->
add_parameter
(
auto
x_
0
=
mmain
->
add_parameter
(
"
input.1
"
,
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
batch
,
3
,
224
,
224
}});
"
0
"
,
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
batch
,
3
,
224
,
224
}});
auto
x_main_module_2
=
mmain
->
add_literal
(
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
(
auto
x_main_module_3
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1000
}},
2
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1000
,
2048
}},
2
));
auto
x_main_module_4
=
mmain
->
add_literal
(
auto
x_main_module_4
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
2048
}},
3
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
2048
}},
3
))
)
;
auto
x_main_module_5
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
auto
x_main_module_5
=
mmain
->
add_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
2048
,
512
,
1
,
1
}},
4
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
2048
}},
4
));
auto
x_main_module_6
=
mmain
->
add_literal
(
auto
x_main_module_6
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
}},
5
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
2048
}},
5
));
auto
x_main_module_7
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
auto
x_main_module_7
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
,
512
,
3
,
3
}},
6
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
2048
}},
6
))
)
;
auto
x_main_module_8
=
mmain
->
add_literal
(
auto
x_main_module_8
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
}},
7
));
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
2048
,
512
,
1
,
1
}},
7
));
auto
x_main_module_9
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
auto
x_main_module_9
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
,
2048
,
1
,
1
}},
8
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
}},
8
))
)
;
auto
x_main_module_10
=
mmain
->
add_literal
(
auto
x_main_module_10
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
2048
}},
9
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
}},
9
));
auto
x_main_module_11
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
auto
x_main_module_11
=
mmain
->
add_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
2048
,
512
,
1
,
1
}},
10
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
}},
10
));
auto
x_main_module_12
=
mmain
->
add_literal
(
auto
x_main_module_12
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
}},
11
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
}},
11
))
)
;
auto
x_main_module_13
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
auto
x_main_module_13
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
,
512
,
3
,
3
}},
12
));
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
,
512
,
3
,
3
}},
12
));
auto
x_main_module_14
=
mmain
->
add_literal
(
auto
x_main_module_14
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
}},
13
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
}},
13
))
)
;
auto
x_main_module_15
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
auto
x_main_module_15
=
mmain
->
add_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
,
2048
,
1
,
1
}},
14
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
}},
14
));
auto
x_main_module_16
=
mmain
->
add_literal
(
auto
x_main_module_16
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
2048
}},
15
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
}},
15
));
auto
x_main_module_17
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
auto
x_main_module_17
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
2048
,
1024
,
1
,
1
}},
16
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
}},
16
))
)
;
auto
x_main_module_18
=
mmain
->
add_literal
(
auto
x_main_module_18
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
2048
}},
17
));
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
,
2048
,
1
,
1
}},
17
));
auto
x_main_module_19
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
auto
x_main_module_19
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
2048
,
512
,
1
,
1
}},
18
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
2048
}},
18
))
)
;
auto
x_main_module_20
=
mmain
->
add_literal
(
auto
x_main_module_20
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
}},
19
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
2048
}},
19
));
auto
x_main_module_21
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
auto
x_main_module_21
=
mmain
->
add_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
,
512
,
3
,
3
}},
20
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
2048
}},
20
));
auto
x_main_module_22
=
mmain
->
add_literal
(
auto
x_main_module_22
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
}},
21
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
2048
}},
21
))
)
;
auto
x_main_module_23
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
auto
x_main_module_23
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
,
1024
,
1
,
1
}},
22
));
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
2048
,
512
,
1
,
1
}},
22
));
auto
x_main_module_24
=
mmain
->
add_literal
(
auto
x_main_module_24
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1024
}},
23
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
}},
23
))
)
;
auto
x_main_module_25
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
auto
x_main_module_25
=
mmain
->
add_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1024
,
256
,
1
,
1
}},
24
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
}},
24
));
auto
x_main_module_26
=
mmain
->
add_literal
(
auto
x_main_module_26
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
25
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
}},
25
));
auto
x_main_module_27
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
auto
x_main_module_27
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
,
256
,
3
,
3
}},
26
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
}},
26
))
)
;
auto
x_main_module_28
=
mmain
->
add_literal
(
auto
x_main_module_28
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
27
));
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
,
512
,
3
,
3
}},
27
));
auto
x_main_module_29
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
auto
x_main_module_29
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
,
1024
,
1
,
1
}},
28
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
}},
28
))
)
;
auto
x_main_module_30
=
mmain
->
add_literal
(
auto
x_main_module_30
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1024
}},
29
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
}},
29
));
auto
x_main_module_31
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
auto
x_main_module_31
=
mmain
->
add_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1024
,
256
,
1
,
1
}},
30
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
}},
30
));
auto
x_main_module_32
=
mmain
->
add_literal
(
auto
x_main_module_32
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
31
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
}},
31
))
)
;
auto
x_main_module_33
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
auto
x_main_module_33
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
,
256
,
3
,
3
}},
32
));
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
,
2048
,
1
,
1
}},
32
));
auto
x_main_module_34
=
mmain
->
add_literal
(
auto
x_main_module_34
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
2
56
}},
33
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
2
048
}},
33
))
)
;
auto
x_main_module_35
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
auto
x_main_module_35
=
mmain
->
add_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
2
56
,
1024
,
1
,
1
}},
34
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
2
048
}},
34
));
auto
x_main_module_36
=
mmain
->
add_literal
(
auto
x_main_module_36
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1024
}},
35
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
2048
}},
35
));
auto
x_main_module_37
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
auto
x_main_module_37
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1024
,
256
,
1
,
1
}},
36
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
2048
}},
36
))
)
;
auto
x_main_module_38
=
mmain
->
add_literal
(
auto
x_main_module_38
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
2
56
}},
37
));
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
2
048
,
1024
,
1
,
1
}},
37
));
auto
x_main_module_39
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
auto
x_main_module_39
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
2
56
,
256
,
3
,
3
}},
38
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
2
048
}},
38
))
)
;
auto
x_main_module_40
=
mmain
->
add_literal
(
auto
x_main_module_40
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
2
56
}},
39
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
2
048
}},
39
));
auto
x_main_module_41
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
auto
x_main_module_41
=
mmain
->
add_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
2
56
,
1024
,
1
,
1
}},
40
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
2
048
}},
40
));
auto
x_main_module_42
=
mmain
->
add_literal
(
auto
x_main_module_42
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1024
}},
41
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
2048
}},
41
))
)
;
auto
x_main_module_43
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
auto
x_main_module_43
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1024
,
256
,
1
,
1
}},
42
));
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
2048
,
512
,
1
,
1
}},
42
));
auto
x_main_module_44
=
mmain
->
add_literal
(
auto
x_main_module_44
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
43
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
}},
43
))
)
;
auto
x_main_module_45
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
auto
x_main_module_45
=
mmain
->
add_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
,
256
,
3
,
3
}},
44
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
}},
44
));
auto
x_main_module_46
=
mmain
->
add_literal
(
auto
x_main_module_46
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
45
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
}},
45
));
auto
x_main_module_47
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
auto
x_main_module_47
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
,
1024
,
1
,
1
}},
46
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
}},
46
))
)
;
auto
x_main_module_48
=
mmain
->
add_literal
(
auto
x_main_module_48
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1024
}},
47
));
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
,
512
,
3
,
3
}},
47
));
auto
x_main_module_49
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
auto
x_main_module_49
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1024
,
256
,
1
,
1
}},
48
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
}},
48
))
)
;
auto
x_main_module_50
=
mmain
->
add_literal
(
auto
x_main_module_50
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
49
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
}},
49
));
auto
x_main_module_51
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
auto
x_main_module_51
=
mmain
->
add_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
,
256
,
3
,
3
}},
50
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
}},
50
));
auto
x_main_module_52
=
mmain
->
add_literal
(
auto
x_main_module_52
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
51
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
}},
51
))
)
;
auto
x_main_module_53
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
auto
x_main_module_53
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
,
1024
,
1
,
1
}},
52
));
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
,
1024
,
1
,
1
}},
52
));
auto
x_main_module_54
=
mmain
->
add_literal
(
auto
x_main_module_54
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1024
}},
53
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1024
}},
53
))
)
;
auto
x_main_module_55
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
auto
x_main_module_55
=
mmain
->
add_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1024
,
512
,
1
,
1
}},
54
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1024
}},
54
));
auto
x_main_module_56
=
mmain
->
add_literal
(
auto
x_main_module_56
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1024
}},
55
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1024
}},
55
));
auto
x_main_module_57
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
auto
x_main_module_57
=
mmain
->
add_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1024
,
256
,
1
,
1
}},
56
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1024
}},
56
));
auto
x_main_module_58
=
mmain
->
add_literal
(
auto
x_main_module_58
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
57
));
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1024
,
256
,
1
,
1
}},
57
));
auto
x_main_module_59
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
auto
x_main_module_59
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
,
256
,
3
,
3
}},
58
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
58
))
)
;
auto
x_main_module_60
=
mmain
->
add_literal
(
auto
x_main_module_60
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
59
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
59
));
auto
x_main_module_61
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
auto
x_main_module_61
=
mmain
->
add_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
,
512
,
1
,
1
}},
60
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
60
));
auto
x_main_module_62
=
mmain
->
add_literal
(
auto
x_main_module_62
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
}},
61
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
61
))
)
;
auto
x_main_module_63
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
auto
x_main_module_63
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
,
128
,
1
,
1
}},
62
));
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
,
256
,
3
,
3
}},
62
));
auto
x_main_module_64
=
mmain
->
add_literal
(
auto
x_main_module_64
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
128
}},
63
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
63
))
)
;
auto
x_main_module_65
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
auto
x_main_module_65
=
mmain
->
add_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
128
,
128
,
3
,
3
}},
64
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
64
));
auto
x_main_module_66
=
mmain
->
add_literal
(
auto
x_main_module_66
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
128
}},
65
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
65
));
auto
x_main_module_67
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
auto
x_main_module_67
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
128
,
512
,
1
,
1
}},
66
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
66
))
)
;
auto
x_main_module_68
=
mmain
->
add_literal
(
auto
x_main_module_68
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
}},
67
));
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
,
1024
,
1
,
1
}},
67
));
auto
x_main_module_69
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
auto
x_main_module_69
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
,
128
,
1
,
1
}},
68
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1024
}},
68
))
)
;
auto
x_main_module_70
=
mmain
->
add_literal
(
auto
x_main_module_70
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1
28
}},
69
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1
024
}},
69
));
auto
x_main_module_71
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
auto
x_main_module_71
=
mmain
->
add_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1
28
,
128
,
3
,
3
}},
70
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1
024
}},
70
));
auto
x_main_module_72
=
mmain
->
add_literal
(
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
(
auto
x_main_module_73
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1
28
,
512
,
1
,
1
}},
72
));
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1
024
,
256
,
1
,
1
}},
72
));
auto
x_main_module_74
=
mmain
->
add_literal
(
auto
x_main_module_74
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
}},
73
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
73
))
)
;
auto
x_main_module_75
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
auto
x_main_module_75
=
mmain
->
add_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
,
128
,
1
,
1
}},
74
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
74
));
auto
x_main_module_76
=
mmain
->
add_literal
(
auto
x_main_module_76
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
128
}},
75
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
75
));
auto
x_main_module_77
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
auto
x_main_module_77
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
128
,
128
,
3
,
3
}},
76
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
76
))
)
;
auto
x_main_module_78
=
mmain
->
add_literal
(
auto
x_main_module_78
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
128
}},
77
));
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
,
256
,
3
,
3
}},
77
));
auto
x_main_module_79
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
auto
x_main_module_79
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
128
,
512
,
1
,
1
}},
78
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
78
))
)
;
auto
x_main_module_80
=
mmain
->
add_literal
(
auto
x_main_module_80
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
}},
79
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
79
));
auto
x_main_module_81
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
auto
x_main_module_81
=
mmain
->
add_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
,
256
,
1
,
1
}},
80
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
80
));
auto
x_main_module_82
=
mmain
->
add_literal
(
auto
x_main_module_82
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
}},
81
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
81
))
)
;
auto
x_main_module_83
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
auto
x_main_module_83
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
512
,
128
,
1
,
1
}},
82
));
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
,
1024
,
1
,
1
}},
82
));
auto
x_main_module_84
=
mmain
->
add_literal
(
auto
x_main_module_84
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1
28
}},
83
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1
024
}},
83
))
)
;
auto
x_main_module_85
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
auto
x_main_module_85
=
mmain
->
add_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1
28
,
128
,
3
,
3
}},
84
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1
024
}},
84
));
auto
x_main_module_86
=
mmain
->
add_literal
(
auto
x_main_module_86
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1
28
}},
85
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1
024
}},
85
));
auto
x_main_module_87
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
auto
x_main_module_87
=
mmain
->
add_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1
28
,
256
,
1
,
1
}},
86
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1
024
}},
86
));
auto
x_main_module_88
=
mmain
->
add_literal
(
auto
x_main_module_88
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
87
));
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1024
,
256
,
1
,
1
}},
87
));
auto
x_main_module_89
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
auto
x_main_module_89
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
,
64
,
1
,
1
}},
88
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
88
))
)
;
auto
x_main_module_90
=
mmain
->
add_literal
(
auto
x_main_module_90
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
6
4
}},
89
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
25
6
}},
89
));
auto
x_main_module_91
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
auto
x_main_module_91
=
mmain
->
add_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
64
,
64
,
3
,
3
}},
90
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
90
));
auto
x_main_module_92
=
mmain
->
add_literal
(
auto
x_main_module_92
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
6
4
}},
91
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
25
6
}},
91
))
)
;
auto
x_main_module_93
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
auto
x_main_module_93
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
6
4
,
256
,
1
,
1
}},
92
));
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
25
6
,
256
,
3
,
3
}},
92
));
auto
x_main_module_94
=
mmain
->
add_literal
(
auto
x_main_module_94
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
93
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
93
))
)
;
auto
x_main_module_95
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
auto
x_main_module_95
=
mmain
->
add_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
,
64
,
1
,
1
}},
94
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
94
));
auto
x_main_module_96
=
mmain
->
add_literal
(
auto
x_main_module_96
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
6
4
}},
95
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
25
6
}},
95
));
auto
x_main_module_97
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
auto
x_main_module_97
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
64
,
64
,
3
,
3
}},
96
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
96
))
)
;
auto
x_main_module_98
=
mmain
->
add_literal
(
auto
x_main_module_98
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
64
}},
97
));
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
,
1024
,
1
,
1
}},
97
));
auto
x_main_module_99
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
auto
x_main_module_99
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
64
,
256
,
1
,
1
}},
98
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1024
}},
98
))
)
;
auto
x_main_module_100
=
mmain
->
add_literal
(
auto
x_main_module_100
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
99
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1024
}},
99
));
auto
x_main_module_101
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
auto
x_main_module_101
=
mmain
->
add_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
,
64
,
1
,
1
}},
100
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1024
}},
100
));
auto
x_main_module_102
=
mmain
->
add_literal
(
auto
x_main_module_102
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
101
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1024
}},
101
));
auto
x_main_module_103
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
auto
x_main_module_103
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
,
64
,
1
,
1
}},
102
));
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1024
,
256
,
1
,
1
}},
102
));
auto
x_main_module_104
=
mmain
->
add_literal
(
auto
x_main_module_104
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
6
4
}},
103
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
25
6
}},
103
))
)
;
auto
x_main_module_105
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
auto
x_main_module_105
=
mmain
->
add_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
64
,
64
,
3
,
3
}},
104
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
104
));
auto
x_main_module_106
=
mmain
->
add_literal
(
auto
x_main_module_106
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
64
}},
105
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
105
));
auto
x_main_module_107
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
auto
x_main_module_107
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
64
,
64
,
1
,
1
}},
106
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
106
)));
auto
x_main_module_108
=
mmain
->
add_literal
(
auto
x_main_module_108
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
64
}},
107
));
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
,
256
,
3
,
3
}},
107
));
auto
x_main_module_109
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
auto
x_main_module_109
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
64
,
3
,
7
,
7
}},
108
));
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
108
)));
auto
x_main_module_110
=
mmain
->
add_instruction
(
auto
x_main_module_110
=
mmain
->
add_literal
(
migraphx
::
make_op
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
109
));
"convolution"
,
auto
x_main_module_111
=
mmain
->
add_literal
(
migraphx
::
from_json_string
(
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
110
));
"{dilation:[1,1],group:1,padding:[3,3,3,3],padding_mode:0,stride:[2,2]}"
)),
auto
x_main_module_112
=
mmain
->
add_literal
(
migraphx
::
abs
(
x_input_1
,
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
}},
111
)));
x_main_module_109
);
auto
x_main_module_113
=
mmain
->
add_literal
(
migraphx
::
generate_literal
(
auto
x_main_module_111
=
mmain
->
add_instruction
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
256
,
1024
,
1
,
1
}},
112
));
migraphx
::
make_op
(
"broadcast"
,
auto
x_main_module_114
=
mmain
->
add_literal
(
migraphx
::
abs
(
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,64,112,112]}"
)),
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1024
}},
113
)));
x_main_module_108
);
auto
x_main_module_115
=
mmain
->
add_literal
(
auto
x_main_module_112
=
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1024
}},
114
));
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_110
,
x_main_module_111
);
auto
x_main_module_116
=
mmain
->
add_literal
(
auto
x_main_module_113
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_112
);
migraphx
::
generate_literal
(
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
1024
}},
115
));
auto
x_main_module_114
=
mmain
->
add_instruction
(
auto
x_main_module_117
=
mmain
->
add_literal
(
migraphx
::
make_op
(
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"
,
"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
);
x_main_module_113
);
auto
x_main_module_
115
=
mmain
->
add_instruction
(
auto
x_main_module_
370
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
migraphx
::
make_
json_
op
(
"
convolution
"
,
"
batch_norm_inference
"
,
migraphx
::
from_json_string
(
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"
),
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,1]}"
))
,
x_main_module_369
,
x_main_module_11
4
,
x_main_module_11
2
,
x_main_module_1
07
);
x_main_module_1
11
,
auto
x_main_module_11
6
=
mmain
->
add_instruction
(
x_main_module_11
0
,
migraphx
::
make_op
(
"broadcast"
,
x_main_module_109
);
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,64,56,56]}"
)),
auto
x_main_module_371
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_370
);
x_main_module_
106
);
auto
x_main_module_
372
=
mmain
->
add_instruction
(
auto
x_main_module_117
=
migraphx
::
make_json_op
(
"convolution"
,
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_ma
in_mod
ule_115
,
x_main_module_116
);
"{dilation:[1,1],group:1,padding:[1,1,1,1],padd
in
g
_mod
e:0,stride:[1,"
auto
x_main_module_118
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_117
);
"1],use_dynamic_same_auto_pad:0}"
),
auto
x_main_module_
119
=
mmain
->
add_instruction
(
x_main_module_
371
,
migraphx
::
make_op
(
x_main_module_108
);
"convolu
tion
"
,
auto
x_main_module_373
=
mmain
->
add_instruc
tion
(
migraphx
::
from
_json_
string
(
migraphx
::
make
_json_
op
(
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1,1]}"
))
,
"batch_norm_inference"
,
x_main_module_118
,
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"
)
,
x_main_module_
105
);
x_main_module_
372
,
auto
x_main_module_1
20
=
mmain
->
add_instruction
(
x_main_module_1
07
,
migraphx
::
make_op
(
"broadcast"
,
x_main_module_106
,
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,64,56,56]}"
))
,
x_main_module_105
,
x_main_module_104
);
x_main_module_104
);
auto
x_main_module_121
=
auto
x_main_module_374
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_373
);
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_119
,
x_main_module_120
);
auto
x_main_module_375
=
mmain
->
add_instruction
(
auto
x_main_module_122
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_121
);
migraphx
::
make_json_op
(
"convolution"
,
auto
x_main_module_123
=
mmain
->
add_instruction
(
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
migraphx
::
make_op
(
"1],use_dynamic_same_auto_pad:0}"
),
"convolution"
,
x_main_module_374
,
migraphx
::
from_json_string
(
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,1]}"
)),
x_main_module_122
,
x_main_module_103
);
x_main_module_103
);
auto
x_main_module_124
=
mmain
->
add_instruction
(
auto
x_main_module_376
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"broadcast"
,
migraphx
::
make_json_op
(
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,256,56,56]}"
)),
"batch_norm_inference"
,
x_main_module_102
);
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"
),
auto
x_main_module_125
=
x_main_module_375
,
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_123
,
x_main_module_124
);
x_main_module_102
,
auto
x_main_module_126
=
mmain
->
add_instruction
(
x_main_module_101
,
migraphx
::
make_op
(
x_main_module_100
,
"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
,
x_main_module_99
);
x_main_module_99
);
auto
x_main_module_132
=
mmain
->
add_instruction
(
auto
x_main_module_377
=
migraphx
::
make_op
(
"broadcast"
,
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_376
,
x_main_module_368
);
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,64,56,56]}"
)),
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
);
x_main_module_98
);
auto
x_main_module_133
=
auto
x_main_module_380
=
mmain
->
add_instruction
(
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_131
,
x_main_module_132
);
migraphx
::
make_json_op
(
auto
x_main_module_134
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_133
);
"batch_norm_inference"
,
auto
x_main_module_135
=
mmain
->
add_instruction
(
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"
),
migraphx
::
make_op
(
x_main_module_379
,
"convolution"
,
x_main_module_97
,
migraphx
::
from_json_string
(
x_main_module_96
,
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1,1]}"
)),
x_main_module_95
,
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]}"
)),
x_main_module_94
);
x_main_module_94
);
auto
x_main_module_141
=
auto
x_main_module_381
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_380
);
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_139
,
x_main_module_140
);
auto
x_main_module_382
=
mmain
->
add_instruction
(
auto
x_main_module_142
=
migraphx
::
make_json_op
(
"convolution"
,
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_141
,
x_main_module_130
);
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1,"
auto
x_main_module_143
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_142
);
"1],use_dynamic_same_auto_pad:0}"
),
auto
x_main_module_144
=
mmain
->
add_instruction
(
x_main_module_381
,
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
,
x_main_module_93
);
x_main_module_93
);
auto
x_main_module_145
=
mmain
->
add_instruction
(
auto
x_main_module_383
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"broadcast"
,
migraphx
::
make_json_op
(
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,64,56,56]}"
)),
"batch_norm_inference"
,
x_main_module_92
);
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"
),
auto
x_main_module_146
=
x_main_module_382
,
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_144
,
x_main_module_145
);
x_main_module_92
,
auto
x_main_module_147
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_146
);
x_main_module_91
,
auto
x_main_module_148
=
mmain
->
add_instruction
(
x_main_module_90
,
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
,
x_main_module_89
);
x_main_module_89
);
auto
x_main_module_153
=
mmain
->
add_instruction
(
auto
x_main_module_384
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_383
);
migraphx
::
make_op
(
"broadcast"
,
auto
x_main_module_385
=
mmain
->
add_instruction
(
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,256,56,56]}"
)),
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
);
x_main_module_88
);
auto
x_main_module_154
=
auto
x_main_module_386
=
mmain
->
add_instruction
(
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_152
,
x_main_module_153
);
migraphx
::
make_json_op
(
auto
x_main_module_155
=
"batch_norm_inference"
,
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_154
,
x_main_module_143
);
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"
),
auto
x_main_module_156
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_155
);
x_main_module_385
,
auto
x_main_module_157
=
mmain
->
add_instruction
(
x_main_module_87
,
migraphx
::
make_op
(
x_main_module_86
,
"convolution"
,
x_main_module_85
,
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]}"
)),
x_main_module_84
);
x_main_module_84
);
auto
x_main_module_163
=
auto
x_main_module_387
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_161
,
x_main_module_162
);
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_386
,
x_main_module_378
);
auto
x_main_module_164
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_163
);
auto
x_main_module_388
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_387
);
auto
x_main_module_165
=
mmain
->
add_instruction
(
auto
x_main_module_389
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
migraphx
::
make_json_op
(
"convolution"
,
"convolution"
,
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
migraphx
::
from_json_string
(
"1],use_dynamic_same_auto_pad:0}"
),
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,1]}"
)),
x_main_module_388
,
x_main_module_164
,
x_main_module_83
);
x_main_module_83
);
auto
x_main_module_166
=
mmain
->
add_instruction
(
auto
x_main_module_390
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"broadcast"
,
migraphx
::
make_json_op
(
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,512,28,28]}"
)),
"batch_norm_inference"
,
x_main_module_82
);
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"
),
auto
x_main_module_167
=
x_main_module_389
,
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_165
,
x_main_module_166
);
x_main_module_82
,
auto
x_main_module_168
=
mmain
->
add_instruction
(
x_main_module_81
,
migraphx
::
make_op
(
x_main_module_80
,
"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
,
x_main_module_79
);
x_main_module_79
);
auto
x_main_module_174
=
mmain
->
add_instruction
(
auto
x_main_module_391
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_390
);
migraphx
::
make_op
(
"broadcast"
,
auto
x_main_module_392
=
mmain
->
add_instruction
(
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,128,28,28]}"
)),
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
);
x_main_module_78
);
auto
x_main_module_175
=
auto
x_main_module_393
=
mmain
->
add_instruction
(
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_173
,
x_main_module_174
);
migraphx
::
make_json_op
(
auto
x_main_module_176
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_175
);
"batch_norm_inference"
,
auto
x_main_module_177
=
mmain
->
add_instruction
(
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"
),
migraphx
::
make_op
(
x_main_module_392
,
"convolution"
,
x_main_module_77
,
migraphx
::
from_json_string
(
x_main_module_76
,
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1,1]}"
)),
x_main_module_75
,
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]}"
)),
x_main_module_74
);
x_main_module_74
);
auto
x_main_module_183
=
auto
x_main_module_394
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_393
);
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_181
,
x_main_module_182
);
auto
x_main_module_395
=
mmain
->
add_instruction
(
auto
x_main_module_184
=
migraphx
::
make_json_op
(
"convolution"
,
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_183
,
x_main_module_172
);
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
auto
x_main_module_185
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_184
);
"1],use_dynamic_same_auto_pad:0}"
),
auto
x_main_module_186
=
mmain
->
add_instruction
(
x_main_module_394
,
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
,
x_main_module_73
);
x_main_module_73
);
auto
x_main_module_187
=
mmain
->
add_instruction
(
auto
x_main_module_396
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"broadcast"
,
migraphx
::
make_json_op
(
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,128,28,28]}"
)),
"batch_norm_inference"
,
x_main_module_72
);
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"
),
auto
x_main_module_188
=
x_main_module_395
,
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_186
,
x_main_module_187
);
x_main_module_72
,
auto
x_main_module_189
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_188
);
x_main_module_71
,
auto
x_main_module_190
=
mmain
->
add_instruction
(
x_main_module_70
,
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
,
x_main_module_69
);
x_main_module_69
);
auto
x_main_module_195
=
mmain
->
add_instruction
(
auto
x_main_module_397
=
migraphx
::
make_op
(
"broadcast"
,
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_396
,
x_main_module_388
);
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,512,28,28]}"
)),
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
);
x_main_module_68
);
auto
x_main_module_196
=
auto
x_main_module_400
=
mmain
->
add_instruction
(
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_194
,
x_main_module_195
);
migraphx
::
make_json_op
(
auto
x_main_module_197
=
"batch_norm_inference"
,
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_196
,
x_main_module_185
);
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"
),
auto
x_main_module_198
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_197
);
x_main_module_399
,
auto
x_main_module_199
=
mmain
->
add_instruction
(
x_main_module_67
,
migraphx
::
make_op
(
x_main_module_66
,
"convolution"
,
x_main_module_65
,
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]}"
)),
x_main_module_64
);
x_main_module_64
);
auto
x_main_module_205
=
auto
x_main_module_401
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_400
);
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_203
,
x_main_module_204
);
auto
x_main_module_402
=
mmain
->
add_instruction
(
auto
x_main_module_206
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_205
);
migraphx
::
make_json_op
(
"convolution"
,
auto
x_main_module_207
=
mmain
->
add_instruction
(
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1,"
migraphx
::
make_op
(
"1],use_dynamic_same_auto_pad:0}"
),
"convolution"
,
x_main_module_401
,
migraphx
::
from_json_string
(
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,1]}"
)),
x_main_module_206
,
x_main_module_63
);
x_main_module_63
);
auto
x_main_module_208
=
mmain
->
add_instruction
(
auto
x_main_module_403
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"broadcast"
,
migraphx
::
make_json_op
(
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,512,28,28]}"
)),
"batch_norm_inference"
,
x_main_module_62
);
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"
),
auto
x_main_module_209
=
x_main_module_402
,
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_207
,
x_main_module_208
);
x_main_module_62
,
auto
x_main_module_210
=
x_main_module_61
,
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_209
,
x_main_module_198
);
x_main_module_60
,
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
,
x_main_module_59
);
x_main_module_59
);
auto
x_main_module_217
=
mmain
->
add_instruction
(
auto
x_main_module_404
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_403
);
migraphx
::
make_op
(
"broadcast"
,
auto
x_main_module_405
=
mmain
->
add_instruction
(
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,256,14,14]}"
)),
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
);
x_main_module_58
);
auto
x_main_module_218
=
auto
x_main_module_406
=
mmain
->
add_instruction
(
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_216
,
x_main_module_217
);
migraphx
::
make_json_op
(
auto
x_main_module_219
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_218
);
"batch_norm_inference"
,
auto
x_main_module_220
=
mmain
->
add_instruction
(
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"
),
migraphx
::
make_op
(
x_main_module_405
,
"convolution"
,
x_main_module_57
,
migraphx
::
from_json_string
(
x_main_module_56
,
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,1]}"
)),
x_main_module_55
,
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]}"
)),
x_main_module_54
);
x_main_module_54
);
auto
x_main_module_225
=
auto
x_main_module_407
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_223
,
x_main_module_224
);
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_406
,
x_main_module_398
);
auto
x_main_module_226
=
auto
x_main_module_408
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_407
);
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_222
,
x_main_module_225
);
auto
x_main_module_409
=
mmain
->
add_instruction
(
auto
x_main_module_227
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_226
);
migraphx
::
make_json_op
(
"convolution"
,
auto
x_main_module_228
=
mmain
->
add_instruction
(
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
migraphx
::
make_op
(
"1],use_dynamic_same_auto_pad:0}"
),
"convolution"
,
x_main_module_408
,
migraphx
::
from_json_string
(
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,1]}"
)),
x_main_module_227
,
x_main_module_53
);
x_main_module_53
);
auto
x_main_module_229
=
mmain
->
add_instruction
(
auto
x_main_module_410
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"broadcast"
,
migraphx
::
make_json_op
(
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,256,14,14]}"
)),
"batch_norm_inference"
,
x_main_module_52
);
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"
),
auto
x_main_module_230
=
x_main_module_409
,
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_228
,
x_main_module_229
);
x_main_module_52
,
auto
x_main_module_231
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_230
);
x_main_module_51
,
auto
x_main_module_232
=
mmain
->
add_instruction
(
x_main_module_50
,
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
,
x_main_module_49
);
x_main_module_49
);
auto
x_main_module_237
=
mmain
->
add_instruction
(
auto
x_main_module_411
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_410
);
migraphx
::
make_op
(
"broadcast"
,
auto
x_main_module_412
=
mmain
->
add_instruction
(
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,1024,14,14]}"
)),
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
);
x_main_module_48
);
auto
x_main_module_238
=
auto
x_main_module_413
=
mmain
->
add_instruction
(
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_236
,
x_main_module_237
);
migraphx
::
make_json_op
(
auto
x_main_module_239
=
"batch_norm_inference"
,
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_238
,
x_main_module_227
);
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"
),
auto
x_main_module_240
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_239
);
x_main_module_412
,
auto
x_main_module_241
=
mmain
->
add_instruction
(
x_main_module_47
,
migraphx
::
make_op
(
x_main_module_46
,
"convolution"
,
x_main_module_45
,
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]}"
)),
x_main_module_44
);
x_main_module_44
);
auto
x_main_module_247
=
auto
x_main_module_414
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_413
);
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_245
,
x_main_module_246
);
auto
x_main_module_415
=
mmain
->
add_instruction
(
auto
x_main_module_248
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_247
);
migraphx
::
make_json_op
(
"convolution"
,
auto
x_main_module_249
=
mmain
->
add_instruction
(
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
migraphx
::
make_op
(
"1],use_dynamic_same_auto_pad:0}"
),
"convolution"
,
x_main_module_414
,
migraphx
::
from_json_string
(
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,1]}"
)),
x_main_module_248
,
x_main_module_43
);
x_main_module_43
);
auto
x_main_module_250
=
mmain
->
add_instruction
(
auto
x_main_module_416
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"broadcast"
,
migraphx
::
make_json_op
(
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,1024,14,14]}"
)),
"batch_norm_inference"
,
x_main_module_42
);
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"
),
auto
x_main_module_251
=
x_main_module_415
,
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_249
,
x_main_module_250
);
x_main_module_42
,
auto
x_main_module_252
=
x_main_module_41
,
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_251
,
x_main_module_240
);
x_main_module_40
,
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
,
x_main_module_39
);
x_main_module_39
);
auto
x_main_module_259
=
mmain
->
add_instruction
(
auto
x_main_module_417
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"broadcast"
,
migraphx
::
make_json_op
(
"convolution"
,
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,256,14,14]}"
)),
"{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
);
x_main_module_38
);
auto
x_main_module_260
=
auto
x_main_module_418
=
mmain
->
add_instruction
(
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_258
,
x_main_module_259
);
migraphx
::
make_json_op
(
auto
x_main_module_261
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_260
);
"batch_norm_inference"
,
auto
x_main_module_262
=
mmain
->
add_instruction
(
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"
),
migraphx
::
make_op
(
x_main_module_417
,
"convolution"
,
x_main_module_37
,
migraphx
::
from_json_string
(
x_main_module_36
,
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,1]}"
)),
x_main_module_35
,
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]}"
)),
x_main_module_34
);
x_main_module_34
);
auto
x_main_module_269
=
auto
x_main_module_419
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_267
,
x_main_module_268
);
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_416
,
x_main_module_418
);
auto
x_main_module_270
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_269
);
auto
x_main_module_420
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_419
);
auto
x_main_module_271
=
mmain
->
add_instruction
(
auto
x_main_module_421
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
migraphx
::
make_json_op
(
"convolution"
,
"convolution"
,
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
migraphx
::
from_json_string
(
"1],use_dynamic_same_auto_pad:0}"
),
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1,1]}"
)),
x_main_module_420
,
x_main_module_270
,
x_main_module_33
);
x_main_module_33
);
auto
x_main_module_272
=
mmain
->
add_instruction
(
auto
x_main_module_422
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"broadcast"
,
migraphx
::
make_json_op
(
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,256,14,14]}"
)),
"batch_norm_inference"
,
x_main_module_32
);
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"
),
auto
x_main_module_273
=
x_main_module_421
,
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_271
,
x_main_module_272
);
x_main_module_32
,
auto
x_main_module_274
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_273
);
x_main_module_31
,
auto
x_main_module_275
=
mmain
->
add_instruction
(
x_main_module_30
,
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
,
x_main_module_29
);
x_main_module_29
);
auto
x_main_module_281
=
mmain
->
add_instruction
(
auto
x_main_module_423
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_422
);
migraphx
::
make_op
(
"broadcast"
,
auto
x_main_module_424
=
mmain
->
add_instruction
(
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,256,14,14]}"
)),
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
);
x_main_module_28
);
auto
x_main_module_282
=
auto
x_main_module_425
=
mmain
->
add_instruction
(
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_280
,
x_main_module_281
);
migraphx
::
make_json_op
(
auto
x_main_module_283
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_282
);
"batch_norm_inference"
,
auto
x_main_module_284
=
mmain
->
add_instruction
(
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"
),
migraphx
::
make_op
(
x_main_module_424
,
"convolution"
,
x_main_module_27
,
migraphx
::
from_json_string
(
x_main_module_26
,
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1,1]}"
)),
x_main_module_25
,
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]}"
)),
x_main_module_24
);
x_main_module_24
);
auto
x_main_module_290
=
auto
x_main_module_426
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_425
);
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_288
,
x_main_module_289
);
auto
x_main_module_427
=
mmain
->
add_instruction
(
auto
x_main_module_291
=
migraphx
::
make_json_op
(
"convolution"
,
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_290
,
x_main_module_279
);
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
auto
x_main_module_292
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_291
);
"1],use_dynamic_same_auto_pad:0}"
),
auto
x_main_module_293
=
mmain
->
add_instruction
(
x_main_module_426
,
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
,
x_main_module_23
);
x_main_module_23
);
auto
x_main_module_294
=
mmain
->
add_instruction
(
auto
x_main_module_428
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"broadcast"
,
migraphx
::
make_json_op
(
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,512,14,14]}"
)),
"batch_norm_inference"
,
x_main_module_22
);
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"
),
auto
x_main_module_295
=
x_main_module_427
,
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_293
,
x_main_module_294
);
x_main_module_22
,
auto
x_main_module_296
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_295
);
x_main_module_21
,
auto
x_main_module_297
=
mmain
->
add_instruction
(
x_main_module_20
,
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
,
x_main_module_19
);
x_main_module_19
);
auto
x_main_module_302
=
mmain
->
add_instruction
(
auto
x_main_module_429
=
migraphx
::
make_op
(
"broadcast"
,
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_428
,
x_main_module_420
);
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,2048,7,7]}"
)),
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
);
x_main_module_18
);
auto
x_main_module_303
=
auto
x_main_module_432
=
mmain
->
add_instruction
(
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_301
,
x_main_module_302
);
migraphx
::
make_json_op
(
auto
x_main_module_304
=
mmain
->
add_instruction
(
"batch_norm_inference"
,
migraphx
::
make_op
(
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"
),
"convolution"
,
x_main_module_431
,
migraphx
::
from_json_string
(
x_main_module_17
,
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[2,2]}"
)),
x_main_module_16
,
x_main_module_292
,
x_main_module_15
,
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]}"
)),
x_main_module_14
);
x_main_module_14
);
auto
x_main_module_311
=
auto
x_main_module_433
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_432
);
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_309
,
x_main_module_310
);
auto
x_main_module_434
=
mmain
->
add_instruction
(
auto
x_main_module_312
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_311
);
migraphx
::
make_json_op
(
"convolution"
,
auto
x_main_module_313
=
mmain
->
add_instruction
(
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1,"
migraphx
::
make_op
(
"1],use_dynamic_same_auto_pad:0}"
),
"convolution"
,
x_main_module_433
,
migraphx
::
from_json_string
(
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1,1]}"
)),
x_main_module_312
,
x_main_module_13
);
x_main_module_13
);
auto
x_main_module_314
=
mmain
->
add_instruction
(
auto
x_main_module_435
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"broadcast"
,
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,512,7,7]}"
)),
migraphx
::
make_json_op
(
x_main_module_12
);
"batch_norm_inference"
,
auto
x_main_module_315
=
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"
),
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_313
,
x_main_module_314
);
x_main_module_434
,
auto
x_main_module_316
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_315
);
x_main_module_12
,
auto
x_main_module_317
=
mmain
->
add_instruction
(
x_main_module_11
,
migraphx
::
make_op
(
x_main_module_10
,
"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
,
x_main_module_9
);
x_main_module_9
);
auto
x_main_module_323
=
mmain
->
add_instruction
(
auto
x_main_module_436
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_435
);
migraphx
::
make_op
(
"broadcast"
,
migraphx
::
from_json_string
(
"{axis:1,out_lens:[1,512,7,7]}"
)),
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
);
x_main_module_8
);
auto
x_main_module_324
=
auto
x_main_module_438
=
mmain
->
add_instruction
(
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_322
,
x_main_module_323
);
migraphx
::
make_json_op
(
auto
x_main_module_325
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_324
);
"batch_norm_inference"
,
auto
x_main_module_326
=
mmain
->
add_instruction
(
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"
),
migraphx
::
make_op
(
x_main_module_437
,
"convolution"
,
x_main_module_7
,
migraphx
::
from_json_string
(
x_main_module_6
,
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1,1]}"
)),
x_main_module_5
,
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]}"
)),
x_main_module_4
);
x_main_module_4
);
auto
x_main_module_332
=
auto
x_main_module_439
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_330
,
x_main_module_331
);
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_438
,
x_main_module_430
);
auto
x_main_module_333
=
auto
x_main_module_440
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_439
);
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_332
,
x_main_module_321
);
auto
x_main_module_441
=
mmain
->
add_instruction
(
auto
x_main_module_334
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"relu"
),
x_main_module_333
);
migraphx
::
make_json_op
(
auto
x_main_module_335
=
mmain
->
add_instruction
(
migraphx
::
make_op
(
"pooling"
,
"pooling"
,
migraphx
::
from_json_string
(
"{ceil_mode:0,lengths:[7,7],lp_order:2,mode:0,padding:[0,0,0,0],stride:[1,1]}"
),
"{ceil_mode:0,lengths:[7,7],lp_order:2,mode:0,padding:[0,0,0,0],stride:[1,1]}"
)),
x_main_module_440
);
x_main_module_334
);
auto
x_main_module_442
=
auto
x_main_module_336
=
mmain
->
add_instruction
(
mmain
->
add_instruction
(
migraphx
::
make_json_op
(
"flatten"
,
"{axis:1}"
),
x_main_module_441
);
migraphx
::
make_op
(
"reshape"
,
migraphx
::
from_json_string
(
"{dims:[1,-1]}"
)),
auto
x_main_module_443
=
mmain
->
add_instruction
(
x_main_module_335
);
migraphx
::
make_json_op
(
"transpose"
,
"{permutation:[1,0]}"
),
x_main_module_3
);
auto
x_main_module_337
=
mmain
->
add_instruction
(
auto
x_main_module_444
=
migraphx
::
make_op
(
"transpose"
,
migraphx
::
from_json_string
(
"{permutation:[1,0]}"
)),
mmain
->
add_instruction
(
migraphx
::
make_op
(
"dot"
),
x_main_module_442
,
x_main_module_443
);
x_main_module_2
);
auto
x_main_module_445
=
mmain
->
add_instruction
(
auto
x_main_module_338
=
migraphx
::
make_json_op
(
"multibroadcast"
,
"{out_lens:[1,1000]}"
),
x_main_module_2
);
mmain
->
add_instruction
(
migraphx
::
make_op
(
"dot"
),
x_main_module_336
,
x_main_module_337
);
auto
x_main_module_446
=
mmain
->
add_instruction
(
auto
x_main_module_339
=
mmain
->
add_instruction
(
migraphx
::
make_json_op
(
"multibroadcast"
,
"{out_lens:[1,1000]}"
),
x_main_module_0
);
migraphx
::
make_op
(
"multibroadcast"
,
migraphx
::
from_json_string
(
"{out_lens:[1,1000]}"
)),
auto
x_main_module_447
=
x_main_module_3
);
mmain
->
add_instruction
(
migraphx
::
make_op
(
"mul"
),
x_main_module_445
,
x_main_module_446
);
auto
x_main_module_340
=
mmain
->
add_instruction
(
auto
x_main_module_448
=
migraphx
::
make_op
(
"multibroadcast"
,
migraphx
::
from_json_string
(
"{out_lens:[1,1000]}"
)),
mmain
->
add_instruction
(
migraphx
::
make_op
(
"add"
),
x_main_module_444
,
x_main_module_447
);
x_main_module_0
);
mmain
->
add_return
({
x_main_module_448
});
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
});
return
p
;
return
p
;
}
}
...
...
src/include/migraphx/make_op.hpp
View file @
5eae6517
...
@@ -27,6 +27,8 @@
...
@@ -27,6 +27,8 @@
#include <migraphx/config.hpp>
#include <migraphx/config.hpp>
#include <migraphx/operation.hpp>
#include <migraphx/operation.hpp>
#include <migraphx/value.hpp>
#include <migraphx/value.hpp>
#include <migraphx/json.hpp>
#include <migraphx/convert_to_json.hpp>
namespace
migraphx
{
namespace
migraphx
{
inline
namespace
MIGRAPHX_INLINE_NS
{
inline
namespace
MIGRAPHX_INLINE_NS
{
...
@@ -46,6 +48,8 @@ operation make_op(const std::string& name, const Value& v)
...
@@ -46,6 +48,8 @@ operation make_op(const std::string& name, const Value& v)
return
make_op_from_value
(
name
,
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_INLINE_NS
}
// namespace migraphx
}
// namespace migraphx
...
...
src/include/migraphx/onnx.hpp
View file @
5eae6517
...
@@ -35,17 +35,13 @@ struct onnx_options
...
@@ -35,17 +35,13 @@ struct onnx_options
{
{
/// Old way to set default fixed dimension size
/// Old way to set default fixed dimension size
std
::
size_t
default_dim_value
=
0
;
std
::
size_t
default_dim_value
=
0
;
/*!
/// Default dynamic dimension size (if both default_dim_value and default_dyn_dim_value set
* Default dynamic dimension size (if both default_dim_value and default_dyn_dim_value
/// parser throws)
* set parser throws)
*/
shape
::
dynamic_dimension
default_dyn_dim_value
=
{
1
,
1
,
0
};
shape
::
dynamic_dimension
default_dyn_dim_value
=
{
1
,
1
,
0
};
/// Explicitly specify the dims of an input
/// Explicitly specify the dims of an input
std
::
unordered_map
<
std
::
string
,
std
::
vector
<
std
::
size_t
>>
map_input_dims
=
{};
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
* Explicitly specify dynamic dims of an input (if both map_input_dims and
/// set parser throws)
* map_dyn_input_dims set parser throws)
*/
std
::
unordered_map
<
std
::
string
,
std
::
vector
<
shape
::
dynamic_dimension
>>
map_dyn_input_dims
=
{};
std
::
unordered_map
<
std
::
string
,
std
::
vector
<
shape
::
dynamic_dimension
>>
map_dyn_input_dims
=
{};
/// Continue parsing onnx file if an unknown operator is found
/// Continue parsing onnx file if an unknown operator is found
bool
skip_unknown_operators
=
false
;
bool
skip_unknown_operators
=
false
;
...
@@ -53,6 +49,8 @@ struct onnx_options
...
@@ -53,6 +49,8 @@ struct onnx_options
bool
print_program_on_error
=
false
;
bool
print_program_on_error
=
false
;
/// Max iter num for the loop operator
/// Max iter num for the loop operator
int64_t
max_loop_iterations
=
10
;
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
/// Create a program from an onnx file
...
...
src/include/migraphx/op/convert.hpp
View file @
5eae6517
...
@@ -45,7 +45,15 @@ struct convert : unary<convert>
...
@@ -45,7 +45,15 @@ struct convert : unary<convert>
shape
compute_shape
(
std
::
vector
<
shape
>
inputs
)
const
shape
compute_shape
(
std
::
vector
<
shape
>
inputs
)
const
{
{
check_shapes
{
inputs
,
*
this
}.
has
(
1
);
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
std
::
string
point_op
()
const
...
...
src/include/migraphx/op/nonmaxsuppression.hpp
View file @
5eae6517
...
@@ -45,11 +45,13 @@ namespace op {
...
@@ -45,11 +45,13 @@ namespace op {
struct
nonmaxsuppression
struct
nonmaxsuppression
{
{
bool
center_point_box
=
false
;
bool
center_point_box
=
false
;
bool
use_dyn_output
=
false
;
template
<
class
Self
,
class
F
>
template
<
class
Self
,
class
F
>
static
auto
reflect
(
Self
&
self
,
F
f
)
static
auto
reflect
(
Self
&
self
,
F
f
)
{
{
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"
;
}
std
::
string
name
()
const
{
return
"nonmaxsuppression"
;
}
...
@@ -57,27 +59,81 @@ struct nonmaxsuppression
...
@@ -57,27 +59,81 @@ struct nonmaxsuppression
shape
compute_shape
(
std
::
vector
<
shape
>
inputs
)
const
shape
compute_shape
(
std
::
vector
<
shape
>
inputs
)
const
{
{
// requires at least 2 inputs
// requires at least 2 inputs
check_shapes
{{
inputs
.
at
(
0
),
inputs
.
at
(
1
)},
*
this
}.
only_dims
(
3
);
check_shapes
{{
inputs
.
at
(
0
),
inputs
.
at
(
1
)},
*
this
,
true
}.
only_dims
(
3
).
same_ndims
();
auto
lens
=
inputs
.
front
().
lens
();
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
auto
fixed_shape_error_check
=
[
&
]()
{
if
(
lens
[
1
]
!=
inputs
.
at
(
1
).
lens
()[
2
])
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
(
if
(
inputs
.
at
(
0
).
dynamic
())
"NonMaxSuppression: spatial dimension mismatch between boxes and scores input"
);
{
// 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
};
}
}
else
// check batch sizes
if
(
lens
[
0
]
!=
inputs
.
at
(
1
).
lens
()[
0
])
{
{
MIGRAPHX_THROW
(
if
(
inputs
.
at
(
0
).
dynamic
()
or
inputs
.
at
(
1
).
dynamic
())
"NonMaxSuppression: number of batches mismatch between boxes and scores input"
);
{
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
struct
box
...
@@ -181,13 +237,13 @@ struct nonmaxsuppression
...
@@ -181,13 +237,13 @@ struct nonmaxsuppression
}
}
template
<
class
Output
,
class
Boxes
,
class
Scores
>
template
<
class
Output
,
class
Boxes
,
class
Scores
>
void
compute_nms
(
Output
output
,
std
::
size_t
compute_nms
(
Output
output
,
Boxes
boxes
,
Boxes
boxes
,
Scores
scores
,
Scores
scores
,
const
shape
&
output_shape
,
const
shape
&
max_
output_shape
,
std
::
size_t
max_output_boxes_per_class
,
std
::
size_t
max_output_boxes_per_class
,
double
iou_threshold
,
double
iou_threshold
,
double
score_threshold
)
const
double
score_threshold
)
const
{
{
std
::
fill
(
output
.
begin
(),
output
.
end
(),
0
);
std
::
fill
(
output
.
begin
(),
output
.
end
(),
0
);
const
auto
&
lens
=
scores
.
get_shape
().
lens
();
const
auto
&
lens
=
scores
.
get_shape
().
lens
();
...
@@ -197,7 +253,7 @@ struct nonmaxsuppression
...
@@ -197,7 +253,7 @@ struct nonmaxsuppression
// boxes of a class with NMS applied [score, index]
// boxes of a class with NMS applied [score, index]
std
::
vector
<
std
::
pair
<
double
,
int64_t
>>
selected_boxes_inside_class
;
std
::
vector
<
std
::
pair
<
double
,
int64_t
>>
selected_boxes_inside_class
;
std
::
vector
<
int64_t
>
selected_indices
;
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
// iterate over batches and classes
shape
comp_s
{
shape
::
double_type
,
{
num_batches
,
num_classes
}};
shape
comp_s
{
shape
::
double_type
,
{
num_batches
,
num_classes
}};
shape_for_each
(
comp_s
,
[
&
](
auto
idx
)
{
shape_for_each
(
comp_s
,
[
&
](
auto
idx
)
{
...
@@ -237,11 +293,14 @@ struct nonmaxsuppression
...
@@ -237,11 +293,14 @@ struct nonmaxsuppression
}
}
});
});
std
::
copy
(
selected_indices
.
begin
(),
selected_indices
.
end
(),
output
.
begin
());
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
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
=
std
::
size_t
max_output_boxes_per_class
=
(
args
.
size
()
>
2
)
?
(
args
.
at
(
2
).
at
<
std
::
size_t
>
())
:
0
;
(
args
.
size
()
>
2
)
?
(
args
.
at
(
2
).
at
<
std
::
size_t
>
())
:
0
;
...
@@ -249,22 +308,29 @@ struct nonmaxsuppression
...
@@ -249,22 +308,29 @@ struct nonmaxsuppression
{
{
return
result
;
return
result
;
}
}
double
iou_threshold
=
(
args
.
size
()
>
3
)
?
(
args
.
at
(
3
).
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
;
double
score_threshold
=
(
args
.
size
()
>
4
)
?
(
args
.
at
(
4
).
at
<
double
>
())
:
0.0
f
;
std
::
size_t
num_selected
=
0
;
result
.
visit
([
&
](
auto
output
)
{
result
.
visit
([
&
](
auto
output
)
{
visit_all
(
args
[
0
],
args
[
1
])([
&
](
auto
boxes
,
auto
scores
)
{
visit_all
(
args
[
0
],
args
[
1
])([
&
](
auto
boxes
,
auto
scores
)
{
compute_nms
(
output
,
num_selected
=
compute_nms
(
output
,
boxes
,
boxes
,
scores
,
scores
,
output_shape
,
max_
output_shape
,
max_output_boxes_per_class
,
max_output_boxes_per_class
,
iou_threshold
,
iou_threshold
,
score_threshold
);
score_threshold
);
});
});
});
});
if
(
use_dyn_output
)
return
result
;
{
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 @
5eae6517
...
@@ -21,16 +21,24 @@
...
@@ -21,16 +21,24 @@
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
* 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
{
namespace
migraphx
{
inline
namespace
MIGRAPHX_INLINE_NS
{
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_INLINE_NS
}
// namespace migraphx
}
// namespace migraphx
#endif // MIGRAPHX_GUARD_MIGRAPHX_SUPPORTED_SEGMENTS_HPP
src/include/migraphx/target.hpp
View file @
5eae6517
...
@@ -37,8 +37,10 @@
...
@@ -37,8 +37,10 @@
#include <migraphx/compile_options.hpp>
#include <migraphx/compile_options.hpp>
#include <migraphx/argument.hpp>
#include <migraphx/argument.hpp>
#include <migraphx/rank.hpp>
#include <migraphx/rank.hpp>
#include <migraphx/module_ref.hpp>
#include <migraphx/support_metric.hpp>
#include <migraphx/support_metric.hpp>
#include <migraphx/instruction_ref.hpp>
#include <migraphx/instruction_ref.hpp>
#include <migraphx/supported_segments.hpp>
namespace
migraphx
{
namespace
migraphx
{
inline
namespace
MIGRAPHX_INLINE_NS
{
inline
namespace
MIGRAPHX_INLINE_NS
{
...
@@ -64,12 +66,12 @@ struct target
...
@@ -64,12 +66,12 @@ struct target
*/
*/
context
get_context
()
const
;
context
get_context
()
const
;
/**
/**
* @brief
Check how well an
instruction
is
supported on a target
with the given metric
* @brief
Get the ranges of
instruction
s that are
supported on a target
* @param
ins Instruction
to check
if it's
supported
* @param
module Module
to check
for
supported
instructions
* @param metric Used to define how the
return value
should be
interpret
ed
* @param metric Used to define how the
quality of the support
should be
measur
ed
* @return
T
he
value based on the chosen metric. Negative numbers mean unsupported
* @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.
* @brief copy an argument to the current target.
*
*
...
@@ -115,9 +117,9 @@ argument copy_from_target(T&, const argument& arg)
...
@@ -115,9 +117,9 @@ argument copy_from_target(T&, const argument& arg)
}
}
template
<
class
T
>
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
#ifdef TYPE_ERASED_DECLARATION
...
@@ -132,7 +134,7 @@ struct target
...
@@ -132,7 +134,7 @@ struct target
//
//
context
get_context
()
const
;
context
get_context
()
const
;
// (optional)
// (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)
// (optional)
argument
copy_to
(
const
argument
&
input
)
const
;
argument
copy_to
(
const
argument
&
input
)
const
;
// (optional)
// (optional)
...
@@ -224,10 +226,10 @@ struct target
...
@@ -224,10 +226,10 @@ struct target
return
(
*
this
).
private_detail_te_get_handle
().
get_context
();
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
);
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
argument
copy_to
(
const
argument
&
input
)
const
...
@@ -261,33 +263,33 @@ struct target
...
@@ -261,33 +263,33 @@ struct target
virtual
std
::
shared_ptr
<
private_detail_te_handle_base_type
>
clone
()
const
=
0
;
virtual
std
::
shared_ptr
<
private_detail_te_handle_base_type
>
clone
()
const
=
0
;
virtual
const
std
::
type_info
&
type
()
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
,
virtual
std
::
vector
<
pass
>
get_passes
(
context
&
ctx
,
const
compile_options
&
options
)
const
=
0
;
const
compile_options
&
options
)
const
=
0
;
virtual
context
get_context
()
const
=
0
;
virtual
context
get_context
()
const
=
0
;
virtual
float
is
_supported
(
i
nst
ruction
_ref
ins
,
support_metric
m
)
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_to
(
const
argument
&
input
)
const
=
0
;
virtual
argument
copy_from
(
const
argument
&
input
)
const
=
0
;
virtual
argument
copy_from
(
const
argument
&
input
)
const
=
0
;
virtual
argument
allocate
(
const
shape
&
s
)
const
=
0
;
virtual
argument
allocate
(
const
shape
&
s
)
const
=
0
;
};
};
template
<
class
T
>
template
<
class
T
>
static
auto
private_detail_te_default_
is
_supported
(
char
,
static
auto
private_detail_te_default_
find
_supported
(
char
,
T
&&
private_detail_te_self
,
T
&&
private_detail_te_self
,
instruction
_ref
ins
,
const_module
_ref
mod
,
support_metric
m
)
support_metric
m
)
->
decltype
(
private_detail_te_self
.
is
_supported
(
ins
,
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
>
template
<
class
T
>
static
float
private_detail_te_default_
is
_supported
(
float
,
static
supported_segments
private_detail_te_default_
find
_supported
(
float
,
T
&&
private_detail_te_self
,
T
&&
private_detail_te_self
,
instruction
_ref
ins
,
const_module
_ref
mod
,
support_metric
m
)
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
>
template
<
class
T
>
...
@@ -372,10 +374,11 @@ struct target
...
@@ -372,10 +374,11 @@ struct target
context
get_context
()
const
override
{
return
private_detail_te_value
.
get_context
();
}
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
argument
copy_to
(
const
argument
&
input
)
const
override
...
...
src/include/migraphx/target_assignments.hpp
View file @
5eae6517
...
@@ -33,10 +33,20 @@ inline namespace MIGRAPHX_INLINE_NS {
...
@@ -33,10 +33,20 @@ inline namespace MIGRAPHX_INLINE_NS {
struct
target_assignments
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
size
()
const
{
return
assignments
.
size
();
}
auto
end
()
const
{
return
assignments
.
cend
();
}
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:
private:
std
::
unordered_map
<
instruction_ref
,
std
::
string
>
assignments
;
std
::
unordered_map
<
instruction_ref
,
std
::
string
>
assignments
;
...
...
src/make_op.cpp
View file @
5eae6517
...
@@ -64,5 +64,10 @@ operation make_op_from_value(const std::string& name, const value& v)
...
@@ -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_INLINE_NS
}
// namespace migraphx
}
// namespace migraphx
src/module.cpp
View file @
5eae6517
...
@@ -788,12 +788,15 @@ static std::string cpp_var_name(const std::string& name)
...
@@ -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
)
static
void
print_make_op
(
std
::
ostream
&
os
,
const
operation
&
op
)
{
{
os
<<
"migraphx::make_op("
<<
enclose_name
(
op
.
name
());
auto
v
=
op
.
to_value
();
auto
v
=
op
.
to_value
();
if
(
not
v
.
empty
())
if
(
not
v
.
empty
())
{
{
os
<<
", "
os
<<
"migraphx::make_json_op("
<<
enclose_name
(
op
.
name
());
<<
"migraphx::from_json_string("
<<
enclose_name
(
to_json_string
(
v
))
<<
")"
;
os
<<
", "
<<
enclose_name
(
to_json_string
(
v
));
}
else
{
os
<<
"migraphx::make_op("
<<
enclose_name
(
op
.
name
());
}
}
os
<<
")"
;
os
<<
")"
;
}
}
...
...
src/onnx/include/migraphx/onnx/onnx_parser.hpp
View file @
5eae6517
...
@@ -97,6 +97,7 @@ struct onnx_parser
...
@@ -97,6 +97,7 @@ struct onnx_parser
shape
::
dynamic_dimension
default_dyn_dim_value
=
{
1
,
1
,
0
};
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
<
std
::
size_t
>>
map_input_dims
;
std
::
unordered_map
<
std
::
string
,
std
::
vector
<
shape
::
dynamic_dimension
>>
map_dyn_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
;
bool
skip_unknown_operators
=
false
;
int64_t
max_loop_iterations
=
10
;
int64_t
max_loop_iterations
=
10
;
int64_t
opset_version
=
13
;
int64_t
opset_version
=
13
;
...
...
src/onnx/onnx.cpp
View file @
5eae6517
...
@@ -60,8 +60,14 @@ program parse_onnx_from(const onnx_options& options, Ts&&... xs)
...
@@ -60,8 +60,14 @@ program parse_onnx_from(const onnx_options& options, Ts&&... xs)
{
{
parser
.
default_dyn_dim_value
=
options
.
default_dyn_dim_value
;
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
.
skip_unknown_operators
=
options
.
skip_unknown_operators
;
parser
.
max_loop_iterations
=
options
.
max_loop_iterations
;
parser
.
max_loop_iterations
=
options
.
max_loop_iterations
;
parser
.
use_dyn_output
=
options
.
use_dyn_output
;
if
(
options
.
print_program_on_error
)
if
(
options
.
print_program_on_error
)
{
{
...
@@ -80,6 +86,7 @@ program parse_onnx_from(const onnx_options& options, Ts&&... xs)
...
@@ -80,6 +86,7 @@ program parse_onnx_from(const onnx_options& options, Ts&&... xs)
{
{
parser
.
parse_from
(
std
::
forward
<
Ts
>
(
xs
)...);
parser
.
parse_from
(
std
::
forward
<
Ts
>
(
xs
)...);
}
}
return
std
::
move
(
parser
.
prog
);
return
std
::
move
(
parser
.
prog
);
}
}
...
...
src/onnx/onnx_parser.cpp
View file @
5eae6517
...
@@ -256,11 +256,6 @@ int64_t onnx_parser::get_opset_version(const onnx::ModelProto& model)
...
@@ -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
)
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
;
std
::
unordered_map
<
std
::
string
,
instruction_ref
>
mod_insts
;
for
(
auto
&&
f
:
graph
.
initializer
())
for
(
auto
&&
f
:
graph
.
initializer
())
{
{
...
...
src/onnx/parse_generic_op.cpp
View file @
5eae6517
...
@@ -58,7 +58,6 @@ struct parse_generic_op : op_parser<parse_generic_op>
...
@@ -58,7 +58,6 @@ struct parse_generic_op : op_parser<parse_generic_op>
{
"Log"
,
"log"
},
{
"Log"
,
"log"
},
{
"LRN"
,
"lrn"
},
{
"LRN"
,
"lrn"
},
{
"Neg"
,
"neg"
},
{
"Neg"
,
"neg"
},
{
"NonMaxSuppression"
,
"nonmaxsuppression"
},
{
"Reciprocal"
,
"recip"
},
{
"Reciprocal"
,
"recip"
},
{
"Relu"
,
"relu"
},
{
"Relu"
,
"relu"
},
{
"Round"
,
"round"
},
{
"Round"
,
"round"
},
...
@@ -75,7 +74,7 @@ struct parse_generic_op : op_parser<parse_generic_op>
...
@@ -75,7 +74,7 @@ struct parse_generic_op : op_parser<parse_generic_op>
bool
needs_contiguous
(
const
std
::
string
&
op_name
)
const
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
,
instruction_ref
parse
(
const
op_desc
&
opd
,
...
...
src/onnx/parse_nonmaxsuppression.cpp
0 → 100644
View file @
5eae6517
/*
* The MIT License (MIT)
*
* Copyright (c) 2015-2022 Advanced Micro Devices, Inc. All rights reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
#include <migraphx/onnx/op_parser.hpp>
#include <migraphx/ranges.hpp>
#include <migraphx/make_op.hpp>
namespace
migraphx
{
inline
namespace
MIGRAPHX_INLINE_NS
{
namespace
onnx
{
struct
parse_nonmaxsuppression
:
op_parser
<
parse_nonmaxsuppression
>
{
std
::
vector
<
op_desc
>
operators
()
const
{
return
{{
"NonMaxSuppression"
,
"nonmaxsuppression"
}};
}
instruction_ref
parse
(
const
op_desc
&
opd
,
const
onnx_parser
&
parser
,
const
onnx_parser
::
node_info
&
info
,
const
std
::
vector
<
instruction_ref
>&
args
)
const
{
auto
op
=
parser
.
load
(
opd
.
op_name
,
info
);
op
.
from_value
({{
"use_dyn_output"
,
parser
.
use_dyn_output
}});
return
info
.
add_instruction
(
op
,
args
);
}
};
}
// namespace onnx
}
// namespace MIGRAPHX_INLINE_NS
}
// namespace migraphx
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