Skip to content
This repository was archived by the owner on Nov 17, 2023. It is now read-only.

Commit 86221d0

Browse files
committed
Add gluoncv models
1 parent af0808a commit 86221d0

File tree

3 files changed

+112
-7
lines changed

3 files changed

+112
-7
lines changed

example/automatic-mixed-precision/amp_model_conversion.py

Lines changed: 105 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -58,14 +58,114 @@ def save_params(fname, arg_params, aux_params, logger=None):
5858
'imagenet1k-resnext-101-64x4d',
5959
'imagenet11k-place365ch-resnet-152',
6060
'imagenet11k-place365ch-resnet-50']
61-
gluon_models = ['resnet18_v1',
61+
gluon_models = ['faster_rcnn_fpn_resnet50_v1b_coco',
62+
'mobilenetv2_0.75',
63+
'ssd_512_resnet50_v1_voc_int8',
64+
'cifar_resnet56_v1',
65+
'mobilenet0.25',
66+
'mobilenet1.0',
67+
'mask_rcnn_fpn_resnet50_v1b_coco',
68+
'simple_pose_resnet152_v1b',
69+
'ssd_512_resnet50_v1_voc',
70+
'faster_rcnn_resnet50_v1b_voc',
71+
'cifar_resnet20_v1',
72+
'yolo3_darknet53_voc',
73+
'resnet101_v1c',
74+
'simple_pose_resnet18_v1b',
75+
'mask_rcnn_resnet50_v1b_coco',
76+
'ssd_512_mobilenet1.0_coco',
77+
'vgg19_bn',
78+
'faster_rcnn_resnet50_v1b_coco',
79+
'cifar_resnet110_v1',
80+
'yolo3_mobilenet1.0_voc',
81+
'cifar_resnext29_16x64d',
82+
'resnet34_v1',
83+
'densenet121',
84+
'mask_rcnn_fpn_resnet101_v1d_coco',
85+
'vgg13_bn',
86+
'vgg19',
87+
'resnet152_v1d',
88+
'resnet152_v1s',
89+
'densenet201',
90+
'alexnet',
91+
'se_resnext50_32x4d',
92+
'resnet50_v1d_0.86',
93+
'resnet18_v1b_0.89',
94+
'yolo3_darknet53_coco',
95+
'resnet152_v1',
96+
'resnext101_64x4d',
97+
'vgg13',
98+
'resnet101_v1d_0.76',
99+
'simple_pose_resnet50_v1d',
100+
'senet_154',
62101
'resnet50_v1',
63-
'resnet101_v1',
102+
'se_resnext101_32x4d',
103+
'fcn_resnet101_voc',
104+
'resnet152_v2',
105+
'mask_rcnn_resnet101_v1d_coco',
106+
'squeezenet1.1',
107+
'mobilenet0.5',
108+
'resnet34_v2',
109+
'resnet18_v1',
110+
'resnet152_v1b',
111+
'resnet101_v2',
112+
'cifar_resnet56_v2',
113+
'ssd_512_resnet101_v2_voc',
114+
'resnet50_v1d_0.37',
115+
'mobilenetv2_0.5',
116+
'faster_rcnn_fpn_bn_resnet50_v1b_coco',
117+
'resnet50_v1c',
118+
'densenet161',
119+
'simple_pose_resnet50_v1b',
120+
'resnet18_v1b',
121+
'darknet53',
122+
'fcn_resnet50_ade',
123+
'cifar_wideresnet28_10',
124+
'simple_pose_resnet101_v1d',
125+
'vgg16',
126+
'ssd_512_resnet50_v1_coco',
127+
'resnet101_v1d_0.73',
64128
'squeezenet1.0',
65-
'mobilenet1.0',
129+
'resnet50_v1b',
130+
'faster_rcnn_resnet101_v1d_coco',
131+
'ssd_512_mobilenet1.0_voc',
132+
'cifar_wideresnet40_8',
133+
'cifar_wideresnet16_10',
134+
'cifar_resnet110_v2',
135+
'resnet101_v1s',
136+
'ssd_512_mobilenet1.0_voc_int8',
137+
'mobilenetv2_0.25',
138+
'resnet152_v1c',
139+
'se_resnext101_64x4d',
140+
'mobilenet1.0_int8',
141+
'faster_rcnn_fpn_resnet101_v1d_coco',
142+
'resnet50_v1d',
143+
'densenet169',
144+
'resnet34_v1b',
145+
'resnext50_32x4d',
146+
'resnet101_v1',
147+
'resnet101_v1b',
148+
'resnet50_v1s',
149+
'mobilenet0.75',
150+
'cifar_resnet20_v2',
151+
'resnet101_v1d',
152+
'vgg11_bn',
153+
'resnet18_v2',
154+
'vgg11',
155+
'simple_pose_resnet101_v1b',
156+
'resnext101_32x4d',
157+
'resnet50_v2',
158+
'vgg16_bn',
66159
'mobilenetv2_1.0',
67-
'inceptionv3',
68-
'ssd_512_resnet50_v1_voc']
160+
'resnet50_v1d_0.48',
161+
'resnet50_v1_int8',
162+
'resnet50_v1d_0.11',
163+
'fcn_resnet101_ade',
164+
'simple_pose_resnet152_v1d',
165+
'yolo3_mobilenet1.0_coco',
166+
'fcn_resnet101_coco']
167+
# TODO(anisub): add support for other models from gluoncv
168+
# Not supported today mostly because of broken net.forward calls
69169
models = symbolic_models + gluon_models
70170

71171
parser = argparse.ArgumentParser(description='Convert a provided FP32 model to a mixed precision model')

src/operator/elemwise_op_common.h

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,10 @@ inline bool ElemwiseAttr(const nnvm::NodeAttrs& attrs,
167167
std::vector<AttrType> *in_attrs,
168168
std::vector<AttrType> *out_attrs,
169169
const AttrType& none) {
170-
return ElemwiseAttrHelper<AttrType, is_none, assign, reverse_infer, attr_string, n_in, n_out>(attrs.name, in_attrs, out_attrs, none);
170+
return ElemwiseAttrHelper<AttrType, is_none,
171+
assign, reverse_infer,
172+
attr_string, n_in,
173+
n_out>(attrs.name, in_attrs, out_attrs, none);
171174
}
172175

173176
template<index_t n_in, index_t n_out>

src/operator/slice_channel-inl.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,9 @@ class SliceChannelProp : public OperatorProperty {
178178
std::vector<int> *out_type,
179179
std::vector<int> *aux_type) const override {
180180
std::string node_name = "slice_channel_node";
181-
return ElemwiseAttrHelper<int, type_is_none, type_assign, true, type_string, 1>(node_name, in_type, out_type, -1);
181+
return ElemwiseAttrHelper<int, type_is_none,
182+
type_assign, true,
183+
type_string, 1>(node_name, in_type, out_type, -1);
182184
}
183185

184186
bool InferShape(mxnet::ShapeVector *in_shape,

0 commit comments

Comments
 (0)