├── README.md ├── fmobilefacenet.py ├── model-y1-arcface-symbol.json ├── model-y1-softmax12-symbol-512.json ├── petrained-models ├── retrain0.001.log ├── symbol_utils.py ├── train.md ├── trainarc.sh └── wd1e-6-0.01.log /README.md: -------------------------------------------------------------------------------- 1 | # mobilefacenet-V2 2 | 3 | now we get more higher accuray: 4 | 5 | 6 | [lfw][12000]Accuracy-Flip: 0.99667+-0.00358 7 | [agedb_30][12000]Accuracy-Flip: 0.96667+-0.00167 use my modified mobilenet network. 8 | 9 | lr-batch-epoch: 0.01 11738 1 10 | testing verification.. 11 | (12000, 512) 12 | infer time 39.129495 13 | [lfw][36000]XNorm: 22.729305 14 | [lfw][36000]Accuracy-Flip: 0.99667+-0.00358 15 | 16 | 17 | 18 | improve the accuracy of mobilefacenet 19 | in paper mobilefacenet论文(https://arxiv.org/abs/1804.07573) 20 | 21 | First step training (use softmax to pretrain): 22 | train softmax(facenet): 23 | 24 | [lfw][62000]XNorm: 23.029881 25 | [lfw][62000]Accuracy-Flip: 0.99383+-0.00308 26 | testing verification.. 27 | (14000, 512) 28 | infer time 20.121058 29 | [cfp_fp][62000]XNorm: 24.043967 30 | [cfp_fp][62000]Accuracy-Flip: 0.89343+-0.01705 31 | testing verification.. 32 | (12000, 512) 33 | infer time 16.860138 34 | [agedb_30][62000]XNorm: 23.566453 35 | [agedb_30][62000]Accuracy-Flip: 0.93883+-0.01675 36 | saving 31 37 | INFO:root:Saved checkpoint to "../models/MF/model-y1-softmax12-0031.params" 38 | 39 | 40 | pretrained models: 41 | https://pan.baidu.com/s/1xBq9FoL79z7K892aFWkmFw 42 | 43 | 44 | Second step: 45 | CUDA_VISIBLE_DEVICES='0,1' python -u train_softmax.py --network y1 --ckpt 2 --loss-type 4 --margin-s [128] --lr-steps 120000,180000,210000,230000 --emb-size [512] --per-batch-size 150 --data-dir ../data/faces_ms1m_112x112 --pretrained ../models/MobileFaceNet/model-y1-softmax,20 --prefix ../models/MF/model-y1-arcface 46 | 47 | Third step: 48 | CUDA_VISIBLE_DEVICES='0,1' python -u train_softmax.py --network y1 --ckpt 2 --loss-type 4 --lr 0.001 --lr-steps 40000,60000,70000 --wd 0.00004 --fc7-wd-mult 10 --emb-size 512 --per-batch-size 150 --margin-s 64 --data-dir ../data/faces_ms1m_112x112 --pretrained ../models/MF/model-y1-arcface,46 --prefix ../models/MF/model-y1-arcface 49 | 50 | Update wd=0.00001 , --fc7-wd-mult 10 --emb-size 512 51 | i get new Accuracy: 52 | ###### Accuracy 53 | | dbname | accuracy | 54 | | ----- |:-----:| 55 | | lfw |0.996233| 56 | | cfp_fp |0.94300| 57 | | age_db30 |0.96383| 58 | 59 | 60 | ##########first 61 | #CUDA_VISIBLE_DEVICES='0' python -u train_softmax.py --network y1 --ckpt 2 --loss-type 4 --lr 0.1 --emb-size 512 --per-batch-size 240 --margin-s 64 --wd 0.00001 --fc7-wd-mult 10 --data-dir /Users/sunyimac/faces_emore --pretrained ../models/MobileFaceNet/model-y1-arcfaced,18 --prefix ../models/MobileFaceNet/model-y1-arcface 62 | 63 | #CUDA_VISIBLE_DEVICES='0' python -u train_softmax.py --network y1 --ckpt 2 --loss-type 4 --lr 0.01 --emb-size 512 --per-batch-size 240 --margin-s 64 --wd 0.00001 --fc7-wd-mult 10 --data-dir /Users/sunyimac/faces_emore --pretrained ../models/MobileFaceNet/model-y1-arcface,62 --prefix ../models/MobileFaceNet/model-y1-arcfaced 64 | 65 | CUDA_VISIBLE_DEVICES='0' python -u train_softmax.py --network y1 --ckpt 2 --loss-type 4 --lr 0.00001 --emb-size 512 --per-batch-size 240 --wd 0.00001 --fc7-wd-mult 10 --data-dir /Users/sunyimac/faces_emore --pretrained ../models/MobileFaceNet/model-y1-arcface,75 --prefix ../models/MobileFaceNet/model-y1-arcfaced 66 | 67 | Update wd=0.000001 trainning is not end. now is the new Accuracy: 68 | i get new higher Accuracy: 69 | ###### Accuracy 70 | | dbname | accuracy | 71 | | ----- |:-----:| 72 | | lfw |0.99667| 73 | | cfp_fp |0.94300| 74 | | age_db30 |0.96700| 75 | 76 | Update wd=0.0000001 trainning is not end. now is the new Accuracy: 77 | i get new higher Accuracy: 78 | ###### Accuracy🔥 79 | | dbname | accuracy | 80 | | ----- |:-----:| 81 | | lfw |0.99683| 82 | | cfp_ff |0.99733| 83 | | cfp_fp |0.94500| 84 | | age_db30 |0.96717| 85 | you can visit my log file: 86 | https://github.com/qidiso/mobilefacenet-V2/blob/master/retrain0.001.log 87 | 88 | # Now Release the models: 89 | [models:]https://github.com/aidlearning/AidLearning-FrameWork/tree/master/src/facencnn/models 90 | (reached 99.733 in the cfp-ff、 the 99.68+ in lfw,96.71+ in agedb30) 91 | -------------------------------------------------------------------------------- /fmobilefacenet.py: -------------------------------------------------------------------------------- 1 | 2 | import mxnet as mx 3 | import symbol_utils 4 | 5 | bn_mom = 0.9 6 | #bn_mom = 0.9997 7 | 8 | def Act(data, act_type, name): 9 | #ignore param act_type, set it in this function 10 | body = mx.sym.LeakyReLU(data = data, act_type='prelu', name = name) 11 | #body = mx.sym.Activation(data=data, act_type='relu', name=name) 12 | return body 13 | 14 | def Conv(data, num_filter=1, kernel=(1, 1), stride=(1, 1), pad=(0, 0), num_group=1, name=None, suffix=''): 15 | conv = mx.sym.Convolution(data=data, num_filter=num_filter, kernel=kernel, num_group=num_group, stride=stride, pad=pad, no_bias=True, name='%s%s_conv2d' %(name, suffix)) 16 | bn = mx.sym.BatchNorm(data=conv, name='%s%s_batchnorm' %(name, suffix), fix_gamma=False,momentum=bn_mom) 17 | act = Act(data=bn, act_type='relu', name='%s%s_relu' %(name, suffix)) 18 | return act 19 | 20 | def Linear(data, num_filter=1, kernel=(1, 1), stride=(1, 1), pad=(0, 0), num_group=1, name=None, suffix=''): 21 | conv = mx.sym.Convolution(data=data, num_filter=num_filter, kernel=kernel, num_group=num_group, stride=stride, pad=pad, no_bias=True, name='%s%s_conv2d' %(name, suffix)) 22 | bn = mx.sym.BatchNorm(data=conv, name='%s%s_batchnorm' %(name, suffix), fix_gamma=False,momentum=bn_mom) 23 | return bn 24 | 25 | def ConvOnly(data, num_filter=1, kernel=(1, 1), stride=(1, 1), pad=(0, 0), num_group=1, name=None, suffix=''): 26 | conv = mx.sym.Convolution(data=data, num_filter=num_filter, kernel=kernel, num_group=num_group, stride=stride, pad=pad, no_bias=True, name='%s%s_conv2d' %(name, suffix)) 27 | return conv 28 | 29 | 30 | def DResidual(data, num_out=1, kernel=(3, 3), stride=(2, 2), pad=(1, 1), num_group=1, name=None, suffix=''): 31 | conv = Conv(data=data, num_filter=num_group, kernel=(1, 1), pad=(0, 0), stride=(1, 1), name='%s%s_conv_sep' %(name, suffix)) 32 | conv_dw = Conv(data=conv, num_filter=num_group, num_group=num_group, kernel=kernel, pad=pad, stride=stride, name='%s%s_conv_dw' %(name, suffix)) 33 | proj = Linear(data=conv_dw, num_filter=num_out, kernel=(1, 1), pad=(0, 0), stride=(1, 1), name='%s%s_conv_proj' %(name, suffix)) 34 | return proj 35 | 36 | def Residual(data, num_block=1, num_out=1, kernel=(3, 3), stride=(1, 1), pad=(1, 1), num_group=1, name=None, suffix=''): 37 | identity=data 38 | for i in range(num_block): 39 | shortcut=identity 40 | conv=DResidual(data=identity, num_out=num_out, kernel=kernel, stride=stride, pad=pad, num_group=num_group, name='%s%s_block' %(name, suffix), suffix='%d'%i) 41 | identity=conv+shortcut 42 | return identity 43 | 44 | 45 | def get_symbol(num_classes, **kwargs): 46 | global bn_mom 47 | bn_mom = kwargs.get('bn_mom', 0.9) 48 | wd_mult = kwargs.get('wd_mult', 1.) 49 | data = mx.symbol.Variable(name="data") 50 | data = data-127.5 51 | data = data*0.0078125 52 | conv_1 = Conv(data, num_filter=64, kernel=(3, 3), pad=(1, 1), stride=(2, 2), name="conv_1") 53 | conv_2_dw = Conv(conv_1, num_group=64, num_filter=64, kernel=(3, 3), pad=(1, 1), stride=(1, 1), name="conv_2_dw") 54 | conv_23 = DResidual(conv_2_dw, num_out=64, kernel=(3, 3), stride=(2, 2), pad=(1, 1), num_group=128, name="dconv_23") 55 | conv_3 = Residual(conv_23, num_block=4, num_out=64, kernel=(3, 3), stride=(1, 1), pad=(1, 1), num_group=128, name="res_3") 56 | conv_34 = DResidual(conv_3, num_out=128, kernel=(3, 3), stride=(2, 2), pad=(1, 1), num_group=256, name="dconv_34") 57 | conv_4 = Residual(conv_34, num_block=6, num_out=128, kernel=(3, 3), stride=(1, 1), pad=(1, 1), num_group=256, name="res_4") 58 | conv_45 = DResidual(conv_4, num_out=128, kernel=(3, 3), stride=(2, 2), pad=(1, 1), num_group=512, name="dconv_45") 59 | conv_5 = Residual(conv_45, num_block=2, num_out=128, kernel=(3, 3), stride=(1, 1), pad=(1, 1), num_group=256, name="res_5") 60 | 61 | conv_6_sep = Conv(conv_5, num_filter=512, kernel=(1, 1), pad=(0, 0), stride=(1, 1), name="conv_6sep") 62 | conv_6_dw = Linear(conv_6_sep, num_filter=512, num_group=512, kernel=(7,7), pad=(0, 0), stride=(1, 1), name="conv_6dw7_7") 63 | #conv_6_dw = mx.symbol.Dropout(data=conv_6_dw, p=0.4) 64 | _weight = mx.symbol.Variable("fc1_weight", shape=(num_classes, 512), lr_mult=1.0, wd_mult=wd_mult) 65 | 66 | conv_6_f = mx.sym.FullyConnected(data=conv_6_dw, weight=_weight, num_hidden=num_classes, name='pre_fc1') 67 | fc1 = mx.sym.BatchNorm(data=conv_6_f, fix_gamma=True, eps=2e-5, momentum=bn_mom, name='fc1') 68 | return fc1 69 | 70 | -------------------------------------------------------------------------------- /model-y1-arcface-symbol.json: -------------------------------------------------------------------------------- 1 | { 2 | "nodes": [ 3 | { 4 | "op": "null", 5 | "name": "data", 6 | "inputs": [] 7 | }, 8 | { 9 | "op": "_minus_scalar", 10 | "name": "_minusscalar0", 11 | "attrs": {"scalar": "127.5"}, 12 | "inputs": [[0, 0, 0]] 13 | }, 14 | { 15 | "op": "_mul_scalar", 16 | "name": "_mulscalar0", 17 | "attrs": {"scalar": "0.0078125"}, 18 | "inputs": [[1, 0, 0]] 19 | }, 20 | { 21 | "op": "null", 22 | "name": "conv_1_conv2d_weight", 23 | "attrs": { 24 | "kernel": "(3, 3)", 25 | "no_bias": "True", 26 | "num_filter": "64", 27 | "num_group": "1", 28 | "pad": "(1, 1)", 29 | "stride": "(2, 2)" 30 | }, 31 | "inputs": [] 32 | }, 33 | { 34 | "op": "Convolution", 35 | "name": "conv_1_conv2d", 36 | "attrs": { 37 | "kernel": "(3, 3)", 38 | "no_bias": "True", 39 | "num_filter": "64", 40 | "num_group": "1", 41 | "pad": "(1, 1)", 42 | "stride": "(2, 2)" 43 | }, 44 | "inputs": [[2, 0, 0], [3, 0, 0]] 45 | }, 46 | { 47 | "op": "null", 48 | "name": "conv_1_batchnorm_gamma", 49 | "attrs": { 50 | "fix_gamma": "False", 51 | "momentum": "0.9" 52 | }, 53 | "inputs": [] 54 | }, 55 | { 56 | "op": "null", 57 | "name": "conv_1_batchnorm_beta", 58 | "attrs": { 59 | "fix_gamma": "False", 60 | "momentum": "0.9" 61 | }, 62 | "inputs": [] 63 | }, 64 | { 65 | "op": "null", 66 | "name": "conv_1_batchnorm_moving_mean", 67 | "attrs": { 68 | "__init__": "[\"zero\", {}]", 69 | "fix_gamma": "False", 70 | "momentum": "0.9" 71 | }, 72 | "inputs": [] 73 | }, 74 | { 75 | "op": "null", 76 | "name": "conv_1_batchnorm_moving_var", 77 | "attrs": { 78 | "__init__": "[\"one\", {}]", 79 | "fix_gamma": "False", 80 | "momentum": "0.9" 81 | }, 82 | "inputs": [] 83 | }, 84 | { 85 | "op": "BatchNorm", 86 | "name": "conv_1_batchnorm", 87 | "attrs": { 88 | "fix_gamma": "False", 89 | "momentum": "0.9" 90 | }, 91 | "inputs": [[4, 0, 0], [5, 0, 0], [6, 0, 0], [7, 0, 1], [8, 0, 1]] 92 | }, 93 | { 94 | "op": "null", 95 | "name": "conv_1_relu_gamma", 96 | "attrs": { 97 | "__init__": "[\"Constant\", {\"value\": 0.25}]", 98 | "act_type": "prelu" 99 | }, 100 | "inputs": [] 101 | }, 102 | { 103 | "op": "LeakyReLU", 104 | "name": "conv_1_relu", 105 | "attrs": {"act_type": "prelu"}, 106 | "inputs": [[9, 0, 0], [10, 0, 0]] 107 | }, 108 | { 109 | "op": "null", 110 | "name": "conv_2_dw_conv2d_weight", 111 | "attrs": { 112 | "kernel": "(3, 3)", 113 | "no_bias": "True", 114 | "num_filter": "64", 115 | "num_group": "64", 116 | "pad": "(1, 1)", 117 | "stride": "(1, 1)" 118 | }, 119 | "inputs": [] 120 | }, 121 | { 122 | "op": "Convolution", 123 | "name": "conv_2_dw_conv2d", 124 | "attrs": { 125 | "kernel": "(3, 3)", 126 | "no_bias": "True", 127 | "num_filter": "64", 128 | "num_group": "64", 129 | "pad": "(1, 1)", 130 | "stride": "(1, 1)" 131 | }, 132 | "inputs": [[11, 0, 0], [12, 0, 0]] 133 | }, 134 | { 135 | "op": "null", 136 | "name": "conv_2_dw_batchnorm_gamma", 137 | "attrs": { 138 | "fix_gamma": "False", 139 | "momentum": "0.9" 140 | }, 141 | "inputs": [] 142 | }, 143 | { 144 | "op": "null", 145 | "name": "conv_2_dw_batchnorm_beta", 146 | "attrs": { 147 | "fix_gamma": "False", 148 | "momentum": "0.9" 149 | }, 150 | "inputs": [] 151 | }, 152 | { 153 | "op": "null", 154 | "name": "conv_2_dw_batchnorm_moving_mean", 155 | "attrs": { 156 | "__init__": "[\"zero\", {}]", 157 | "fix_gamma": "False", 158 | "momentum": "0.9" 159 | }, 160 | "inputs": [] 161 | }, 162 | { 163 | "op": "null", 164 | "name": "conv_2_dw_batchnorm_moving_var", 165 | "attrs": { 166 | "__init__": "[\"one\", {}]", 167 | "fix_gamma": "False", 168 | "momentum": "0.9" 169 | }, 170 | "inputs": [] 171 | }, 172 | { 173 | "op": "BatchNorm", 174 | "name": "conv_2_dw_batchnorm", 175 | "attrs": { 176 | "fix_gamma": "False", 177 | "momentum": "0.9" 178 | }, 179 | "inputs": [[13, 0, 0], [14, 0, 0], [15, 0, 0], [16, 0, 1], [17, 0, 1]] 180 | }, 181 | { 182 | "op": "null", 183 | "name": "conv_2_dw_relu_gamma", 184 | "attrs": { 185 | "__init__": "[\"Constant\", {\"value\": 0.25}]", 186 | "act_type": "prelu" 187 | }, 188 | "inputs": [] 189 | }, 190 | { 191 | "op": "LeakyReLU", 192 | "name": "conv_2_dw_relu", 193 | "attrs": {"act_type": "prelu"}, 194 | "inputs": [[18, 0, 0], [19, 0, 0]] 195 | }, 196 | { 197 | "op": "null", 198 | "name": "dconv_23_conv_sep_conv2d_weight", 199 | "attrs": { 200 | "kernel": "(1, 1)", 201 | "no_bias": "True", 202 | "num_filter": "128", 203 | "num_group": "1", 204 | "pad": "(0, 0)", 205 | "stride": "(1, 1)" 206 | }, 207 | "inputs": [] 208 | }, 209 | { 210 | "op": "Convolution", 211 | "name": "dconv_23_conv_sep_conv2d", 212 | "attrs": { 213 | "kernel": "(1, 1)", 214 | "no_bias": "True", 215 | "num_filter": "128", 216 | "num_group": "1", 217 | "pad": "(0, 0)", 218 | "stride": "(1, 1)" 219 | }, 220 | "inputs": [[20, 0, 0], [21, 0, 0]] 221 | }, 222 | { 223 | "op": "null", 224 | "name": "dconv_23_conv_sep_batchnorm_gamma", 225 | "attrs": { 226 | "fix_gamma": "False", 227 | "momentum": "0.9" 228 | }, 229 | "inputs": [] 230 | }, 231 | { 232 | "op": "null", 233 | "name": "dconv_23_conv_sep_batchnorm_beta", 234 | "attrs": { 235 | "fix_gamma": "False", 236 | "momentum": "0.9" 237 | }, 238 | "inputs": [] 239 | }, 240 | { 241 | "op": "null", 242 | "name": "dconv_23_conv_sep_batchnorm_moving_mean", 243 | "attrs": { 244 | "__init__": "[\"zero\", {}]", 245 | "fix_gamma": "False", 246 | "momentum": "0.9" 247 | }, 248 | "inputs": [] 249 | }, 250 | { 251 | "op": "null", 252 | "name": "dconv_23_conv_sep_batchnorm_moving_var", 253 | "attrs": { 254 | "__init__": "[\"one\", {}]", 255 | "fix_gamma": "False", 256 | "momentum": "0.9" 257 | }, 258 | "inputs": [] 259 | }, 260 | { 261 | "op": "BatchNorm", 262 | "name": "dconv_23_conv_sep_batchnorm", 263 | "attrs": { 264 | "fix_gamma": "False", 265 | "momentum": "0.9" 266 | }, 267 | "inputs": [[22, 0, 0], [23, 0, 0], [24, 0, 0], [25, 0, 1], [26, 0, 1]] 268 | }, 269 | { 270 | "op": "null", 271 | "name": "dconv_23_conv_sep_relu_gamma", 272 | "attrs": { 273 | "__init__": "[\"Constant\", {\"value\": 0.25}]", 274 | "act_type": "prelu" 275 | }, 276 | "inputs": [] 277 | }, 278 | { 279 | "op": "LeakyReLU", 280 | "name": "dconv_23_conv_sep_relu", 281 | "attrs": {"act_type": "prelu"}, 282 | "inputs": [[27, 0, 0], [28, 0, 0]] 283 | }, 284 | { 285 | "op": "null", 286 | "name": "dconv_23_conv_dw_conv2d_weight", 287 | "attrs": { 288 | "kernel": "(3, 3)", 289 | "no_bias": "True", 290 | "num_filter": "128", 291 | "num_group": "128", 292 | "pad": "(1, 1)", 293 | "stride": "(2, 2)" 294 | }, 295 | "inputs": [] 296 | }, 297 | { 298 | "op": "Convolution", 299 | "name": "dconv_23_conv_dw_conv2d", 300 | "attrs": { 301 | "kernel": "(3, 3)", 302 | "no_bias": "True", 303 | "num_filter": "128", 304 | "num_group": "128", 305 | "pad": "(1, 1)", 306 | "stride": "(2, 2)" 307 | }, 308 | "inputs": [[29, 0, 0], [30, 0, 0]] 309 | }, 310 | { 311 | "op": "null", 312 | "name": "dconv_23_conv_dw_batchnorm_gamma", 313 | "attrs": { 314 | "fix_gamma": "False", 315 | "momentum": "0.9" 316 | }, 317 | "inputs": [] 318 | }, 319 | { 320 | "op": "null", 321 | "name": "dconv_23_conv_dw_batchnorm_beta", 322 | "attrs": { 323 | "fix_gamma": "False", 324 | "momentum": "0.9" 325 | }, 326 | "inputs": [] 327 | }, 328 | { 329 | "op": "null", 330 | "name": "dconv_23_conv_dw_batchnorm_moving_mean", 331 | "attrs": { 332 | "__init__": "[\"zero\", {}]", 333 | "fix_gamma": "False", 334 | "momentum": "0.9" 335 | }, 336 | "inputs": [] 337 | }, 338 | { 339 | "op": "null", 340 | "name": "dconv_23_conv_dw_batchnorm_moving_var", 341 | "attrs": { 342 | "__init__": "[\"one\", {}]", 343 | "fix_gamma": "False", 344 | "momentum": "0.9" 345 | }, 346 | "inputs": [] 347 | }, 348 | { 349 | "op": "BatchNorm", 350 | "name": "dconv_23_conv_dw_batchnorm", 351 | "attrs": { 352 | "fix_gamma": "False", 353 | "momentum": "0.9" 354 | }, 355 | "inputs": [[31, 0, 0], [32, 0, 0], [33, 0, 0], [34, 0, 1], [35, 0, 1]] 356 | }, 357 | { 358 | "op": "null", 359 | "name": "dconv_23_conv_dw_relu_gamma", 360 | "attrs": { 361 | "__init__": "[\"Constant\", {\"value\": 0.25}]", 362 | "act_type": "prelu" 363 | }, 364 | "inputs": [] 365 | }, 366 | { 367 | "op": "LeakyReLU", 368 | "name": "dconv_23_conv_dw_relu", 369 | "attrs": {"act_type": "prelu"}, 370 | "inputs": [[36, 0, 0], [37, 0, 0]] 371 | }, 372 | { 373 | "op": "null", 374 | "name": "dconv_23_conv_proj_conv2d_weight", 375 | "attrs": { 376 | "kernel": "(1, 1)", 377 | "no_bias": "True", 378 | "num_filter": "64", 379 | "num_group": "1", 380 | "pad": "(0, 0)", 381 | "stride": "(1, 1)" 382 | }, 383 | "inputs": [] 384 | }, 385 | { 386 | "op": "Convolution", 387 | "name": "dconv_23_conv_proj_conv2d", 388 | "attrs": { 389 | "kernel": "(1, 1)", 390 | "no_bias": "True", 391 | "num_filter": "64", 392 | "num_group": "1", 393 | "pad": "(0, 0)", 394 | "stride": "(1, 1)" 395 | }, 396 | "inputs": [[38, 0, 0], [39, 0, 0]] 397 | }, 398 | { 399 | "op": "null", 400 | "name": "dconv_23_conv_proj_batchnorm_gamma", 401 | "attrs": { 402 | "fix_gamma": "False", 403 | "momentum": "0.9" 404 | }, 405 | "inputs": [] 406 | }, 407 | { 408 | "op": "null", 409 | "name": "dconv_23_conv_proj_batchnorm_beta", 410 | "attrs": { 411 | "fix_gamma": "False", 412 | "momentum": "0.9" 413 | }, 414 | "inputs": [] 415 | }, 416 | { 417 | "op": "null", 418 | "name": "dconv_23_conv_proj_batchnorm_moving_mean", 419 | "attrs": { 420 | "__init__": "[\"zero\", {}]", 421 | "fix_gamma": "False", 422 | "momentum": "0.9" 423 | }, 424 | "inputs": [] 425 | }, 426 | { 427 | "op": "null", 428 | "name": "dconv_23_conv_proj_batchnorm_moving_var", 429 | "attrs": { 430 | "__init__": "[\"one\", {}]", 431 | "fix_gamma": "False", 432 | "momentum": "0.9" 433 | }, 434 | "inputs": [] 435 | }, 436 | { 437 | "op": "BatchNorm", 438 | "name": "dconv_23_conv_proj_batchnorm", 439 | "attrs": { 440 | "fix_gamma": "False", 441 | "momentum": "0.9" 442 | }, 443 | "inputs": [[40, 0, 0], [41, 0, 0], [42, 0, 0], [43, 0, 1], [44, 0, 1]] 444 | }, 445 | { 446 | "op": "null", 447 | "name": "res_3_block0_conv_sep_conv2d_weight", 448 | "attrs": { 449 | "kernel": "(1, 1)", 450 | "no_bias": "True", 451 | "num_filter": "128", 452 | "num_group": "1", 453 | "pad": "(0, 0)", 454 | "stride": "(1, 1)" 455 | }, 456 | "inputs": [] 457 | }, 458 | { 459 | "op": "Convolution", 460 | "name": "res_3_block0_conv_sep_conv2d", 461 | "attrs": { 462 | "kernel": "(1, 1)", 463 | "no_bias": "True", 464 | "num_filter": "128", 465 | "num_group": "1", 466 | "pad": "(0, 0)", 467 | "stride": "(1, 1)" 468 | }, 469 | "inputs": [[45, 0, 0], [46, 0, 0]] 470 | }, 471 | { 472 | "op": "null", 473 | "name": "res_3_block0_conv_sep_batchnorm_gamma", 474 | "attrs": { 475 | "fix_gamma": "False", 476 | "momentum": "0.9" 477 | }, 478 | "inputs": [] 479 | }, 480 | { 481 | "op": "null", 482 | "name": "res_3_block0_conv_sep_batchnorm_beta", 483 | "attrs": { 484 | "fix_gamma": "False", 485 | "momentum": "0.9" 486 | }, 487 | "inputs": [] 488 | }, 489 | { 490 | "op": "null", 491 | "name": "res_3_block0_conv_sep_batchnorm_moving_mean", 492 | "attrs": { 493 | "__init__": "[\"zero\", {}]", 494 | "fix_gamma": "False", 495 | "momentum": "0.9" 496 | }, 497 | "inputs": [] 498 | }, 499 | { 500 | "op": "null", 501 | "name": "res_3_block0_conv_sep_batchnorm_moving_var", 502 | "attrs": { 503 | "__init__": "[\"one\", {}]", 504 | "fix_gamma": "False", 505 | "momentum": "0.9" 506 | }, 507 | "inputs": [] 508 | }, 509 | { 510 | "op": "BatchNorm", 511 | "name": "res_3_block0_conv_sep_batchnorm", 512 | "attrs": { 513 | "fix_gamma": "False", 514 | "momentum": "0.9" 515 | }, 516 | "inputs": [[47, 0, 0], [48, 0, 0], [49, 0, 0], [50, 0, 1], [51, 0, 1]] 517 | }, 518 | { 519 | "op": "null", 520 | "name": "res_3_block0_conv_sep_relu_gamma", 521 | "attrs": { 522 | "__init__": "[\"Constant\", {\"value\": 0.25}]", 523 | "act_type": "prelu" 524 | }, 525 | "inputs": [] 526 | }, 527 | { 528 | "op": "LeakyReLU", 529 | "name": "res_3_block0_conv_sep_relu", 530 | "attrs": {"act_type": "prelu"}, 531 | "inputs": [[52, 0, 0], [53, 0, 0]] 532 | }, 533 | { 534 | "op": "null", 535 | "name": "res_3_block0_conv_dw_conv2d_weight", 536 | "attrs": { 537 | "kernel": "(3, 3)", 538 | "no_bias": "True", 539 | "num_filter": "128", 540 | "num_group": "128", 541 | "pad": "(1, 1)", 542 | "stride": "(1, 1)" 543 | }, 544 | "inputs": [] 545 | }, 546 | { 547 | "op": "Convolution", 548 | "name": "res_3_block0_conv_dw_conv2d", 549 | "attrs": { 550 | "kernel": "(3, 3)", 551 | "no_bias": "True", 552 | "num_filter": "128", 553 | "num_group": "128", 554 | "pad": "(1, 1)", 555 | "stride": "(1, 1)" 556 | }, 557 | "inputs": [[54, 0, 0], [55, 0, 0]] 558 | }, 559 | { 560 | "op": "null", 561 | "name": "res_3_block0_conv_dw_batchnorm_gamma", 562 | "attrs": { 563 | "fix_gamma": "False", 564 | "momentum": "0.9" 565 | }, 566 | "inputs": [] 567 | }, 568 | { 569 | "op": "null", 570 | "name": "res_3_block0_conv_dw_batchnorm_beta", 571 | "attrs": { 572 | "fix_gamma": "False", 573 | "momentum": "0.9" 574 | }, 575 | "inputs": [] 576 | }, 577 | { 578 | "op": "null", 579 | "name": "res_3_block0_conv_dw_batchnorm_moving_mean", 580 | "attrs": { 581 | "__init__": "[\"zero\", {}]", 582 | "fix_gamma": "False", 583 | "momentum": "0.9" 584 | }, 585 | "inputs": [] 586 | }, 587 | { 588 | "op": "null", 589 | "name": "res_3_block0_conv_dw_batchnorm_moving_var", 590 | "attrs": { 591 | "__init__": "[\"one\", {}]", 592 | "fix_gamma": "False", 593 | "momentum": "0.9" 594 | }, 595 | "inputs": [] 596 | }, 597 | { 598 | "op": "BatchNorm", 599 | "name": "res_3_block0_conv_dw_batchnorm", 600 | "attrs": { 601 | "fix_gamma": "False", 602 | "momentum": "0.9" 603 | }, 604 | "inputs": [[56, 0, 0], [57, 0, 0], [58, 0, 0], [59, 0, 1], [60, 0, 1]] 605 | }, 606 | { 607 | "op": "null", 608 | "name": "res_3_block0_conv_dw_relu_gamma", 609 | "attrs": { 610 | "__init__": "[\"Constant\", {\"value\": 0.25}]", 611 | "act_type": "prelu" 612 | }, 613 | "inputs": [] 614 | }, 615 | { 616 | "op": "LeakyReLU", 617 | "name": "res_3_block0_conv_dw_relu", 618 | "attrs": {"act_type": "prelu"}, 619 | "inputs": [[61, 0, 0], [62, 0, 0]] 620 | }, 621 | { 622 | "op": "null", 623 | "name": "res_3_block0_conv_proj_conv2d_weight", 624 | "attrs": { 625 | "kernel": "(1, 1)", 626 | "no_bias": "True", 627 | "num_filter": "64", 628 | "num_group": "1", 629 | "pad": "(0, 0)", 630 | "stride": "(1, 1)" 631 | }, 632 | "inputs": [] 633 | }, 634 | { 635 | "op": "Convolution", 636 | "name": "res_3_block0_conv_proj_conv2d", 637 | "attrs": { 638 | "kernel": "(1, 1)", 639 | "no_bias": "True", 640 | "num_filter": "64", 641 | "num_group": "1", 642 | "pad": "(0, 0)", 643 | "stride": "(1, 1)" 644 | }, 645 | "inputs": [[63, 0, 0], [64, 0, 0]] 646 | }, 647 | { 648 | "op": "null", 649 | "name": "res_3_block0_conv_proj_batchnorm_gamma", 650 | "attrs": { 651 | "fix_gamma": "False", 652 | "momentum": "0.9" 653 | }, 654 | "inputs": [] 655 | }, 656 | { 657 | "op": "null", 658 | "name": "res_3_block0_conv_proj_batchnorm_beta", 659 | "attrs": { 660 | "fix_gamma": "False", 661 | "momentum": "0.9" 662 | }, 663 | "inputs": [] 664 | }, 665 | { 666 | "op": "null", 667 | "name": "res_3_block0_conv_proj_batchnorm_moving_mean", 668 | "attrs": { 669 | "__init__": "[\"zero\", {}]", 670 | "fix_gamma": "False", 671 | "momentum": "0.9" 672 | }, 673 | "inputs": [] 674 | }, 675 | { 676 | "op": "null", 677 | "name": "res_3_block0_conv_proj_batchnorm_moving_var", 678 | "attrs": { 679 | "__init__": "[\"one\", {}]", 680 | "fix_gamma": "False", 681 | "momentum": "0.9" 682 | }, 683 | "inputs": [] 684 | }, 685 | { 686 | "op": "BatchNorm", 687 | "name": "res_3_block0_conv_proj_batchnorm", 688 | "attrs": { 689 | "fix_gamma": "False", 690 | "momentum": "0.9" 691 | }, 692 | "inputs": [[65, 0, 0], [66, 0, 0], [67, 0, 0], [68, 0, 1], [69, 0, 1]] 693 | }, 694 | { 695 | "op": "elemwise_add", 696 | "name": "_plus0", 697 | "inputs": [[70, 0, 0], [45, 0, 0]] 698 | }, 699 | { 700 | "op": "null", 701 | "name": "res_3_block1_conv_sep_conv2d_weight", 702 | "attrs": { 703 | "kernel": "(1, 1)", 704 | "no_bias": "True", 705 | "num_filter": "128", 706 | "num_group": "1", 707 | "pad": "(0, 0)", 708 | "stride": "(1, 1)" 709 | }, 710 | "inputs": [] 711 | }, 712 | { 713 | "op": "Convolution", 714 | "name": "res_3_block1_conv_sep_conv2d", 715 | "attrs": { 716 | "kernel": "(1, 1)", 717 | "no_bias": "True", 718 | "num_filter": "128", 719 | "num_group": "1", 720 | "pad": "(0, 0)", 721 | "stride": "(1, 1)" 722 | }, 723 | "inputs": [[71, 0, 0], [72, 0, 0]] 724 | }, 725 | { 726 | "op": "null", 727 | "name": "res_3_block1_conv_sep_batchnorm_gamma", 728 | "attrs": { 729 | "fix_gamma": "False", 730 | "momentum": "0.9" 731 | }, 732 | "inputs": [] 733 | }, 734 | { 735 | "op": "null", 736 | "name": "res_3_block1_conv_sep_batchnorm_beta", 737 | "attrs": { 738 | "fix_gamma": "False", 739 | "momentum": "0.9" 740 | }, 741 | "inputs": [] 742 | }, 743 | { 744 | "op": "null", 745 | "name": "res_3_block1_conv_sep_batchnorm_moving_mean", 746 | "attrs": { 747 | "__init__": "[\"zero\", {}]", 748 | "fix_gamma": "False", 749 | "momentum": "0.9" 750 | }, 751 | "inputs": [] 752 | }, 753 | { 754 | "op": "null", 755 | "name": "res_3_block1_conv_sep_batchnorm_moving_var", 756 | "attrs": { 757 | "__init__": "[\"one\", {}]", 758 | "fix_gamma": "False", 759 | "momentum": "0.9" 760 | }, 761 | "inputs": [] 762 | }, 763 | { 764 | "op": "BatchNorm", 765 | "name": "res_3_block1_conv_sep_batchnorm", 766 | "attrs": { 767 | "fix_gamma": "False", 768 | "momentum": "0.9" 769 | }, 770 | "inputs": [[73, 0, 0], [74, 0, 0], [75, 0, 0], [76, 0, 1], [77, 0, 1]] 771 | }, 772 | { 773 | "op": "null", 774 | "name": "res_3_block1_conv_sep_relu_gamma", 775 | "attrs": { 776 | "__init__": "[\"Constant\", {\"value\": 0.25}]", 777 | "act_type": "prelu" 778 | }, 779 | "inputs": [] 780 | }, 781 | { 782 | "op": "LeakyReLU", 783 | "name": "res_3_block1_conv_sep_relu", 784 | "attrs": {"act_type": "prelu"}, 785 | "inputs": [[78, 0, 0], [79, 0, 0]] 786 | }, 787 | { 788 | "op": "null", 789 | "name": "res_3_block1_conv_dw_conv2d_weight", 790 | "attrs": { 791 | "kernel": "(3, 3)", 792 | "no_bias": "True", 793 | "num_filter": "128", 794 | "num_group": "128", 795 | "pad": "(1, 1)", 796 | "stride": "(1, 1)" 797 | }, 798 | "inputs": [] 799 | }, 800 | { 801 | "op": "Convolution", 802 | "name": "res_3_block1_conv_dw_conv2d", 803 | "attrs": { 804 | "kernel": "(3, 3)", 805 | "no_bias": "True", 806 | "num_filter": "128", 807 | "num_group": "128", 808 | "pad": "(1, 1)", 809 | "stride": "(1, 1)" 810 | }, 811 | "inputs": [[80, 0, 0], [81, 0, 0]] 812 | }, 813 | { 814 | "op": "null", 815 | "name": "res_3_block1_conv_dw_batchnorm_gamma", 816 | "attrs": { 817 | "fix_gamma": "False", 818 | "momentum": "0.9" 819 | }, 820 | "inputs": [] 821 | }, 822 | { 823 | "op": "null", 824 | "name": "res_3_block1_conv_dw_batchnorm_beta", 825 | "attrs": { 826 | "fix_gamma": "False", 827 | "momentum": "0.9" 828 | }, 829 | "inputs": [] 830 | }, 831 | { 832 | "op": "null", 833 | "name": "res_3_block1_conv_dw_batchnorm_moving_mean", 834 | "attrs": { 835 | "__init__": "[\"zero\", {}]", 836 | "fix_gamma": "False", 837 | "momentum": "0.9" 838 | }, 839 | "inputs": [] 840 | }, 841 | { 842 | "op": "null", 843 | "name": "res_3_block1_conv_dw_batchnorm_moving_var", 844 | "attrs": { 845 | "__init__": "[\"one\", {}]", 846 | "fix_gamma": "False", 847 | "momentum": "0.9" 848 | }, 849 | "inputs": [] 850 | }, 851 | { 852 | "op": "BatchNorm", 853 | "name": "res_3_block1_conv_dw_batchnorm", 854 | "attrs": { 855 | "fix_gamma": "False", 856 | "momentum": "0.9" 857 | }, 858 | "inputs": [[82, 0, 0], [83, 0, 0], [84, 0, 0], [85, 0, 1], [86, 0, 1]] 859 | }, 860 | { 861 | "op": "null", 862 | "name": "res_3_block1_conv_dw_relu_gamma", 863 | "attrs": { 864 | "__init__": "[\"Constant\", {\"value\": 0.25}]", 865 | "act_type": "prelu" 866 | }, 867 | "inputs": [] 868 | }, 869 | { 870 | "op": "LeakyReLU", 871 | "name": "res_3_block1_conv_dw_relu", 872 | "attrs": {"act_type": "prelu"}, 873 | "inputs": [[87, 0, 0], [88, 0, 0]] 874 | }, 875 | { 876 | "op": "null", 877 | "name": "res_3_block1_conv_proj_conv2d_weight", 878 | "attrs": { 879 | "kernel": "(1, 1)", 880 | "no_bias": "True", 881 | "num_filter": "64", 882 | "num_group": "1", 883 | "pad": "(0, 0)", 884 | "stride": "(1, 1)" 885 | }, 886 | "inputs": [] 887 | }, 888 | { 889 | "op": "Convolution", 890 | "name": "res_3_block1_conv_proj_conv2d", 891 | "attrs": { 892 | "kernel": "(1, 1)", 893 | "no_bias": "True", 894 | "num_filter": "64", 895 | "num_group": "1", 896 | "pad": "(0, 0)", 897 | "stride": "(1, 1)" 898 | }, 899 | "inputs": [[89, 0, 0], [90, 0, 0]] 900 | }, 901 | { 902 | "op": "null", 903 | "name": "res_3_block1_conv_proj_batchnorm_gamma", 904 | "attrs": { 905 | "fix_gamma": "False", 906 | "momentum": "0.9" 907 | }, 908 | "inputs": [] 909 | }, 910 | { 911 | "op": "null", 912 | "name": "res_3_block1_conv_proj_batchnorm_beta", 913 | "attrs": { 914 | "fix_gamma": "False", 915 | "momentum": "0.9" 916 | }, 917 | "inputs": [] 918 | }, 919 | { 920 | "op": "null", 921 | "name": "res_3_block1_conv_proj_batchnorm_moving_mean", 922 | "attrs": { 923 | "__init__": "[\"zero\", {}]", 924 | "fix_gamma": "False", 925 | "momentum": "0.9" 926 | }, 927 | "inputs": [] 928 | }, 929 | { 930 | "op": "null", 931 | "name": "res_3_block1_conv_proj_batchnorm_moving_var", 932 | "attrs": { 933 | "__init__": "[\"one\", {}]", 934 | "fix_gamma": "False", 935 | "momentum": "0.9" 936 | }, 937 | "inputs": [] 938 | }, 939 | { 940 | "op": "BatchNorm", 941 | "name": "res_3_block1_conv_proj_batchnorm", 942 | "attrs": { 943 | "fix_gamma": "False", 944 | "momentum": "0.9" 945 | }, 946 | "inputs": [[91, 0, 0], [92, 0, 0], [93, 0, 0], [94, 0, 1], [95, 0, 1]] 947 | }, 948 | { 949 | "op": "elemwise_add", 950 | "name": "_plus1", 951 | "inputs": [[96, 0, 0], [71, 0, 0]] 952 | }, 953 | { 954 | "op": "null", 955 | "name": "res_3_block2_conv_sep_conv2d_weight", 956 | "attrs": { 957 | "kernel": "(1, 1)", 958 | "no_bias": "True", 959 | "num_filter": "128", 960 | "num_group": "1", 961 | "pad": "(0, 0)", 962 | "stride": "(1, 1)" 963 | }, 964 | "inputs": [] 965 | }, 966 | { 967 | "op": "Convolution", 968 | "name": "res_3_block2_conv_sep_conv2d", 969 | "attrs": { 970 | "kernel": "(1, 1)", 971 | "no_bias": "True", 972 | "num_filter": "128", 973 | "num_group": "1", 974 | "pad": "(0, 0)", 975 | "stride": "(1, 1)" 976 | }, 977 | "inputs": [[97, 0, 0], [98, 0, 0]] 978 | }, 979 | { 980 | "op": "null", 981 | "name": "res_3_block2_conv_sep_batchnorm_gamma", 982 | "attrs": { 983 | "fix_gamma": "False", 984 | "momentum": "0.9" 985 | }, 986 | "inputs": [] 987 | }, 988 | { 989 | "op": "null", 990 | "name": "res_3_block2_conv_sep_batchnorm_beta", 991 | "attrs": { 992 | "fix_gamma": "False", 993 | "momentum": "0.9" 994 | }, 995 | "inputs": [] 996 | }, 997 | { 998 | "op": "null", 999 | "name": "res_3_block2_conv_sep_batchnorm_moving_mean", 1000 | "attrs": { 1001 | "__init__": "[\"zero\", {}]", 1002 | "fix_gamma": "False", 1003 | "momentum": "0.9" 1004 | }, 1005 | "inputs": [] 1006 | }, 1007 | { 1008 | "op": "null", 1009 | "name": "res_3_block2_conv_sep_batchnorm_moving_var", 1010 | "attrs": { 1011 | "__init__": "[\"one\", {}]", 1012 | "fix_gamma": "False", 1013 | "momentum": "0.9" 1014 | }, 1015 | "inputs": [] 1016 | }, 1017 | { 1018 | "op": "BatchNorm", 1019 | "name": "res_3_block2_conv_sep_batchnorm", 1020 | "attrs": { 1021 | "fix_gamma": "False", 1022 | "momentum": "0.9" 1023 | }, 1024 | "inputs": [[99, 0, 0], [100, 0, 0], [101, 0, 0], [102, 0, 1], [103, 0, 1]] 1025 | }, 1026 | { 1027 | "op": "null", 1028 | "name": "res_3_block2_conv_sep_relu_gamma", 1029 | "attrs": { 1030 | "__init__": "[\"Constant\", {\"value\": 0.25}]", 1031 | "act_type": "prelu" 1032 | }, 1033 | "inputs": [] 1034 | }, 1035 | { 1036 | "op": "LeakyReLU", 1037 | "name": "res_3_block2_conv_sep_relu", 1038 | "attrs": {"act_type": "prelu"}, 1039 | "inputs": [[104, 0, 0], [105, 0, 0]] 1040 | }, 1041 | { 1042 | "op": "null", 1043 | "name": "res_3_block2_conv_dw_conv2d_weight", 1044 | "attrs": { 1045 | "kernel": "(3, 3)", 1046 | "no_bias": "True", 1047 | "num_filter": "128", 1048 | "num_group": "128", 1049 | "pad": "(1, 1)", 1050 | "stride": "(1, 1)" 1051 | }, 1052 | "inputs": [] 1053 | }, 1054 | { 1055 | "op": "Convolution", 1056 | "name": "res_3_block2_conv_dw_conv2d", 1057 | "attrs": { 1058 | "kernel": "(3, 3)", 1059 | "no_bias": "True", 1060 | "num_filter": "128", 1061 | "num_group": "128", 1062 | "pad": "(1, 1)", 1063 | "stride": "(1, 1)" 1064 | }, 1065 | "inputs": [[106, 0, 0], [107, 0, 0]] 1066 | }, 1067 | { 1068 | "op": "null", 1069 | "name": "res_3_block2_conv_dw_batchnorm_gamma", 1070 | "attrs": { 1071 | "fix_gamma": "False", 1072 | "momentum": "0.9" 1073 | }, 1074 | "inputs": [] 1075 | }, 1076 | { 1077 | "op": "null", 1078 | "name": "res_3_block2_conv_dw_batchnorm_beta", 1079 | "attrs": { 1080 | "fix_gamma": "False", 1081 | "momentum": "0.9" 1082 | }, 1083 | "inputs": [] 1084 | }, 1085 | { 1086 | "op": "null", 1087 | "name": "res_3_block2_conv_dw_batchnorm_moving_mean", 1088 | "attrs": { 1089 | "__init__": "[\"zero\", {}]", 1090 | "fix_gamma": "False", 1091 | "momentum": "0.9" 1092 | }, 1093 | "inputs": [] 1094 | }, 1095 | { 1096 | "op": "null", 1097 | "name": "res_3_block2_conv_dw_batchnorm_moving_var", 1098 | "attrs": { 1099 | "__init__": "[\"one\", {}]", 1100 | "fix_gamma": "False", 1101 | "momentum": "0.9" 1102 | }, 1103 | "inputs": [] 1104 | }, 1105 | { 1106 | "op": "BatchNorm", 1107 | "name": "res_3_block2_conv_dw_batchnorm", 1108 | "attrs": { 1109 | "fix_gamma": "False", 1110 | "momentum": "0.9" 1111 | }, 1112 | "inputs": [[108, 0, 0], [109, 0, 0], [110, 0, 0], [111, 0, 1], [112, 0, 1]] 1113 | }, 1114 | { 1115 | "op": "null", 1116 | "name": "res_3_block2_conv_dw_relu_gamma", 1117 | "attrs": { 1118 | "__init__": "[\"Constant\", {\"value\": 0.25}]", 1119 | "act_type": "prelu" 1120 | }, 1121 | "inputs": [] 1122 | }, 1123 | { 1124 | "op": "LeakyReLU", 1125 | "name": "res_3_block2_conv_dw_relu", 1126 | "attrs": {"act_type": "prelu"}, 1127 | "inputs": [[113, 0, 0], [114, 0, 0]] 1128 | }, 1129 | { 1130 | "op": "null", 1131 | "name": "res_3_block2_conv_proj_conv2d_weight", 1132 | "attrs": { 1133 | "kernel": "(1, 1)", 1134 | "no_bias": "True", 1135 | "num_filter": "64", 1136 | "num_group": "1", 1137 | "pad": "(0, 0)", 1138 | "stride": "(1, 1)" 1139 | }, 1140 | "inputs": [] 1141 | }, 1142 | { 1143 | "op": "Convolution", 1144 | "name": "res_3_block2_conv_proj_conv2d", 1145 | "attrs": { 1146 | "kernel": "(1, 1)", 1147 | "no_bias": "True", 1148 | "num_filter": "64", 1149 | "num_group": "1", 1150 | "pad": "(0, 0)", 1151 | "stride": "(1, 1)" 1152 | }, 1153 | "inputs": [[115, 0, 0], [116, 0, 0]] 1154 | }, 1155 | { 1156 | "op": "null", 1157 | "name": "res_3_block2_conv_proj_batchnorm_gamma", 1158 | "attrs": { 1159 | "fix_gamma": "False", 1160 | "momentum": "0.9" 1161 | }, 1162 | "inputs": [] 1163 | }, 1164 | { 1165 | "op": "null", 1166 | "name": "res_3_block2_conv_proj_batchnorm_beta", 1167 | "attrs": { 1168 | "fix_gamma": "False", 1169 | "momentum": "0.9" 1170 | }, 1171 | "inputs": [] 1172 | }, 1173 | { 1174 | "op": "null", 1175 | "name": "res_3_block2_conv_proj_batchnorm_moving_mean", 1176 | "attrs": { 1177 | "__init__": "[\"zero\", {}]", 1178 | "fix_gamma": "False", 1179 | "momentum": "0.9" 1180 | }, 1181 | "inputs": [] 1182 | }, 1183 | { 1184 | "op": "null", 1185 | "name": "res_3_block2_conv_proj_batchnorm_moving_var", 1186 | "attrs": { 1187 | "__init__": "[\"one\", {}]", 1188 | "fix_gamma": "False", 1189 | "momentum": "0.9" 1190 | }, 1191 | "inputs": [] 1192 | }, 1193 | { 1194 | "op": "BatchNorm", 1195 | "name": "res_3_block2_conv_proj_batchnorm", 1196 | "attrs": { 1197 | "fix_gamma": "False", 1198 | "momentum": "0.9" 1199 | }, 1200 | "inputs": [[117, 0, 0], [118, 0, 0], [119, 0, 0], [120, 0, 1], [121, 0, 1]] 1201 | }, 1202 | { 1203 | "op": "elemwise_add", 1204 | "name": "_plus2", 1205 | "inputs": [[122, 0, 0], [97, 0, 0]] 1206 | }, 1207 | { 1208 | "op": "null", 1209 | "name": "res_3_block3_conv_sep_conv2d_weight", 1210 | "attrs": { 1211 | "kernel": "(1, 1)", 1212 | "no_bias": "True", 1213 | "num_filter": "128", 1214 | "num_group": "1", 1215 | "pad": "(0, 0)", 1216 | "stride": "(1, 1)" 1217 | }, 1218 | "inputs": [] 1219 | }, 1220 | { 1221 | "op": "Convolution", 1222 | "name": "res_3_block3_conv_sep_conv2d", 1223 | "attrs": { 1224 | "kernel": "(1, 1)", 1225 | "no_bias": "True", 1226 | "num_filter": "128", 1227 | "num_group": "1", 1228 | "pad": "(0, 0)", 1229 | "stride": "(1, 1)" 1230 | }, 1231 | "inputs": [[123, 0, 0], [124, 0, 0]] 1232 | }, 1233 | { 1234 | "op": "null", 1235 | "name": "res_3_block3_conv_sep_batchnorm_gamma", 1236 | "attrs": { 1237 | "fix_gamma": "False", 1238 | "momentum": "0.9" 1239 | }, 1240 | "inputs": [] 1241 | }, 1242 | { 1243 | "op": "null", 1244 | "name": "res_3_block3_conv_sep_batchnorm_beta", 1245 | "attrs": { 1246 | "fix_gamma": "False", 1247 | "momentum": "0.9" 1248 | }, 1249 | "inputs": [] 1250 | }, 1251 | { 1252 | "op": "null", 1253 | "name": "res_3_block3_conv_sep_batchnorm_moving_mean", 1254 | "attrs": { 1255 | "__init__": "[\"zero\", {}]", 1256 | "fix_gamma": "False", 1257 | "momentum": "0.9" 1258 | }, 1259 | "inputs": [] 1260 | }, 1261 | { 1262 | "op": "null", 1263 | "name": "res_3_block3_conv_sep_batchnorm_moving_var", 1264 | "attrs": { 1265 | "__init__": "[\"one\", {}]", 1266 | "fix_gamma": "False", 1267 | "momentum": "0.9" 1268 | }, 1269 | "inputs": [] 1270 | }, 1271 | { 1272 | "op": "BatchNorm", 1273 | "name": "res_3_block3_conv_sep_batchnorm", 1274 | "attrs": { 1275 | "fix_gamma": "False", 1276 | "momentum": "0.9" 1277 | }, 1278 | "inputs": [[125, 0, 0], [126, 0, 0], [127, 0, 0], [128, 0, 1], [129, 0, 1]] 1279 | }, 1280 | { 1281 | "op": "null", 1282 | "name": "res_3_block3_conv_sep_relu_gamma", 1283 | "attrs": { 1284 | "__init__": "[\"Constant\", {\"value\": 0.25}]", 1285 | "act_type": "prelu" 1286 | }, 1287 | "inputs": [] 1288 | }, 1289 | { 1290 | "op": "LeakyReLU", 1291 | "name": "res_3_block3_conv_sep_relu", 1292 | "attrs": {"act_type": "prelu"}, 1293 | "inputs": [[130, 0, 0], [131, 0, 0]] 1294 | }, 1295 | { 1296 | "op": "null", 1297 | "name": "res_3_block3_conv_dw_conv2d_weight", 1298 | "attrs": { 1299 | "kernel": "(3, 3)", 1300 | "no_bias": "True", 1301 | "num_filter": "128", 1302 | "num_group": "128", 1303 | "pad": "(1, 1)", 1304 | "stride": "(1, 1)" 1305 | }, 1306 | "inputs": [] 1307 | }, 1308 | { 1309 | "op": "Convolution", 1310 | "name": "res_3_block3_conv_dw_conv2d", 1311 | "attrs": { 1312 | "kernel": "(3, 3)", 1313 | "no_bias": "True", 1314 | "num_filter": "128", 1315 | "num_group": "128", 1316 | "pad": "(1, 1)", 1317 | "stride": "(1, 1)" 1318 | }, 1319 | "inputs": [[132, 0, 0], [133, 0, 0]] 1320 | }, 1321 | { 1322 | "op": "null", 1323 | "name": "res_3_block3_conv_dw_batchnorm_gamma", 1324 | "attrs": { 1325 | "fix_gamma": "False", 1326 | "momentum": "0.9" 1327 | }, 1328 | "inputs": [] 1329 | }, 1330 | { 1331 | "op": "null", 1332 | "name": "res_3_block3_conv_dw_batchnorm_beta", 1333 | "attrs": { 1334 | "fix_gamma": "False", 1335 | "momentum": "0.9" 1336 | }, 1337 | "inputs": [] 1338 | }, 1339 | { 1340 | "op": "null", 1341 | "name": "res_3_block3_conv_dw_batchnorm_moving_mean", 1342 | "attrs": { 1343 | "__init__": "[\"zero\", {}]", 1344 | "fix_gamma": "False", 1345 | "momentum": "0.9" 1346 | }, 1347 | "inputs": [] 1348 | }, 1349 | { 1350 | "op": "null", 1351 | "name": "res_3_block3_conv_dw_batchnorm_moving_var", 1352 | "attrs": { 1353 | "__init__": "[\"one\", {}]", 1354 | "fix_gamma": "False", 1355 | "momentum": "0.9" 1356 | }, 1357 | "inputs": [] 1358 | }, 1359 | { 1360 | "op": "BatchNorm", 1361 | "name": "res_3_block3_conv_dw_batchnorm", 1362 | "attrs": { 1363 | "fix_gamma": "False", 1364 | "momentum": "0.9" 1365 | }, 1366 | "inputs": [[134, 0, 0], [135, 0, 0], [136, 0, 0], [137, 0, 1], [138, 0, 1]] 1367 | }, 1368 | { 1369 | "op": "null", 1370 | "name": "res_3_block3_conv_dw_relu_gamma", 1371 | "attrs": { 1372 | "__init__": "[\"Constant\", {\"value\": 0.25}]", 1373 | "act_type": "prelu" 1374 | }, 1375 | "inputs": [] 1376 | }, 1377 | { 1378 | "op": "LeakyReLU", 1379 | "name": "res_3_block3_conv_dw_relu", 1380 | "attrs": {"act_type": "prelu"}, 1381 | "inputs": [[139, 0, 0], [140, 0, 0]] 1382 | }, 1383 | { 1384 | "op": "null", 1385 | "name": "res_3_block3_conv_proj_conv2d_weight", 1386 | "attrs": { 1387 | "kernel": "(1, 1)", 1388 | "no_bias": "True", 1389 | "num_filter": "64", 1390 | "num_group": "1", 1391 | "pad": "(0, 0)", 1392 | "stride": "(1, 1)" 1393 | }, 1394 | "inputs": [] 1395 | }, 1396 | { 1397 | "op": "Convolution", 1398 | "name": "res_3_block3_conv_proj_conv2d", 1399 | "attrs": { 1400 | "kernel": "(1, 1)", 1401 | "no_bias": "True", 1402 | "num_filter": "64", 1403 | "num_group": "1", 1404 | "pad": "(0, 0)", 1405 | "stride": "(1, 1)" 1406 | }, 1407 | "inputs": [[141, 0, 0], [142, 0, 0]] 1408 | }, 1409 | { 1410 | "op": "null", 1411 | "name": "res_3_block3_conv_proj_batchnorm_gamma", 1412 | "attrs": { 1413 | "fix_gamma": "False", 1414 | "momentum": "0.9" 1415 | }, 1416 | "inputs": [] 1417 | }, 1418 | { 1419 | "op": "null", 1420 | "name": "res_3_block3_conv_proj_batchnorm_beta", 1421 | "attrs": { 1422 | "fix_gamma": "False", 1423 | "momentum": "0.9" 1424 | }, 1425 | "inputs": [] 1426 | }, 1427 | { 1428 | "op": "null", 1429 | "name": "res_3_block3_conv_proj_batchnorm_moving_mean", 1430 | "attrs": { 1431 | "__init__": "[\"zero\", {}]", 1432 | "fix_gamma": "False", 1433 | "momentum": "0.9" 1434 | }, 1435 | "inputs": [] 1436 | }, 1437 | { 1438 | "op": "null", 1439 | "name": "res_3_block3_conv_proj_batchnorm_moving_var", 1440 | "attrs": { 1441 | "__init__": "[\"one\", {}]", 1442 | "fix_gamma": "False", 1443 | "momentum": "0.9" 1444 | }, 1445 | "inputs": [] 1446 | }, 1447 | { 1448 | "op": "BatchNorm", 1449 | "name": "res_3_block3_conv_proj_batchnorm", 1450 | "attrs": { 1451 | "fix_gamma": "False", 1452 | "momentum": "0.9" 1453 | }, 1454 | "inputs": [[143, 0, 0], [144, 0, 0], [145, 0, 0], [146, 0, 1], [147, 0, 1]] 1455 | }, 1456 | { 1457 | "op": "elemwise_add", 1458 | "name": "_plus3", 1459 | "inputs": [[148, 0, 0], [123, 0, 0]] 1460 | }, 1461 | { 1462 | "op": "null", 1463 | "name": "dconv_34_conv_sep_conv2d_weight", 1464 | "attrs": { 1465 | "kernel": "(1, 1)", 1466 | "no_bias": "True", 1467 | "num_filter": "256", 1468 | "num_group": "1", 1469 | "pad": "(0, 0)", 1470 | "stride": "(1, 1)" 1471 | }, 1472 | "inputs": [] 1473 | }, 1474 | { 1475 | "op": "Convolution", 1476 | "name": "dconv_34_conv_sep_conv2d", 1477 | "attrs": { 1478 | "kernel": "(1, 1)", 1479 | "no_bias": "True", 1480 | "num_filter": "256", 1481 | "num_group": "1", 1482 | "pad": "(0, 0)", 1483 | "stride": "(1, 1)" 1484 | }, 1485 | "inputs": [[149, 0, 0], [150, 0, 0]] 1486 | }, 1487 | { 1488 | "op": "null", 1489 | "name": "dconv_34_conv_sep_batchnorm_gamma", 1490 | "attrs": { 1491 | "fix_gamma": "False", 1492 | "momentum": "0.9" 1493 | }, 1494 | "inputs": [] 1495 | }, 1496 | { 1497 | "op": "null", 1498 | "name": "dconv_34_conv_sep_batchnorm_beta", 1499 | "attrs": { 1500 | "fix_gamma": "False", 1501 | "momentum": "0.9" 1502 | }, 1503 | "inputs": [] 1504 | }, 1505 | { 1506 | "op": "null", 1507 | "name": "dconv_34_conv_sep_batchnorm_moving_mean", 1508 | "attrs": { 1509 | "__init__": "[\"zero\", {}]", 1510 | "fix_gamma": "False", 1511 | "momentum": "0.9" 1512 | }, 1513 | "inputs": [] 1514 | }, 1515 | { 1516 | "op": "null", 1517 | "name": "dconv_34_conv_sep_batchnorm_moving_var", 1518 | "attrs": { 1519 | "__init__": "[\"one\", {}]", 1520 | "fix_gamma": "False", 1521 | "momentum": "0.9" 1522 | }, 1523 | "inputs": [] 1524 | }, 1525 | { 1526 | "op": "BatchNorm", 1527 | "name": "dconv_34_conv_sep_batchnorm", 1528 | "attrs": { 1529 | "fix_gamma": "False", 1530 | "momentum": "0.9" 1531 | }, 1532 | "inputs": [[151, 0, 0], [152, 0, 0], [153, 0, 0], [154, 0, 1], [155, 0, 1]] 1533 | }, 1534 | { 1535 | "op": "null", 1536 | "name": "dconv_34_conv_sep_relu_gamma", 1537 | "attrs": { 1538 | "__init__": "[\"Constant\", {\"value\": 0.25}]", 1539 | "act_type": "prelu" 1540 | }, 1541 | "inputs": [] 1542 | }, 1543 | { 1544 | "op": "LeakyReLU", 1545 | "name": "dconv_34_conv_sep_relu", 1546 | "attrs": {"act_type": "prelu"}, 1547 | "inputs": [[156, 0, 0], [157, 0, 0]] 1548 | }, 1549 | { 1550 | "op": "null", 1551 | "name": "dconv_34_conv_dw_conv2d_weight", 1552 | "attrs": { 1553 | "kernel": "(3, 3)", 1554 | "no_bias": "True", 1555 | "num_filter": "256", 1556 | "num_group": "256", 1557 | "pad": "(1, 1)", 1558 | "stride": "(2, 2)" 1559 | }, 1560 | "inputs": [] 1561 | }, 1562 | { 1563 | "op": "Convolution", 1564 | "name": "dconv_34_conv_dw_conv2d", 1565 | "attrs": { 1566 | "kernel": "(3, 3)", 1567 | "no_bias": "True", 1568 | "num_filter": "256", 1569 | "num_group": "256", 1570 | "pad": "(1, 1)", 1571 | "stride": "(2, 2)" 1572 | }, 1573 | "inputs": [[158, 0, 0], [159, 0, 0]] 1574 | }, 1575 | { 1576 | "op": "null", 1577 | "name": "dconv_34_conv_dw_batchnorm_gamma", 1578 | "attrs": { 1579 | "fix_gamma": "False", 1580 | "momentum": "0.9" 1581 | }, 1582 | "inputs": [] 1583 | }, 1584 | { 1585 | "op": "null", 1586 | "name": "dconv_34_conv_dw_batchnorm_beta", 1587 | "attrs": { 1588 | "fix_gamma": "False", 1589 | "momentum": "0.9" 1590 | }, 1591 | "inputs": [] 1592 | }, 1593 | { 1594 | "op": "null", 1595 | "name": "dconv_34_conv_dw_batchnorm_moving_mean", 1596 | "attrs": { 1597 | "__init__": "[\"zero\", {}]", 1598 | "fix_gamma": "False", 1599 | "momentum": "0.9" 1600 | }, 1601 | "inputs": [] 1602 | }, 1603 | { 1604 | "op": "null", 1605 | "name": "dconv_34_conv_dw_batchnorm_moving_var", 1606 | "attrs": { 1607 | "__init__": "[\"one\", {}]", 1608 | "fix_gamma": "False", 1609 | "momentum": "0.9" 1610 | }, 1611 | "inputs": [] 1612 | }, 1613 | { 1614 | "op": "BatchNorm", 1615 | "name": "dconv_34_conv_dw_batchnorm", 1616 | "attrs": { 1617 | "fix_gamma": "False", 1618 | "momentum": "0.9" 1619 | }, 1620 | "inputs": [[160, 0, 0], [161, 0, 0], [162, 0, 0], [163, 0, 1], [164, 0, 1]] 1621 | }, 1622 | { 1623 | "op": "null", 1624 | "name": "dconv_34_conv_dw_relu_gamma", 1625 | "attrs": { 1626 | "__init__": "[\"Constant\", {\"value\": 0.25}]", 1627 | "act_type": "prelu" 1628 | }, 1629 | "inputs": [] 1630 | }, 1631 | { 1632 | "op": "LeakyReLU", 1633 | "name": "dconv_34_conv_dw_relu", 1634 | "attrs": {"act_type": "prelu"}, 1635 | "inputs": [[165, 0, 0], [166, 0, 0]] 1636 | }, 1637 | { 1638 | "op": "null", 1639 | "name": "dconv_34_conv_proj_conv2d_weight", 1640 | "attrs": { 1641 | "kernel": "(1, 1)", 1642 | "no_bias": "True", 1643 | "num_filter": "128", 1644 | "num_group": "1", 1645 | "pad": "(0, 0)", 1646 | "stride": "(1, 1)" 1647 | }, 1648 | "inputs": [] 1649 | }, 1650 | { 1651 | "op": "Convolution", 1652 | "name": "dconv_34_conv_proj_conv2d", 1653 | "attrs": { 1654 | "kernel": "(1, 1)", 1655 | "no_bias": "True", 1656 | "num_filter": "128", 1657 | "num_group": "1", 1658 | "pad": "(0, 0)", 1659 | "stride": "(1, 1)" 1660 | }, 1661 | "inputs": [[167, 0, 0], [168, 0, 0]] 1662 | }, 1663 | { 1664 | "op": "null", 1665 | "name": "dconv_34_conv_proj_batchnorm_gamma", 1666 | "attrs": { 1667 | "fix_gamma": "False", 1668 | "momentum": "0.9" 1669 | }, 1670 | "inputs": [] 1671 | }, 1672 | { 1673 | "op": "null", 1674 | "name": "dconv_34_conv_proj_batchnorm_beta", 1675 | "attrs": { 1676 | "fix_gamma": "False", 1677 | "momentum": "0.9" 1678 | }, 1679 | "inputs": [] 1680 | }, 1681 | { 1682 | "op": "null", 1683 | "name": "dconv_34_conv_proj_batchnorm_moving_mean", 1684 | "attrs": { 1685 | "__init__": "[\"zero\", {}]", 1686 | "fix_gamma": "False", 1687 | "momentum": "0.9" 1688 | }, 1689 | "inputs": [] 1690 | }, 1691 | { 1692 | "op": "null", 1693 | "name": "dconv_34_conv_proj_batchnorm_moving_var", 1694 | "attrs": { 1695 | "__init__": "[\"one\", {}]", 1696 | "fix_gamma": "False", 1697 | "momentum": "0.9" 1698 | }, 1699 | "inputs": [] 1700 | }, 1701 | { 1702 | "op": "BatchNorm", 1703 | "name": "dconv_34_conv_proj_batchnorm", 1704 | "attrs": { 1705 | "fix_gamma": "False", 1706 | "momentum": "0.9" 1707 | }, 1708 | "inputs": [[169, 0, 0], [170, 0, 0], [171, 0, 0], [172, 0, 1], [173, 0, 1]] 1709 | }, 1710 | { 1711 | "op": "null", 1712 | "name": "res_4_block0_conv_sep_conv2d_weight", 1713 | "attrs": { 1714 | "kernel": "(1, 1)", 1715 | "no_bias": "True", 1716 | "num_filter": "256", 1717 | "num_group": "1", 1718 | "pad": "(0, 0)", 1719 | "stride": "(1, 1)" 1720 | }, 1721 | "inputs": [] 1722 | }, 1723 | { 1724 | "op": "Convolution", 1725 | "name": "res_4_block0_conv_sep_conv2d", 1726 | "attrs": { 1727 | "kernel": "(1, 1)", 1728 | "no_bias": "True", 1729 | "num_filter": "256", 1730 | "num_group": "1", 1731 | "pad": "(0, 0)", 1732 | "stride": "(1, 1)" 1733 | }, 1734 | "inputs": [[174, 0, 0], [175, 0, 0]] 1735 | }, 1736 | { 1737 | "op": "null", 1738 | "name": "res_4_block0_conv_sep_batchnorm_gamma", 1739 | "attrs": { 1740 | "fix_gamma": "False", 1741 | "momentum": "0.9" 1742 | }, 1743 | "inputs": [] 1744 | }, 1745 | { 1746 | "op": "null", 1747 | "name": "res_4_block0_conv_sep_batchnorm_beta", 1748 | "attrs": { 1749 | "fix_gamma": "False", 1750 | "momentum": "0.9" 1751 | }, 1752 | "inputs": [] 1753 | }, 1754 | { 1755 | "op": "null", 1756 | "name": "res_4_block0_conv_sep_batchnorm_moving_mean", 1757 | "attrs": { 1758 | "__init__": "[\"zero\", {}]", 1759 | "fix_gamma": "False", 1760 | "momentum": "0.9" 1761 | }, 1762 | "inputs": [] 1763 | }, 1764 | { 1765 | "op": "null", 1766 | "name": "res_4_block0_conv_sep_batchnorm_moving_var", 1767 | "attrs": { 1768 | "__init__": "[\"one\", {}]", 1769 | "fix_gamma": "False", 1770 | "momentum": "0.9" 1771 | }, 1772 | "inputs": [] 1773 | }, 1774 | { 1775 | "op": "BatchNorm", 1776 | "name": "res_4_block0_conv_sep_batchnorm", 1777 | "attrs": { 1778 | "fix_gamma": "False", 1779 | "momentum": "0.9" 1780 | }, 1781 | "inputs": [[176, 0, 0], [177, 0, 0], [178, 0, 0], [179, 0, 1], [180, 0, 1]] 1782 | }, 1783 | { 1784 | "op": "null", 1785 | "name": "res_4_block0_conv_sep_relu_gamma", 1786 | "attrs": { 1787 | "__init__": "[\"Constant\", {\"value\": 0.25}]", 1788 | "act_type": "prelu" 1789 | }, 1790 | "inputs": [] 1791 | }, 1792 | { 1793 | "op": "LeakyReLU", 1794 | "name": "res_4_block0_conv_sep_relu", 1795 | "attrs": {"act_type": "prelu"}, 1796 | "inputs": [[181, 0, 0], [182, 0, 0]] 1797 | }, 1798 | { 1799 | "op": "null", 1800 | "name": "res_4_block0_conv_dw_conv2d_weight", 1801 | "attrs": { 1802 | "kernel": "(3, 3)", 1803 | "no_bias": "True", 1804 | "num_filter": "256", 1805 | "num_group": "256", 1806 | "pad": "(1, 1)", 1807 | "stride": "(1, 1)" 1808 | }, 1809 | "inputs": [] 1810 | }, 1811 | { 1812 | "op": "Convolution", 1813 | "name": "res_4_block0_conv_dw_conv2d", 1814 | "attrs": { 1815 | "kernel": "(3, 3)", 1816 | "no_bias": "True", 1817 | "num_filter": "256", 1818 | "num_group": "256", 1819 | "pad": "(1, 1)", 1820 | "stride": "(1, 1)" 1821 | }, 1822 | "inputs": [[183, 0, 0], [184, 0, 0]] 1823 | }, 1824 | { 1825 | "op": "null", 1826 | "name": "res_4_block0_conv_dw_batchnorm_gamma", 1827 | "attrs": { 1828 | "fix_gamma": "False", 1829 | "momentum": "0.9" 1830 | }, 1831 | "inputs": [] 1832 | }, 1833 | { 1834 | "op": "null", 1835 | "name": "res_4_block0_conv_dw_batchnorm_beta", 1836 | "attrs": { 1837 | "fix_gamma": "False", 1838 | "momentum": "0.9" 1839 | }, 1840 | "inputs": [] 1841 | }, 1842 | { 1843 | "op": "null", 1844 | "name": "res_4_block0_conv_dw_batchnorm_moving_mean", 1845 | "attrs": { 1846 | "__init__": "[\"zero\", {}]", 1847 | "fix_gamma": "False", 1848 | "momentum": "0.9" 1849 | }, 1850 | "inputs": [] 1851 | }, 1852 | { 1853 | "op": "null", 1854 | "name": "res_4_block0_conv_dw_batchnorm_moving_var", 1855 | "attrs": { 1856 | "__init__": "[\"one\", {}]", 1857 | "fix_gamma": "False", 1858 | "momentum": "0.9" 1859 | }, 1860 | "inputs": [] 1861 | }, 1862 | { 1863 | "op": "BatchNorm", 1864 | "name": "res_4_block0_conv_dw_batchnorm", 1865 | "attrs": { 1866 | "fix_gamma": "False", 1867 | "momentum": "0.9" 1868 | }, 1869 | "inputs": [[185, 0, 0], [186, 0, 0], [187, 0, 0], [188, 0, 1], [189, 0, 1]] 1870 | }, 1871 | { 1872 | "op": "null", 1873 | "name": "res_4_block0_conv_dw_relu_gamma", 1874 | "attrs": { 1875 | "__init__": "[\"Constant\", {\"value\": 0.25}]", 1876 | "act_type": "prelu" 1877 | }, 1878 | "inputs": [] 1879 | }, 1880 | { 1881 | "op": "LeakyReLU", 1882 | "name": "res_4_block0_conv_dw_relu", 1883 | "attrs": {"act_type": "prelu"}, 1884 | "inputs": [[190, 0, 0], [191, 0, 0]] 1885 | }, 1886 | { 1887 | "op": "null", 1888 | "name": "res_4_block0_conv_proj_conv2d_weight", 1889 | "attrs": { 1890 | "kernel": "(1, 1)", 1891 | "no_bias": "True", 1892 | "num_filter": "128", 1893 | "num_group": "1", 1894 | "pad": "(0, 0)", 1895 | "stride": "(1, 1)" 1896 | }, 1897 | "inputs": [] 1898 | }, 1899 | { 1900 | "op": "Convolution", 1901 | "name": "res_4_block0_conv_proj_conv2d", 1902 | "attrs": { 1903 | "kernel": "(1, 1)", 1904 | "no_bias": "True", 1905 | "num_filter": "128", 1906 | "num_group": "1", 1907 | "pad": "(0, 0)", 1908 | "stride": "(1, 1)" 1909 | }, 1910 | "inputs": [[192, 0, 0], [193, 0, 0]] 1911 | }, 1912 | { 1913 | "op": "null", 1914 | "name": "res_4_block0_conv_proj_batchnorm_gamma", 1915 | "attrs": { 1916 | "fix_gamma": "False", 1917 | "momentum": "0.9" 1918 | }, 1919 | "inputs": [] 1920 | }, 1921 | { 1922 | "op": "null", 1923 | "name": "res_4_block0_conv_proj_batchnorm_beta", 1924 | "attrs": { 1925 | "fix_gamma": "False", 1926 | "momentum": "0.9" 1927 | }, 1928 | "inputs": [] 1929 | }, 1930 | { 1931 | "op": "null", 1932 | "name": "res_4_block0_conv_proj_batchnorm_moving_mean", 1933 | "attrs": { 1934 | "__init__": "[\"zero\", {}]", 1935 | "fix_gamma": "False", 1936 | "momentum": "0.9" 1937 | }, 1938 | "inputs": [] 1939 | }, 1940 | { 1941 | "op": "null", 1942 | "name": "res_4_block0_conv_proj_batchnorm_moving_var", 1943 | "attrs": { 1944 | "__init__": "[\"one\", {}]", 1945 | "fix_gamma": "False", 1946 | "momentum": "0.9" 1947 | }, 1948 | "inputs": [] 1949 | }, 1950 | { 1951 | "op": "BatchNorm", 1952 | "name": "res_4_block0_conv_proj_batchnorm", 1953 | "attrs": { 1954 | "fix_gamma": "False", 1955 | "momentum": "0.9" 1956 | }, 1957 | "inputs": [[194, 0, 0], [195, 0, 0], [196, 0, 0], [197, 0, 1], [198, 0, 1]] 1958 | }, 1959 | { 1960 | "op": "elemwise_add", 1961 | "name": "_plus4", 1962 | "inputs": [[199, 0, 0], [174, 0, 0]] 1963 | }, 1964 | { 1965 | "op": "null", 1966 | "name": "res_4_block1_conv_sep_conv2d_weight", 1967 | "attrs": { 1968 | "kernel": "(1, 1)", 1969 | "no_bias": "True", 1970 | "num_filter": "256", 1971 | "num_group": "1", 1972 | "pad": "(0, 0)", 1973 | "stride": "(1, 1)" 1974 | }, 1975 | "inputs": [] 1976 | }, 1977 | { 1978 | "op": "Convolution", 1979 | "name": "res_4_block1_conv_sep_conv2d", 1980 | "attrs": { 1981 | "kernel": "(1, 1)", 1982 | "no_bias": "True", 1983 | "num_filter": "256", 1984 | "num_group": "1", 1985 | "pad": "(0, 0)", 1986 | "stride": "(1, 1)" 1987 | }, 1988 | "inputs": [[200, 0, 0], [201, 0, 0]] 1989 | }, 1990 | { 1991 | "op": "null", 1992 | "name": "res_4_block1_conv_sep_batchnorm_gamma", 1993 | "attrs": { 1994 | "fix_gamma": "False", 1995 | "momentum": "0.9" 1996 | }, 1997 | "inputs": [] 1998 | }, 1999 | { 2000 | "op": "null", 2001 | "name": "res_4_block1_conv_sep_batchnorm_beta", 2002 | "attrs": { 2003 | "fix_gamma": "False", 2004 | "momentum": "0.9" 2005 | }, 2006 | "inputs": [] 2007 | }, 2008 | { 2009 | "op": "null", 2010 | "name": "res_4_block1_conv_sep_batchnorm_moving_mean", 2011 | "attrs": { 2012 | "__init__": "[\"zero\", {}]", 2013 | "fix_gamma": "False", 2014 | "momentum": "0.9" 2015 | }, 2016 | "inputs": [] 2017 | }, 2018 | { 2019 | "op": "null", 2020 | "name": "res_4_block1_conv_sep_batchnorm_moving_var", 2021 | "attrs": { 2022 | "__init__": "[\"one\", {}]", 2023 | "fix_gamma": "False", 2024 | "momentum": "0.9" 2025 | }, 2026 | "inputs": [] 2027 | }, 2028 | { 2029 | "op": "BatchNorm", 2030 | "name": "res_4_block1_conv_sep_batchnorm", 2031 | "attrs": { 2032 | "fix_gamma": "False", 2033 | "momentum": "0.9" 2034 | }, 2035 | "inputs": [[202, 0, 0], [203, 0, 0], [204, 0, 0], [205, 0, 1], [206, 0, 1]] 2036 | }, 2037 | { 2038 | "op": "null", 2039 | "name": "res_4_block1_conv_sep_relu_gamma", 2040 | "attrs": { 2041 | "__init__": "[\"Constant\", {\"value\": 0.25}]", 2042 | "act_type": "prelu" 2043 | }, 2044 | "inputs": [] 2045 | }, 2046 | { 2047 | "op": "LeakyReLU", 2048 | "name": "res_4_block1_conv_sep_relu", 2049 | "attrs": {"act_type": "prelu"}, 2050 | "inputs": [[207, 0, 0], [208, 0, 0]] 2051 | }, 2052 | { 2053 | "op": "null", 2054 | "name": "res_4_block1_conv_dw_conv2d_weight", 2055 | "attrs": { 2056 | "kernel": "(3, 3)", 2057 | "no_bias": "True", 2058 | "num_filter": "256", 2059 | "num_group": "256", 2060 | "pad": "(1, 1)", 2061 | "stride": "(1, 1)" 2062 | }, 2063 | "inputs": [] 2064 | }, 2065 | { 2066 | "op": "Convolution", 2067 | "name": "res_4_block1_conv_dw_conv2d", 2068 | "attrs": { 2069 | "kernel": "(3, 3)", 2070 | "no_bias": "True", 2071 | "num_filter": "256", 2072 | "num_group": "256", 2073 | "pad": "(1, 1)", 2074 | "stride": "(1, 1)" 2075 | }, 2076 | "inputs": [[209, 0, 0], [210, 0, 0]] 2077 | }, 2078 | { 2079 | "op": "null", 2080 | "name": "res_4_block1_conv_dw_batchnorm_gamma", 2081 | "attrs": { 2082 | "fix_gamma": "False", 2083 | "momentum": "0.9" 2084 | }, 2085 | "inputs": [] 2086 | }, 2087 | { 2088 | "op": "null", 2089 | "name": "res_4_block1_conv_dw_batchnorm_beta", 2090 | "attrs": { 2091 | "fix_gamma": "False", 2092 | "momentum": "0.9" 2093 | }, 2094 | "inputs": [] 2095 | }, 2096 | { 2097 | "op": "null", 2098 | "name": "res_4_block1_conv_dw_batchnorm_moving_mean", 2099 | "attrs": { 2100 | "__init__": "[\"zero\", {}]", 2101 | "fix_gamma": "False", 2102 | "momentum": "0.9" 2103 | }, 2104 | "inputs": [] 2105 | }, 2106 | { 2107 | "op": "null", 2108 | "name": "res_4_block1_conv_dw_batchnorm_moving_var", 2109 | "attrs": { 2110 | "__init__": "[\"one\", {}]", 2111 | "fix_gamma": "False", 2112 | "momentum": "0.9" 2113 | }, 2114 | "inputs": [] 2115 | }, 2116 | { 2117 | "op": "BatchNorm", 2118 | "name": "res_4_block1_conv_dw_batchnorm", 2119 | "attrs": { 2120 | "fix_gamma": "False", 2121 | "momentum": "0.9" 2122 | }, 2123 | "inputs": [[211, 0, 0], [212, 0, 0], [213, 0, 0], [214, 0, 1], [215, 0, 1]] 2124 | }, 2125 | { 2126 | "op": "null", 2127 | "name": "res_4_block1_conv_dw_relu_gamma", 2128 | "attrs": { 2129 | "__init__": "[\"Constant\", {\"value\": 0.25}]", 2130 | "act_type": "prelu" 2131 | }, 2132 | "inputs": [] 2133 | }, 2134 | { 2135 | "op": "LeakyReLU", 2136 | "name": "res_4_block1_conv_dw_relu", 2137 | "attrs": {"act_type": "prelu"}, 2138 | "inputs": [[216, 0, 0], [217, 0, 0]] 2139 | }, 2140 | { 2141 | "op": "null", 2142 | "name": "res_4_block1_conv_proj_conv2d_weight", 2143 | "attrs": { 2144 | "kernel": "(1, 1)", 2145 | "no_bias": "True", 2146 | "num_filter": "128", 2147 | "num_group": "1", 2148 | "pad": "(0, 0)", 2149 | "stride": "(1, 1)" 2150 | }, 2151 | "inputs": [] 2152 | }, 2153 | { 2154 | "op": "Convolution", 2155 | "name": "res_4_block1_conv_proj_conv2d", 2156 | "attrs": { 2157 | "kernel": "(1, 1)", 2158 | "no_bias": "True", 2159 | "num_filter": "128", 2160 | "num_group": "1", 2161 | "pad": "(0, 0)", 2162 | "stride": "(1, 1)" 2163 | }, 2164 | "inputs": [[218, 0, 0], [219, 0, 0]] 2165 | }, 2166 | { 2167 | "op": "null", 2168 | "name": "res_4_block1_conv_proj_batchnorm_gamma", 2169 | "attrs": { 2170 | "fix_gamma": "False", 2171 | "momentum": "0.9" 2172 | }, 2173 | "inputs": [] 2174 | }, 2175 | { 2176 | "op": "null", 2177 | "name": "res_4_block1_conv_proj_batchnorm_beta", 2178 | "attrs": { 2179 | "fix_gamma": "False", 2180 | "momentum": "0.9" 2181 | }, 2182 | "inputs": [] 2183 | }, 2184 | { 2185 | "op": "null", 2186 | "name": "res_4_block1_conv_proj_batchnorm_moving_mean", 2187 | "attrs": { 2188 | "__init__": "[\"zero\", {}]", 2189 | "fix_gamma": "False", 2190 | "momentum": "0.9" 2191 | }, 2192 | "inputs": [] 2193 | }, 2194 | { 2195 | "op": "null", 2196 | "name": "res_4_block1_conv_proj_batchnorm_moving_var", 2197 | "attrs": { 2198 | "__init__": "[\"one\", {}]", 2199 | "fix_gamma": "False", 2200 | "momentum": "0.9" 2201 | }, 2202 | "inputs": [] 2203 | }, 2204 | { 2205 | "op": "BatchNorm", 2206 | "name": "res_4_block1_conv_proj_batchnorm", 2207 | "attrs": { 2208 | "fix_gamma": "False", 2209 | "momentum": "0.9" 2210 | }, 2211 | "inputs": [[220, 0, 0], [221, 0, 0], [222, 0, 0], [223, 0, 1], [224, 0, 1]] 2212 | }, 2213 | { 2214 | "op": "elemwise_add", 2215 | "name": "_plus5", 2216 | "inputs": [[225, 0, 0], [200, 0, 0]] 2217 | }, 2218 | { 2219 | "op": "null", 2220 | "name": "res_4_block2_conv_sep_conv2d_weight", 2221 | "attrs": { 2222 | "kernel": "(1, 1)", 2223 | "no_bias": "True", 2224 | "num_filter": "256", 2225 | "num_group": "1", 2226 | "pad": "(0, 0)", 2227 | "stride": "(1, 1)" 2228 | }, 2229 | "inputs": [] 2230 | }, 2231 | { 2232 | "op": "Convolution", 2233 | "name": "res_4_block2_conv_sep_conv2d", 2234 | "attrs": { 2235 | "kernel": "(1, 1)", 2236 | "no_bias": "True", 2237 | "num_filter": "256", 2238 | "num_group": "1", 2239 | "pad": "(0, 0)", 2240 | "stride": "(1, 1)" 2241 | }, 2242 | "inputs": [[226, 0, 0], [227, 0, 0]] 2243 | }, 2244 | { 2245 | "op": "null", 2246 | "name": "res_4_block2_conv_sep_batchnorm_gamma", 2247 | "attrs": { 2248 | "fix_gamma": "False", 2249 | "momentum": "0.9" 2250 | }, 2251 | "inputs": [] 2252 | }, 2253 | { 2254 | "op": "null", 2255 | "name": "res_4_block2_conv_sep_batchnorm_beta", 2256 | "attrs": { 2257 | "fix_gamma": "False", 2258 | "momentum": "0.9" 2259 | }, 2260 | "inputs": [] 2261 | }, 2262 | { 2263 | "op": "null", 2264 | "name": "res_4_block2_conv_sep_batchnorm_moving_mean", 2265 | "attrs": { 2266 | "__init__": "[\"zero\", {}]", 2267 | "fix_gamma": "False", 2268 | "momentum": "0.9" 2269 | }, 2270 | "inputs": [] 2271 | }, 2272 | { 2273 | "op": "null", 2274 | "name": "res_4_block2_conv_sep_batchnorm_moving_var", 2275 | "attrs": { 2276 | "__init__": "[\"one\", {}]", 2277 | "fix_gamma": "False", 2278 | "momentum": "0.9" 2279 | }, 2280 | "inputs": [] 2281 | }, 2282 | { 2283 | "op": "BatchNorm", 2284 | "name": "res_4_block2_conv_sep_batchnorm", 2285 | "attrs": { 2286 | "fix_gamma": "False", 2287 | "momentum": "0.9" 2288 | }, 2289 | "inputs": [[228, 0, 0], [229, 0, 0], [230, 0, 0], [231, 0, 1], [232, 0, 1]] 2290 | }, 2291 | { 2292 | "op": "null", 2293 | "name": "res_4_block2_conv_sep_relu_gamma", 2294 | "attrs": { 2295 | "__init__": "[\"Constant\", {\"value\": 0.25}]", 2296 | "act_type": "prelu" 2297 | }, 2298 | "inputs": [] 2299 | }, 2300 | { 2301 | "op": "LeakyReLU", 2302 | "name": "res_4_block2_conv_sep_relu", 2303 | "attrs": {"act_type": "prelu"}, 2304 | "inputs": [[233, 0, 0], [234, 0, 0]] 2305 | }, 2306 | { 2307 | "op": "null", 2308 | "name": "res_4_block2_conv_dw_conv2d_weight", 2309 | "attrs": { 2310 | "kernel": "(3, 3)", 2311 | "no_bias": "True", 2312 | "num_filter": "256", 2313 | "num_group": "256", 2314 | "pad": "(1, 1)", 2315 | "stride": "(1, 1)" 2316 | }, 2317 | "inputs": [] 2318 | }, 2319 | { 2320 | "op": "Convolution", 2321 | "name": "res_4_block2_conv_dw_conv2d", 2322 | "attrs": { 2323 | "kernel": "(3, 3)", 2324 | "no_bias": "True", 2325 | "num_filter": "256", 2326 | "num_group": "256", 2327 | "pad": "(1, 1)", 2328 | "stride": "(1, 1)" 2329 | }, 2330 | "inputs": [[235, 0, 0], [236, 0, 0]] 2331 | }, 2332 | { 2333 | "op": "null", 2334 | "name": "res_4_block2_conv_dw_batchnorm_gamma", 2335 | "attrs": { 2336 | "fix_gamma": "False", 2337 | "momentum": "0.9" 2338 | }, 2339 | "inputs": [] 2340 | }, 2341 | { 2342 | "op": "null", 2343 | "name": "res_4_block2_conv_dw_batchnorm_beta", 2344 | "attrs": { 2345 | "fix_gamma": "False", 2346 | "momentum": "0.9" 2347 | }, 2348 | "inputs": [] 2349 | }, 2350 | { 2351 | "op": "null", 2352 | "name": "res_4_block2_conv_dw_batchnorm_moving_mean", 2353 | "attrs": { 2354 | "__init__": "[\"zero\", {}]", 2355 | "fix_gamma": "False", 2356 | "momentum": "0.9" 2357 | }, 2358 | "inputs": [] 2359 | }, 2360 | { 2361 | "op": "null", 2362 | "name": "res_4_block2_conv_dw_batchnorm_moving_var", 2363 | "attrs": { 2364 | "__init__": "[\"one\", {}]", 2365 | "fix_gamma": "False", 2366 | "momentum": "0.9" 2367 | }, 2368 | "inputs": [] 2369 | }, 2370 | { 2371 | "op": "BatchNorm", 2372 | "name": "res_4_block2_conv_dw_batchnorm", 2373 | "attrs": { 2374 | "fix_gamma": "False", 2375 | "momentum": "0.9" 2376 | }, 2377 | "inputs": [[237, 0, 0], [238, 0, 0], [239, 0, 0], [240, 0, 1], [241, 0, 1]] 2378 | }, 2379 | { 2380 | "op": "null", 2381 | "name": "res_4_block2_conv_dw_relu_gamma", 2382 | "attrs": { 2383 | "__init__": "[\"Constant\", {\"value\": 0.25}]", 2384 | "act_type": "prelu" 2385 | }, 2386 | "inputs": [] 2387 | }, 2388 | { 2389 | "op": "LeakyReLU", 2390 | "name": "res_4_block2_conv_dw_relu", 2391 | "attrs": {"act_type": "prelu"}, 2392 | "inputs": [[242, 0, 0], [243, 0, 0]] 2393 | }, 2394 | { 2395 | "op": "null", 2396 | "name": "res_4_block2_conv_proj_conv2d_weight", 2397 | "attrs": { 2398 | "kernel": "(1, 1)", 2399 | "no_bias": "True", 2400 | "num_filter": "128", 2401 | "num_group": "1", 2402 | "pad": "(0, 0)", 2403 | "stride": "(1, 1)" 2404 | }, 2405 | "inputs": [] 2406 | }, 2407 | { 2408 | "op": "Convolution", 2409 | "name": "res_4_block2_conv_proj_conv2d", 2410 | "attrs": { 2411 | "kernel": "(1, 1)", 2412 | "no_bias": "True", 2413 | "num_filter": "128", 2414 | "num_group": "1", 2415 | "pad": "(0, 0)", 2416 | "stride": "(1, 1)" 2417 | }, 2418 | "inputs": [[244, 0, 0], [245, 0, 0]] 2419 | }, 2420 | { 2421 | "op": "null", 2422 | "name": "res_4_block2_conv_proj_batchnorm_gamma", 2423 | "attrs": { 2424 | "fix_gamma": "False", 2425 | "momentum": "0.9" 2426 | }, 2427 | "inputs": [] 2428 | }, 2429 | { 2430 | "op": "null", 2431 | "name": "res_4_block2_conv_proj_batchnorm_beta", 2432 | "attrs": { 2433 | "fix_gamma": "False", 2434 | "momentum": "0.9" 2435 | }, 2436 | "inputs": [] 2437 | }, 2438 | { 2439 | "op": "null", 2440 | "name": "res_4_block2_conv_proj_batchnorm_moving_mean", 2441 | "attrs": { 2442 | "__init__": "[\"zero\", {}]", 2443 | "fix_gamma": "False", 2444 | "momentum": "0.9" 2445 | }, 2446 | "inputs": [] 2447 | }, 2448 | { 2449 | "op": "null", 2450 | "name": "res_4_block2_conv_proj_batchnorm_moving_var", 2451 | "attrs": { 2452 | "__init__": "[\"one\", {}]", 2453 | "fix_gamma": "False", 2454 | "momentum": "0.9" 2455 | }, 2456 | "inputs": [] 2457 | }, 2458 | { 2459 | "op": "BatchNorm", 2460 | "name": "res_4_block2_conv_proj_batchnorm", 2461 | "attrs": { 2462 | "fix_gamma": "False", 2463 | "momentum": "0.9" 2464 | }, 2465 | "inputs": [[246, 0, 0], [247, 0, 0], [248, 0, 0], [249, 0, 1], [250, 0, 1]] 2466 | }, 2467 | { 2468 | "op": "elemwise_add", 2469 | "name": "_plus6", 2470 | "inputs": [[251, 0, 0], [226, 0, 0]] 2471 | }, 2472 | { 2473 | "op": "null", 2474 | "name": "res_4_block3_conv_sep_conv2d_weight", 2475 | "attrs": { 2476 | "kernel": "(1, 1)", 2477 | "no_bias": "True", 2478 | "num_filter": "256", 2479 | "num_group": "1", 2480 | "pad": "(0, 0)", 2481 | "stride": "(1, 1)" 2482 | }, 2483 | "inputs": [] 2484 | }, 2485 | { 2486 | "op": "Convolution", 2487 | "name": "res_4_block3_conv_sep_conv2d", 2488 | "attrs": { 2489 | "kernel": "(1, 1)", 2490 | "no_bias": "True", 2491 | "num_filter": "256", 2492 | "num_group": "1", 2493 | "pad": "(0, 0)", 2494 | "stride": "(1, 1)" 2495 | }, 2496 | "inputs": [[252, 0, 0], [253, 0, 0]] 2497 | }, 2498 | { 2499 | "op": "null", 2500 | "name": "res_4_block3_conv_sep_batchnorm_gamma", 2501 | "attrs": { 2502 | "fix_gamma": "False", 2503 | "momentum": "0.9" 2504 | }, 2505 | "inputs": [] 2506 | }, 2507 | { 2508 | "op": "null", 2509 | "name": "res_4_block3_conv_sep_batchnorm_beta", 2510 | "attrs": { 2511 | "fix_gamma": "False", 2512 | "momentum": "0.9" 2513 | }, 2514 | "inputs": [] 2515 | }, 2516 | { 2517 | "op": "null", 2518 | "name": "res_4_block3_conv_sep_batchnorm_moving_mean", 2519 | "attrs": { 2520 | "__init__": "[\"zero\", {}]", 2521 | "fix_gamma": "False", 2522 | "momentum": "0.9" 2523 | }, 2524 | "inputs": [] 2525 | }, 2526 | { 2527 | "op": "null", 2528 | "name": "res_4_block3_conv_sep_batchnorm_moving_var", 2529 | "attrs": { 2530 | "__init__": "[\"one\", {}]", 2531 | "fix_gamma": "False", 2532 | "momentum": "0.9" 2533 | }, 2534 | "inputs": [] 2535 | }, 2536 | { 2537 | "op": "BatchNorm", 2538 | "name": "res_4_block3_conv_sep_batchnorm", 2539 | "attrs": { 2540 | "fix_gamma": "False", 2541 | "momentum": "0.9" 2542 | }, 2543 | "inputs": [[254, 0, 0], [255, 0, 0], [256, 0, 0], [257, 0, 1], [258, 0, 1]] 2544 | }, 2545 | { 2546 | "op": "null", 2547 | "name": "res_4_block3_conv_sep_relu_gamma", 2548 | "attrs": { 2549 | "__init__": "[\"Constant\", {\"value\": 0.25}]", 2550 | "act_type": "prelu" 2551 | }, 2552 | "inputs": [] 2553 | }, 2554 | { 2555 | "op": "LeakyReLU", 2556 | "name": "res_4_block3_conv_sep_relu", 2557 | "attrs": {"act_type": "prelu"}, 2558 | "inputs": [[259, 0, 0], [260, 0, 0]] 2559 | }, 2560 | { 2561 | "op": "null", 2562 | "name": "res_4_block3_conv_dw_conv2d_weight", 2563 | "attrs": { 2564 | "kernel": "(3, 3)", 2565 | "no_bias": "True", 2566 | "num_filter": "256", 2567 | "num_group": "256", 2568 | "pad": "(1, 1)", 2569 | "stride": "(1, 1)" 2570 | }, 2571 | "inputs": [] 2572 | }, 2573 | { 2574 | "op": "Convolution", 2575 | "name": "res_4_block3_conv_dw_conv2d", 2576 | "attrs": { 2577 | "kernel": "(3, 3)", 2578 | "no_bias": "True", 2579 | "num_filter": "256", 2580 | "num_group": "256", 2581 | "pad": "(1, 1)", 2582 | "stride": "(1, 1)" 2583 | }, 2584 | "inputs": [[261, 0, 0], [262, 0, 0]] 2585 | }, 2586 | { 2587 | "op": "null", 2588 | "name": "res_4_block3_conv_dw_batchnorm_gamma", 2589 | "attrs": { 2590 | "fix_gamma": "False", 2591 | "momentum": "0.9" 2592 | }, 2593 | "inputs": [] 2594 | }, 2595 | { 2596 | "op": "null", 2597 | "name": "res_4_block3_conv_dw_batchnorm_beta", 2598 | "attrs": { 2599 | "fix_gamma": "False", 2600 | "momentum": "0.9" 2601 | }, 2602 | "inputs": [] 2603 | }, 2604 | { 2605 | "op": "null", 2606 | "name": "res_4_block3_conv_dw_batchnorm_moving_mean", 2607 | "attrs": { 2608 | "__init__": "[\"zero\", {}]", 2609 | "fix_gamma": "False", 2610 | "momentum": "0.9" 2611 | }, 2612 | "inputs": [] 2613 | }, 2614 | { 2615 | "op": "null", 2616 | "name": "res_4_block3_conv_dw_batchnorm_moving_var", 2617 | "attrs": { 2618 | "__init__": "[\"one\", {}]", 2619 | "fix_gamma": "False", 2620 | "momentum": "0.9" 2621 | }, 2622 | "inputs": [] 2623 | }, 2624 | { 2625 | "op": "BatchNorm", 2626 | "name": "res_4_block3_conv_dw_batchnorm", 2627 | "attrs": { 2628 | "fix_gamma": "False", 2629 | "momentum": "0.9" 2630 | }, 2631 | "inputs": [[263, 0, 0], [264, 0, 0], [265, 0, 0], [266, 0, 1], [267, 0, 1]] 2632 | }, 2633 | { 2634 | "op": "null", 2635 | "name": "res_4_block3_conv_dw_relu_gamma", 2636 | "attrs": { 2637 | "__init__": "[\"Constant\", {\"value\": 0.25}]", 2638 | "act_type": "prelu" 2639 | }, 2640 | "inputs": [] 2641 | }, 2642 | { 2643 | "op": "LeakyReLU", 2644 | "name": "res_4_block3_conv_dw_relu", 2645 | "attrs": {"act_type": "prelu"}, 2646 | "inputs": [[268, 0, 0], [269, 0, 0]] 2647 | }, 2648 | { 2649 | "op": "null", 2650 | "name": "res_4_block3_conv_proj_conv2d_weight", 2651 | "attrs": { 2652 | "kernel": "(1, 1)", 2653 | "no_bias": "True", 2654 | "num_filter": "128", 2655 | "num_group": "1", 2656 | "pad": "(0, 0)", 2657 | "stride": "(1, 1)" 2658 | }, 2659 | "inputs": [] 2660 | }, 2661 | { 2662 | "op": "Convolution", 2663 | "name": "res_4_block3_conv_proj_conv2d", 2664 | "attrs": { 2665 | "kernel": "(1, 1)", 2666 | "no_bias": "True", 2667 | "num_filter": "128", 2668 | "num_group": "1", 2669 | "pad": "(0, 0)", 2670 | "stride": "(1, 1)" 2671 | }, 2672 | "inputs": [[270, 0, 0], [271, 0, 0]] 2673 | }, 2674 | { 2675 | "op": "null", 2676 | "name": "res_4_block3_conv_proj_batchnorm_gamma", 2677 | "attrs": { 2678 | "fix_gamma": "False", 2679 | "momentum": "0.9" 2680 | }, 2681 | "inputs": [] 2682 | }, 2683 | { 2684 | "op": "null", 2685 | "name": "res_4_block3_conv_proj_batchnorm_beta", 2686 | "attrs": { 2687 | "fix_gamma": "False", 2688 | "momentum": "0.9" 2689 | }, 2690 | "inputs": [] 2691 | }, 2692 | { 2693 | "op": "null", 2694 | "name": "res_4_block3_conv_proj_batchnorm_moving_mean", 2695 | "attrs": { 2696 | "__init__": "[\"zero\", {}]", 2697 | "fix_gamma": "False", 2698 | "momentum": "0.9" 2699 | }, 2700 | "inputs": [] 2701 | }, 2702 | { 2703 | "op": "null", 2704 | "name": "res_4_block3_conv_proj_batchnorm_moving_var", 2705 | "attrs": { 2706 | "__init__": "[\"one\", {}]", 2707 | "fix_gamma": "False", 2708 | "momentum": "0.9" 2709 | }, 2710 | "inputs": [] 2711 | }, 2712 | { 2713 | "op": "BatchNorm", 2714 | "name": "res_4_block3_conv_proj_batchnorm", 2715 | "attrs": { 2716 | "fix_gamma": "False", 2717 | "momentum": "0.9" 2718 | }, 2719 | "inputs": [[272, 0, 0], [273, 0, 0], [274, 0, 0], [275, 0, 1], [276, 0, 1]] 2720 | }, 2721 | { 2722 | "op": "elemwise_add", 2723 | "name": "_plus7", 2724 | "inputs": [[277, 0, 0], [252, 0, 0]] 2725 | }, 2726 | { 2727 | "op": "null", 2728 | "name": "res_4_block4_conv_sep_conv2d_weight", 2729 | "attrs": { 2730 | "kernel": "(1, 1)", 2731 | "no_bias": "True", 2732 | "num_filter": "256", 2733 | "num_group": "1", 2734 | "pad": "(0, 0)", 2735 | "stride": "(1, 1)" 2736 | }, 2737 | "inputs": [] 2738 | }, 2739 | { 2740 | "op": "Convolution", 2741 | "name": "res_4_block4_conv_sep_conv2d", 2742 | "attrs": { 2743 | "kernel": "(1, 1)", 2744 | "no_bias": "True", 2745 | "num_filter": "256", 2746 | "num_group": "1", 2747 | "pad": "(0, 0)", 2748 | "stride": "(1, 1)" 2749 | }, 2750 | "inputs": [[278, 0, 0], [279, 0, 0]] 2751 | }, 2752 | { 2753 | "op": "null", 2754 | "name": "res_4_block4_conv_sep_batchnorm_gamma", 2755 | "attrs": { 2756 | "fix_gamma": "False", 2757 | "momentum": "0.9" 2758 | }, 2759 | "inputs": [] 2760 | }, 2761 | { 2762 | "op": "null", 2763 | "name": "res_4_block4_conv_sep_batchnorm_beta", 2764 | "attrs": { 2765 | "fix_gamma": "False", 2766 | "momentum": "0.9" 2767 | }, 2768 | "inputs": [] 2769 | }, 2770 | { 2771 | "op": "null", 2772 | "name": "res_4_block4_conv_sep_batchnorm_moving_mean", 2773 | "attrs": { 2774 | "__init__": "[\"zero\", {}]", 2775 | "fix_gamma": "False", 2776 | "momentum": "0.9" 2777 | }, 2778 | "inputs": [] 2779 | }, 2780 | { 2781 | "op": "null", 2782 | "name": "res_4_block4_conv_sep_batchnorm_moving_var", 2783 | "attrs": { 2784 | "__init__": "[\"one\", {}]", 2785 | "fix_gamma": "False", 2786 | "momentum": "0.9" 2787 | }, 2788 | "inputs": [] 2789 | }, 2790 | { 2791 | "op": "BatchNorm", 2792 | "name": "res_4_block4_conv_sep_batchnorm", 2793 | "attrs": { 2794 | "fix_gamma": "False", 2795 | "momentum": "0.9" 2796 | }, 2797 | "inputs": [[280, 0, 0], [281, 0, 0], [282, 0, 0], [283, 0, 1], [284, 0, 1]] 2798 | }, 2799 | { 2800 | "op": "null", 2801 | "name": "res_4_block4_conv_sep_relu_gamma", 2802 | "attrs": { 2803 | "__init__": "[\"Constant\", {\"value\": 0.25}]", 2804 | "act_type": "prelu" 2805 | }, 2806 | "inputs": [] 2807 | }, 2808 | { 2809 | "op": "LeakyReLU", 2810 | "name": "res_4_block4_conv_sep_relu", 2811 | "attrs": {"act_type": "prelu"}, 2812 | "inputs": [[285, 0, 0], [286, 0, 0]] 2813 | }, 2814 | { 2815 | "op": "null", 2816 | "name": "res_4_block4_conv_dw_conv2d_weight", 2817 | "attrs": { 2818 | "kernel": "(3, 3)", 2819 | "no_bias": "True", 2820 | "num_filter": "256", 2821 | "num_group": "256", 2822 | "pad": "(1, 1)", 2823 | "stride": "(1, 1)" 2824 | }, 2825 | "inputs": [] 2826 | }, 2827 | { 2828 | "op": "Convolution", 2829 | "name": "res_4_block4_conv_dw_conv2d", 2830 | "attrs": { 2831 | "kernel": "(3, 3)", 2832 | "no_bias": "True", 2833 | "num_filter": "256", 2834 | "num_group": "256", 2835 | "pad": "(1, 1)", 2836 | "stride": "(1, 1)" 2837 | }, 2838 | "inputs": [[287, 0, 0], [288, 0, 0]] 2839 | }, 2840 | { 2841 | "op": "null", 2842 | "name": "res_4_block4_conv_dw_batchnorm_gamma", 2843 | "attrs": { 2844 | "fix_gamma": "False", 2845 | "momentum": "0.9" 2846 | }, 2847 | "inputs": [] 2848 | }, 2849 | { 2850 | "op": "null", 2851 | "name": "res_4_block4_conv_dw_batchnorm_beta", 2852 | "attrs": { 2853 | "fix_gamma": "False", 2854 | "momentum": "0.9" 2855 | }, 2856 | "inputs": [] 2857 | }, 2858 | { 2859 | "op": "null", 2860 | "name": "res_4_block4_conv_dw_batchnorm_moving_mean", 2861 | "attrs": { 2862 | "__init__": "[\"zero\", {}]", 2863 | "fix_gamma": "False", 2864 | "momentum": "0.9" 2865 | }, 2866 | "inputs": [] 2867 | }, 2868 | { 2869 | "op": "null", 2870 | "name": "res_4_block4_conv_dw_batchnorm_moving_var", 2871 | "attrs": { 2872 | "__init__": "[\"one\", {}]", 2873 | "fix_gamma": "False", 2874 | "momentum": "0.9" 2875 | }, 2876 | "inputs": [] 2877 | }, 2878 | { 2879 | "op": "BatchNorm", 2880 | "name": "res_4_block4_conv_dw_batchnorm", 2881 | "attrs": { 2882 | "fix_gamma": "False", 2883 | "momentum": "0.9" 2884 | }, 2885 | "inputs": [[289, 0, 0], [290, 0, 0], [291, 0, 0], [292, 0, 1], [293, 0, 1]] 2886 | }, 2887 | { 2888 | "op": "null", 2889 | "name": "res_4_block4_conv_dw_relu_gamma", 2890 | "attrs": { 2891 | "__init__": "[\"Constant\", {\"value\": 0.25}]", 2892 | "act_type": "prelu" 2893 | }, 2894 | "inputs": [] 2895 | }, 2896 | { 2897 | "op": "LeakyReLU", 2898 | "name": "res_4_block4_conv_dw_relu", 2899 | "attrs": {"act_type": "prelu"}, 2900 | "inputs": [[294, 0, 0], [295, 0, 0]] 2901 | }, 2902 | { 2903 | "op": "null", 2904 | "name": "res_4_block4_conv_proj_conv2d_weight", 2905 | "attrs": { 2906 | "kernel": "(1, 1)", 2907 | "no_bias": "True", 2908 | "num_filter": "128", 2909 | "num_group": "1", 2910 | "pad": "(0, 0)", 2911 | "stride": "(1, 1)" 2912 | }, 2913 | "inputs": [] 2914 | }, 2915 | { 2916 | "op": "Convolution", 2917 | "name": "res_4_block4_conv_proj_conv2d", 2918 | "attrs": { 2919 | "kernel": "(1, 1)", 2920 | "no_bias": "True", 2921 | "num_filter": "128", 2922 | "num_group": "1", 2923 | "pad": "(0, 0)", 2924 | "stride": "(1, 1)" 2925 | }, 2926 | "inputs": [[296, 0, 0], [297, 0, 0]] 2927 | }, 2928 | { 2929 | "op": "null", 2930 | "name": "res_4_block4_conv_proj_batchnorm_gamma", 2931 | "attrs": { 2932 | "fix_gamma": "False", 2933 | "momentum": "0.9" 2934 | }, 2935 | "inputs": [] 2936 | }, 2937 | { 2938 | "op": "null", 2939 | "name": "res_4_block4_conv_proj_batchnorm_beta", 2940 | "attrs": { 2941 | "fix_gamma": "False", 2942 | "momentum": "0.9" 2943 | }, 2944 | "inputs": [] 2945 | }, 2946 | { 2947 | "op": "null", 2948 | "name": "res_4_block4_conv_proj_batchnorm_moving_mean", 2949 | "attrs": { 2950 | "__init__": "[\"zero\", {}]", 2951 | "fix_gamma": "False", 2952 | "momentum": "0.9" 2953 | }, 2954 | "inputs": [] 2955 | }, 2956 | { 2957 | "op": "null", 2958 | "name": "res_4_block4_conv_proj_batchnorm_moving_var", 2959 | "attrs": { 2960 | "__init__": "[\"one\", {}]", 2961 | "fix_gamma": "False", 2962 | "momentum": "0.9" 2963 | }, 2964 | "inputs": [] 2965 | }, 2966 | { 2967 | "op": "BatchNorm", 2968 | "name": "res_4_block4_conv_proj_batchnorm", 2969 | "attrs": { 2970 | "fix_gamma": "False", 2971 | "momentum": "0.9" 2972 | }, 2973 | "inputs": [[298, 0, 0], [299, 0, 0], [300, 0, 0], [301, 0, 1], [302, 0, 1]] 2974 | }, 2975 | { 2976 | "op": "elemwise_add", 2977 | "name": "_plus8", 2978 | "inputs": [[303, 0, 0], [278, 0, 0]] 2979 | }, 2980 | { 2981 | "op": "null", 2982 | "name": "res_4_block5_conv_sep_conv2d_weight", 2983 | "attrs": { 2984 | "kernel": "(1, 1)", 2985 | "no_bias": "True", 2986 | "num_filter": "256", 2987 | "num_group": "1", 2988 | "pad": "(0, 0)", 2989 | "stride": "(1, 1)" 2990 | }, 2991 | "inputs": [] 2992 | }, 2993 | { 2994 | "op": "Convolution", 2995 | "name": "res_4_block5_conv_sep_conv2d", 2996 | "attrs": { 2997 | "kernel": "(1, 1)", 2998 | "no_bias": "True", 2999 | "num_filter": "256", 3000 | "num_group": "1", 3001 | "pad": "(0, 0)", 3002 | "stride": "(1, 1)" 3003 | }, 3004 | "inputs": [[304, 0, 0], [305, 0, 0]] 3005 | }, 3006 | { 3007 | "op": "null", 3008 | "name": "res_4_block5_conv_sep_batchnorm_gamma", 3009 | "attrs": { 3010 | "fix_gamma": "False", 3011 | "momentum": "0.9" 3012 | }, 3013 | "inputs": [] 3014 | }, 3015 | { 3016 | "op": "null", 3017 | "name": "res_4_block5_conv_sep_batchnorm_beta", 3018 | "attrs": { 3019 | "fix_gamma": "False", 3020 | "momentum": "0.9" 3021 | }, 3022 | "inputs": [] 3023 | }, 3024 | { 3025 | "op": "null", 3026 | "name": "res_4_block5_conv_sep_batchnorm_moving_mean", 3027 | "attrs": { 3028 | "__init__": "[\"zero\", {}]", 3029 | "fix_gamma": "False", 3030 | "momentum": "0.9" 3031 | }, 3032 | "inputs": [] 3033 | }, 3034 | { 3035 | "op": "null", 3036 | "name": "res_4_block5_conv_sep_batchnorm_moving_var", 3037 | "attrs": { 3038 | "__init__": "[\"one\", {}]", 3039 | "fix_gamma": "False", 3040 | "momentum": "0.9" 3041 | }, 3042 | "inputs": [] 3043 | }, 3044 | { 3045 | "op": "BatchNorm", 3046 | "name": "res_4_block5_conv_sep_batchnorm", 3047 | "attrs": { 3048 | "fix_gamma": "False", 3049 | "momentum": "0.9" 3050 | }, 3051 | "inputs": [[306, 0, 0], [307, 0, 0], [308, 0, 0], [309, 0, 1], [310, 0, 1]] 3052 | }, 3053 | { 3054 | "op": "null", 3055 | "name": "res_4_block5_conv_sep_relu_gamma", 3056 | "attrs": { 3057 | "__init__": "[\"Constant\", {\"value\": 0.25}]", 3058 | "act_type": "prelu" 3059 | }, 3060 | "inputs": [] 3061 | }, 3062 | { 3063 | "op": "LeakyReLU", 3064 | "name": "res_4_block5_conv_sep_relu", 3065 | "attrs": {"act_type": "prelu"}, 3066 | "inputs": [[311, 0, 0], [312, 0, 0]] 3067 | }, 3068 | { 3069 | "op": "null", 3070 | "name": "res_4_block5_conv_dw_conv2d_weight", 3071 | "attrs": { 3072 | "kernel": "(3, 3)", 3073 | "no_bias": "True", 3074 | "num_filter": "256", 3075 | "num_group": "256", 3076 | "pad": "(1, 1)", 3077 | "stride": "(1, 1)" 3078 | }, 3079 | "inputs": [] 3080 | }, 3081 | { 3082 | "op": "Convolution", 3083 | "name": "res_4_block5_conv_dw_conv2d", 3084 | "attrs": { 3085 | "kernel": "(3, 3)", 3086 | "no_bias": "True", 3087 | "num_filter": "256", 3088 | "num_group": "256", 3089 | "pad": "(1, 1)", 3090 | "stride": "(1, 1)" 3091 | }, 3092 | "inputs": [[313, 0, 0], [314, 0, 0]] 3093 | }, 3094 | { 3095 | "op": "null", 3096 | "name": "res_4_block5_conv_dw_batchnorm_gamma", 3097 | "attrs": { 3098 | "fix_gamma": "False", 3099 | "momentum": "0.9" 3100 | }, 3101 | "inputs": [] 3102 | }, 3103 | { 3104 | "op": "null", 3105 | "name": "res_4_block5_conv_dw_batchnorm_beta", 3106 | "attrs": { 3107 | "fix_gamma": "False", 3108 | "momentum": "0.9" 3109 | }, 3110 | "inputs": [] 3111 | }, 3112 | { 3113 | "op": "null", 3114 | "name": "res_4_block5_conv_dw_batchnorm_moving_mean", 3115 | "attrs": { 3116 | "__init__": "[\"zero\", {}]", 3117 | "fix_gamma": "False", 3118 | "momentum": "0.9" 3119 | }, 3120 | "inputs": [] 3121 | }, 3122 | { 3123 | "op": "null", 3124 | "name": "res_4_block5_conv_dw_batchnorm_moving_var", 3125 | "attrs": { 3126 | "__init__": "[\"one\", {}]", 3127 | "fix_gamma": "False", 3128 | "momentum": "0.9" 3129 | }, 3130 | "inputs": [] 3131 | }, 3132 | { 3133 | "op": "BatchNorm", 3134 | "name": "res_4_block5_conv_dw_batchnorm", 3135 | "attrs": { 3136 | "fix_gamma": "False", 3137 | "momentum": "0.9" 3138 | }, 3139 | "inputs": [[315, 0, 0], [316, 0, 0], [317, 0, 0], [318, 0, 1], [319, 0, 1]] 3140 | }, 3141 | { 3142 | "op": "null", 3143 | "name": "res_4_block5_conv_dw_relu_gamma", 3144 | "attrs": { 3145 | "__init__": "[\"Constant\", {\"value\": 0.25}]", 3146 | "act_type": "prelu" 3147 | }, 3148 | "inputs": [] 3149 | }, 3150 | { 3151 | "op": "LeakyReLU", 3152 | "name": "res_4_block5_conv_dw_relu", 3153 | "attrs": {"act_type": "prelu"}, 3154 | "inputs": [[320, 0, 0], [321, 0, 0]] 3155 | }, 3156 | { 3157 | "op": "null", 3158 | "name": "res_4_block5_conv_proj_conv2d_weight", 3159 | "attrs": { 3160 | "kernel": "(1, 1)", 3161 | "no_bias": "True", 3162 | "num_filter": "128", 3163 | "num_group": "1", 3164 | "pad": "(0, 0)", 3165 | "stride": "(1, 1)" 3166 | }, 3167 | "inputs": [] 3168 | }, 3169 | { 3170 | "op": "Convolution", 3171 | "name": "res_4_block5_conv_proj_conv2d", 3172 | "attrs": { 3173 | "kernel": "(1, 1)", 3174 | "no_bias": "True", 3175 | "num_filter": "128", 3176 | "num_group": "1", 3177 | "pad": "(0, 0)", 3178 | "stride": "(1, 1)" 3179 | }, 3180 | "inputs": [[322, 0, 0], [323, 0, 0]] 3181 | }, 3182 | { 3183 | "op": "null", 3184 | "name": "res_4_block5_conv_proj_batchnorm_gamma", 3185 | "attrs": { 3186 | "fix_gamma": "False", 3187 | "momentum": "0.9" 3188 | }, 3189 | "inputs": [] 3190 | }, 3191 | { 3192 | "op": "null", 3193 | "name": "res_4_block5_conv_proj_batchnorm_beta", 3194 | "attrs": { 3195 | "fix_gamma": "False", 3196 | "momentum": "0.9" 3197 | }, 3198 | "inputs": [] 3199 | }, 3200 | { 3201 | "op": "null", 3202 | "name": "res_4_block5_conv_proj_batchnorm_moving_mean", 3203 | "attrs": { 3204 | "__init__": "[\"zero\", {}]", 3205 | "fix_gamma": "False", 3206 | "momentum": "0.9" 3207 | }, 3208 | "inputs": [] 3209 | }, 3210 | { 3211 | "op": "null", 3212 | "name": "res_4_block5_conv_proj_batchnorm_moving_var", 3213 | "attrs": { 3214 | "__init__": "[\"one\", {}]", 3215 | "fix_gamma": "False", 3216 | "momentum": "0.9" 3217 | }, 3218 | "inputs": [] 3219 | }, 3220 | { 3221 | "op": "BatchNorm", 3222 | "name": "res_4_block5_conv_proj_batchnorm", 3223 | "attrs": { 3224 | "fix_gamma": "False", 3225 | "momentum": "0.9" 3226 | }, 3227 | "inputs": [[324, 0, 0], [325, 0, 0], [326, 0, 0], [327, 0, 1], [328, 0, 1]] 3228 | }, 3229 | { 3230 | "op": "elemwise_add", 3231 | "name": "_plus9", 3232 | "inputs": [[329, 0, 0], [304, 0, 0]] 3233 | }, 3234 | { 3235 | "op": "null", 3236 | "name": "dconv_45_conv_sep_conv2d_weight", 3237 | "attrs": { 3238 | "kernel": "(1, 1)", 3239 | "no_bias": "True", 3240 | "num_filter": "512", 3241 | "num_group": "1", 3242 | "pad": "(0, 0)", 3243 | "stride": "(1, 1)" 3244 | }, 3245 | "inputs": [] 3246 | }, 3247 | { 3248 | "op": "Convolution", 3249 | "name": "dconv_45_conv_sep_conv2d", 3250 | "attrs": { 3251 | "kernel": "(1, 1)", 3252 | "no_bias": "True", 3253 | "num_filter": "512", 3254 | "num_group": "1", 3255 | "pad": "(0, 0)", 3256 | "stride": "(1, 1)" 3257 | }, 3258 | "inputs": [[330, 0, 0], [331, 0, 0]] 3259 | }, 3260 | { 3261 | "op": "null", 3262 | "name": "dconv_45_conv_sep_batchnorm_gamma", 3263 | "attrs": { 3264 | "fix_gamma": "False", 3265 | "momentum": "0.9" 3266 | }, 3267 | "inputs": [] 3268 | }, 3269 | { 3270 | "op": "null", 3271 | "name": "dconv_45_conv_sep_batchnorm_beta", 3272 | "attrs": { 3273 | "fix_gamma": "False", 3274 | "momentum": "0.9" 3275 | }, 3276 | "inputs": [] 3277 | }, 3278 | { 3279 | "op": "null", 3280 | "name": "dconv_45_conv_sep_batchnorm_moving_mean", 3281 | "attrs": { 3282 | "__init__": "[\"zero\", {}]", 3283 | "fix_gamma": "False", 3284 | "momentum": "0.9" 3285 | }, 3286 | "inputs": [] 3287 | }, 3288 | { 3289 | "op": "null", 3290 | "name": "dconv_45_conv_sep_batchnorm_moving_var", 3291 | "attrs": { 3292 | "__init__": "[\"one\", {}]", 3293 | "fix_gamma": "False", 3294 | "momentum": "0.9" 3295 | }, 3296 | "inputs": [] 3297 | }, 3298 | { 3299 | "op": "BatchNorm", 3300 | "name": "dconv_45_conv_sep_batchnorm", 3301 | "attrs": { 3302 | "fix_gamma": "False", 3303 | "momentum": "0.9" 3304 | }, 3305 | "inputs": [[332, 0, 0], [333, 0, 0], [334, 0, 0], [335, 0, 1], [336, 0, 1]] 3306 | }, 3307 | { 3308 | "op": "null", 3309 | "name": "dconv_45_conv_sep_relu_gamma", 3310 | "attrs": { 3311 | "__init__": "[\"Constant\", {\"value\": 0.25}]", 3312 | "act_type": "prelu" 3313 | }, 3314 | "inputs": [] 3315 | }, 3316 | { 3317 | "op": "LeakyReLU", 3318 | "name": "dconv_45_conv_sep_relu", 3319 | "attrs": {"act_type": "prelu"}, 3320 | "inputs": [[337, 0, 0], [338, 0, 0]] 3321 | }, 3322 | { 3323 | "op": "null", 3324 | "name": "dconv_45_conv_dw_conv2d_weight", 3325 | "attrs": { 3326 | "kernel": "(3, 3)", 3327 | "no_bias": "True", 3328 | "num_filter": "512", 3329 | "num_group": "512", 3330 | "pad": "(1, 1)", 3331 | "stride": "(2, 2)" 3332 | }, 3333 | "inputs": [] 3334 | }, 3335 | { 3336 | "op": "Convolution", 3337 | "name": "dconv_45_conv_dw_conv2d", 3338 | "attrs": { 3339 | "kernel": "(3, 3)", 3340 | "no_bias": "True", 3341 | "num_filter": "512", 3342 | "num_group": "512", 3343 | "pad": "(1, 1)", 3344 | "stride": "(2, 2)" 3345 | }, 3346 | "inputs": [[339, 0, 0], [340, 0, 0]] 3347 | }, 3348 | { 3349 | "op": "null", 3350 | "name": "dconv_45_conv_dw_batchnorm_gamma", 3351 | "attrs": { 3352 | "fix_gamma": "False", 3353 | "momentum": "0.9" 3354 | }, 3355 | "inputs": [] 3356 | }, 3357 | { 3358 | "op": "null", 3359 | "name": "dconv_45_conv_dw_batchnorm_beta", 3360 | "attrs": { 3361 | "fix_gamma": "False", 3362 | "momentum": "0.9" 3363 | }, 3364 | "inputs": [] 3365 | }, 3366 | { 3367 | "op": "null", 3368 | "name": "dconv_45_conv_dw_batchnorm_moving_mean", 3369 | "attrs": { 3370 | "__init__": "[\"zero\", {}]", 3371 | "fix_gamma": "False", 3372 | "momentum": "0.9" 3373 | }, 3374 | "inputs": [] 3375 | }, 3376 | { 3377 | "op": "null", 3378 | "name": "dconv_45_conv_dw_batchnorm_moving_var", 3379 | "attrs": { 3380 | "__init__": "[\"one\", {}]", 3381 | "fix_gamma": "False", 3382 | "momentum": "0.9" 3383 | }, 3384 | "inputs": [] 3385 | }, 3386 | { 3387 | "op": "BatchNorm", 3388 | "name": "dconv_45_conv_dw_batchnorm", 3389 | "attrs": { 3390 | "fix_gamma": "False", 3391 | "momentum": "0.9" 3392 | }, 3393 | "inputs": [[341, 0, 0], [342, 0, 0], [343, 0, 0], [344, 0, 1], [345, 0, 1]] 3394 | }, 3395 | { 3396 | "op": "null", 3397 | "name": "dconv_45_conv_dw_relu_gamma", 3398 | "attrs": { 3399 | "__init__": "[\"Constant\", {\"value\": 0.25}]", 3400 | "act_type": "prelu" 3401 | }, 3402 | "inputs": [] 3403 | }, 3404 | { 3405 | "op": "LeakyReLU", 3406 | "name": "dconv_45_conv_dw_relu", 3407 | "attrs": {"act_type": "prelu"}, 3408 | "inputs": [[346, 0, 0], [347, 0, 0]] 3409 | }, 3410 | { 3411 | "op": "null", 3412 | "name": "dconv_45_conv_proj_conv2d_weight", 3413 | "attrs": { 3414 | "kernel": "(1, 1)", 3415 | "no_bias": "True", 3416 | "num_filter": "128", 3417 | "num_group": "1", 3418 | "pad": "(0, 0)", 3419 | "stride": "(1, 1)" 3420 | }, 3421 | "inputs": [] 3422 | }, 3423 | { 3424 | "op": "Convolution", 3425 | "name": "dconv_45_conv_proj_conv2d", 3426 | "attrs": { 3427 | "kernel": "(1, 1)", 3428 | "no_bias": "True", 3429 | "num_filter": "128", 3430 | "num_group": "1", 3431 | "pad": "(0, 0)", 3432 | "stride": "(1, 1)" 3433 | }, 3434 | "inputs": [[348, 0, 0], [349, 0, 0]] 3435 | }, 3436 | { 3437 | "op": "null", 3438 | "name": "dconv_45_conv_proj_batchnorm_gamma", 3439 | "attrs": { 3440 | "fix_gamma": "False", 3441 | "momentum": "0.9" 3442 | }, 3443 | "inputs": [] 3444 | }, 3445 | { 3446 | "op": "null", 3447 | "name": "dconv_45_conv_proj_batchnorm_beta", 3448 | "attrs": { 3449 | "fix_gamma": "False", 3450 | "momentum": "0.9" 3451 | }, 3452 | "inputs": [] 3453 | }, 3454 | { 3455 | "op": "null", 3456 | "name": "dconv_45_conv_proj_batchnorm_moving_mean", 3457 | "attrs": { 3458 | "__init__": "[\"zero\", {}]", 3459 | "fix_gamma": "False", 3460 | "momentum": "0.9" 3461 | }, 3462 | "inputs": [] 3463 | }, 3464 | { 3465 | "op": "null", 3466 | "name": "dconv_45_conv_proj_batchnorm_moving_var", 3467 | "attrs": { 3468 | "__init__": "[\"one\", {}]", 3469 | "fix_gamma": "False", 3470 | "momentum": "0.9" 3471 | }, 3472 | "inputs": [] 3473 | }, 3474 | { 3475 | "op": "BatchNorm", 3476 | "name": "dconv_45_conv_proj_batchnorm", 3477 | "attrs": { 3478 | "fix_gamma": "False", 3479 | "momentum": "0.9" 3480 | }, 3481 | "inputs": [[350, 0, 0], [351, 0, 0], [352, 0, 0], [353, 0, 1], [354, 0, 1]] 3482 | }, 3483 | { 3484 | "op": "null", 3485 | "name": "res_5_block0_conv_sep_conv2d_weight", 3486 | "attrs": { 3487 | "kernel": "(1, 1)", 3488 | "no_bias": "True", 3489 | "num_filter": "256", 3490 | "num_group": "1", 3491 | "pad": "(0, 0)", 3492 | "stride": "(1, 1)" 3493 | }, 3494 | "inputs": [] 3495 | }, 3496 | { 3497 | "op": "Convolution", 3498 | "name": "res_5_block0_conv_sep_conv2d", 3499 | "attrs": { 3500 | "kernel": "(1, 1)", 3501 | "no_bias": "True", 3502 | "num_filter": "256", 3503 | "num_group": "1", 3504 | "pad": "(0, 0)", 3505 | "stride": "(1, 1)" 3506 | }, 3507 | "inputs": [[355, 0, 0], [356, 0, 0]] 3508 | }, 3509 | { 3510 | "op": "null", 3511 | "name": "res_5_block0_conv_sep_batchnorm_gamma", 3512 | "attrs": { 3513 | "fix_gamma": "False", 3514 | "momentum": "0.9" 3515 | }, 3516 | "inputs": [] 3517 | }, 3518 | { 3519 | "op": "null", 3520 | "name": "res_5_block0_conv_sep_batchnorm_beta", 3521 | "attrs": { 3522 | "fix_gamma": "False", 3523 | "momentum": "0.9" 3524 | }, 3525 | "inputs": [] 3526 | }, 3527 | { 3528 | "op": "null", 3529 | "name": "res_5_block0_conv_sep_batchnorm_moving_mean", 3530 | "attrs": { 3531 | "__init__": "[\"zero\", {}]", 3532 | "fix_gamma": "False", 3533 | "momentum": "0.9" 3534 | }, 3535 | "inputs": [] 3536 | }, 3537 | { 3538 | "op": "null", 3539 | "name": "res_5_block0_conv_sep_batchnorm_moving_var", 3540 | "attrs": { 3541 | "__init__": "[\"one\", {}]", 3542 | "fix_gamma": "False", 3543 | "momentum": "0.9" 3544 | }, 3545 | "inputs": [] 3546 | }, 3547 | { 3548 | "op": "BatchNorm", 3549 | "name": "res_5_block0_conv_sep_batchnorm", 3550 | "attrs": { 3551 | "fix_gamma": "False", 3552 | "momentum": "0.9" 3553 | }, 3554 | "inputs": [[357, 0, 0], [358, 0, 0], [359, 0, 0], [360, 0, 1], [361, 0, 1]] 3555 | }, 3556 | { 3557 | "op": "null", 3558 | "name": "res_5_block0_conv_sep_relu_gamma", 3559 | "attrs": { 3560 | "__init__": "[\"Constant\", {\"value\": 0.25}]", 3561 | "act_type": "prelu" 3562 | }, 3563 | "inputs": [] 3564 | }, 3565 | { 3566 | "op": "LeakyReLU", 3567 | "name": "res_5_block0_conv_sep_relu", 3568 | "attrs": {"act_type": "prelu"}, 3569 | "inputs": [[362, 0, 0], [363, 0, 0]] 3570 | }, 3571 | { 3572 | "op": "null", 3573 | "name": "res_5_block0_conv_dw_conv2d_weight", 3574 | "attrs": { 3575 | "kernel": "(3, 3)", 3576 | "no_bias": "True", 3577 | "num_filter": "256", 3578 | "num_group": "256", 3579 | "pad": "(1, 1)", 3580 | "stride": "(1, 1)" 3581 | }, 3582 | "inputs": [] 3583 | }, 3584 | { 3585 | "op": "Convolution", 3586 | "name": "res_5_block0_conv_dw_conv2d", 3587 | "attrs": { 3588 | "kernel": "(3, 3)", 3589 | "no_bias": "True", 3590 | "num_filter": "256", 3591 | "num_group": "256", 3592 | "pad": "(1, 1)", 3593 | "stride": "(1, 1)" 3594 | }, 3595 | "inputs": [[364, 0, 0], [365, 0, 0]] 3596 | }, 3597 | { 3598 | "op": "null", 3599 | "name": "res_5_block0_conv_dw_batchnorm_gamma", 3600 | "attrs": { 3601 | "fix_gamma": "False", 3602 | "momentum": "0.9" 3603 | }, 3604 | "inputs": [] 3605 | }, 3606 | { 3607 | "op": "null", 3608 | "name": "res_5_block0_conv_dw_batchnorm_beta", 3609 | "attrs": { 3610 | "fix_gamma": "False", 3611 | "momentum": "0.9" 3612 | }, 3613 | "inputs": [] 3614 | }, 3615 | { 3616 | "op": "null", 3617 | "name": "res_5_block0_conv_dw_batchnorm_moving_mean", 3618 | "attrs": { 3619 | "__init__": "[\"zero\", {}]", 3620 | "fix_gamma": "False", 3621 | "momentum": "0.9" 3622 | }, 3623 | "inputs": [] 3624 | }, 3625 | { 3626 | "op": "null", 3627 | "name": "res_5_block0_conv_dw_batchnorm_moving_var", 3628 | "attrs": { 3629 | "__init__": "[\"one\", {}]", 3630 | "fix_gamma": "False", 3631 | "momentum": "0.9" 3632 | }, 3633 | "inputs": [] 3634 | }, 3635 | { 3636 | "op": "BatchNorm", 3637 | "name": "res_5_block0_conv_dw_batchnorm", 3638 | "attrs": { 3639 | "fix_gamma": "False", 3640 | "momentum": "0.9" 3641 | }, 3642 | "inputs": [[366, 0, 0], [367, 0, 0], [368, 0, 0], [369, 0, 1], [370, 0, 1]] 3643 | }, 3644 | { 3645 | "op": "null", 3646 | "name": "res_5_block0_conv_dw_relu_gamma", 3647 | "attrs": { 3648 | "__init__": "[\"Constant\", {\"value\": 0.25}]", 3649 | "act_type": "prelu" 3650 | }, 3651 | "inputs": [] 3652 | }, 3653 | { 3654 | "op": "LeakyReLU", 3655 | "name": "res_5_block0_conv_dw_relu", 3656 | "attrs": {"act_type": "prelu"}, 3657 | "inputs": [[371, 0, 0], [372, 0, 0]] 3658 | }, 3659 | { 3660 | "op": "null", 3661 | "name": "res_5_block0_conv_proj_conv2d_weight", 3662 | "attrs": { 3663 | "kernel": "(1, 1)", 3664 | "no_bias": "True", 3665 | "num_filter": "128", 3666 | "num_group": "1", 3667 | "pad": "(0, 0)", 3668 | "stride": "(1, 1)" 3669 | }, 3670 | "inputs": [] 3671 | }, 3672 | { 3673 | "op": "Convolution", 3674 | "name": "res_5_block0_conv_proj_conv2d", 3675 | "attrs": { 3676 | "kernel": "(1, 1)", 3677 | "no_bias": "True", 3678 | "num_filter": "128", 3679 | "num_group": "1", 3680 | "pad": "(0, 0)", 3681 | "stride": "(1, 1)" 3682 | }, 3683 | "inputs": [[373, 0, 0], [374, 0, 0]] 3684 | }, 3685 | { 3686 | "op": "null", 3687 | "name": "res_5_block0_conv_proj_batchnorm_gamma", 3688 | "attrs": { 3689 | "fix_gamma": "False", 3690 | "momentum": "0.9" 3691 | }, 3692 | "inputs": [] 3693 | }, 3694 | { 3695 | "op": "null", 3696 | "name": "res_5_block0_conv_proj_batchnorm_beta", 3697 | "attrs": { 3698 | "fix_gamma": "False", 3699 | "momentum": "0.9" 3700 | }, 3701 | "inputs": [] 3702 | }, 3703 | { 3704 | "op": "null", 3705 | "name": "res_5_block0_conv_proj_batchnorm_moving_mean", 3706 | "attrs": { 3707 | "__init__": "[\"zero\", {}]", 3708 | "fix_gamma": "False", 3709 | "momentum": "0.9" 3710 | }, 3711 | "inputs": [] 3712 | }, 3713 | { 3714 | "op": "null", 3715 | "name": "res_5_block0_conv_proj_batchnorm_moving_var", 3716 | "attrs": { 3717 | "__init__": "[\"one\", {}]", 3718 | "fix_gamma": "False", 3719 | "momentum": "0.9" 3720 | }, 3721 | "inputs": [] 3722 | }, 3723 | { 3724 | "op": "BatchNorm", 3725 | "name": "res_5_block0_conv_proj_batchnorm", 3726 | "attrs": { 3727 | "fix_gamma": "False", 3728 | "momentum": "0.9" 3729 | }, 3730 | "inputs": [[375, 0, 0], [376, 0, 0], [377, 0, 0], [378, 0, 1], [379, 0, 1]] 3731 | }, 3732 | { 3733 | "op": "elemwise_add", 3734 | "name": "_plus10", 3735 | "inputs": [[380, 0, 0], [355, 0, 0]] 3736 | }, 3737 | { 3738 | "op": "null", 3739 | "name": "res_5_block1_conv_sep_conv2d_weight", 3740 | "attrs": { 3741 | "kernel": "(1, 1)", 3742 | "no_bias": "True", 3743 | "num_filter": "256", 3744 | "num_group": "1", 3745 | "pad": "(0, 0)", 3746 | "stride": "(1, 1)" 3747 | }, 3748 | "inputs": [] 3749 | }, 3750 | { 3751 | "op": "Convolution", 3752 | "name": "res_5_block1_conv_sep_conv2d", 3753 | "attrs": { 3754 | "kernel": "(1, 1)", 3755 | "no_bias": "True", 3756 | "num_filter": "256", 3757 | "num_group": "1", 3758 | "pad": "(0, 0)", 3759 | "stride": "(1, 1)" 3760 | }, 3761 | "inputs": [[381, 0, 0], [382, 0, 0]] 3762 | }, 3763 | { 3764 | "op": "null", 3765 | "name": "res_5_block1_conv_sep_batchnorm_gamma", 3766 | "attrs": { 3767 | "fix_gamma": "False", 3768 | "momentum": "0.9" 3769 | }, 3770 | "inputs": [] 3771 | }, 3772 | { 3773 | "op": "null", 3774 | "name": "res_5_block1_conv_sep_batchnorm_beta", 3775 | "attrs": { 3776 | "fix_gamma": "False", 3777 | "momentum": "0.9" 3778 | }, 3779 | "inputs": [] 3780 | }, 3781 | { 3782 | "op": "null", 3783 | "name": "res_5_block1_conv_sep_batchnorm_moving_mean", 3784 | "attrs": { 3785 | "__init__": "[\"zero\", {}]", 3786 | "fix_gamma": "False", 3787 | "momentum": "0.9" 3788 | }, 3789 | "inputs": [] 3790 | }, 3791 | { 3792 | "op": "null", 3793 | "name": "res_5_block1_conv_sep_batchnorm_moving_var", 3794 | "attrs": { 3795 | "__init__": "[\"one\", {}]", 3796 | "fix_gamma": "False", 3797 | "momentum": "0.9" 3798 | }, 3799 | "inputs": [] 3800 | }, 3801 | { 3802 | "op": "BatchNorm", 3803 | "name": "res_5_block1_conv_sep_batchnorm", 3804 | "attrs": { 3805 | "fix_gamma": "False", 3806 | "momentum": "0.9" 3807 | }, 3808 | "inputs": [[383, 0, 0], [384, 0, 0], [385, 0, 0], [386, 0, 1], [387, 0, 1]] 3809 | }, 3810 | { 3811 | "op": "null", 3812 | "name": "res_5_block1_conv_sep_relu_gamma", 3813 | "attrs": { 3814 | "__init__": "[\"Constant\", {\"value\": 0.25}]", 3815 | "act_type": "prelu" 3816 | }, 3817 | "inputs": [] 3818 | }, 3819 | { 3820 | "op": "LeakyReLU", 3821 | "name": "res_5_block1_conv_sep_relu", 3822 | "attrs": {"act_type": "prelu"}, 3823 | "inputs": [[388, 0, 0], [389, 0, 0]] 3824 | }, 3825 | { 3826 | "op": "null", 3827 | "name": "res_5_block1_conv_dw_conv2d_weight", 3828 | "attrs": { 3829 | "kernel": "(3, 3)", 3830 | "no_bias": "True", 3831 | "num_filter": "256", 3832 | "num_group": "256", 3833 | "pad": "(1, 1)", 3834 | "stride": "(1, 1)" 3835 | }, 3836 | "inputs": [] 3837 | }, 3838 | { 3839 | "op": "Convolution", 3840 | "name": "res_5_block1_conv_dw_conv2d", 3841 | "attrs": { 3842 | "kernel": "(3, 3)", 3843 | "no_bias": "True", 3844 | "num_filter": "256", 3845 | "num_group": "256", 3846 | "pad": "(1, 1)", 3847 | "stride": "(1, 1)" 3848 | }, 3849 | "inputs": [[390, 0, 0], [391, 0, 0]] 3850 | }, 3851 | { 3852 | "op": "null", 3853 | "name": "res_5_block1_conv_dw_batchnorm_gamma", 3854 | "attrs": { 3855 | "fix_gamma": "False", 3856 | "momentum": "0.9" 3857 | }, 3858 | "inputs": [] 3859 | }, 3860 | { 3861 | "op": "null", 3862 | "name": "res_5_block1_conv_dw_batchnorm_beta", 3863 | "attrs": { 3864 | "fix_gamma": "False", 3865 | "momentum": "0.9" 3866 | }, 3867 | "inputs": [] 3868 | }, 3869 | { 3870 | "op": "null", 3871 | "name": "res_5_block1_conv_dw_batchnorm_moving_mean", 3872 | "attrs": { 3873 | "__init__": "[\"zero\", {}]", 3874 | "fix_gamma": "False", 3875 | "momentum": "0.9" 3876 | }, 3877 | "inputs": [] 3878 | }, 3879 | { 3880 | "op": "null", 3881 | "name": "res_5_block1_conv_dw_batchnorm_moving_var", 3882 | "attrs": { 3883 | "__init__": "[\"one\", {}]", 3884 | "fix_gamma": "False", 3885 | "momentum": "0.9" 3886 | }, 3887 | "inputs": [] 3888 | }, 3889 | { 3890 | "op": "BatchNorm", 3891 | "name": "res_5_block1_conv_dw_batchnorm", 3892 | "attrs": { 3893 | "fix_gamma": "False", 3894 | "momentum": "0.9" 3895 | }, 3896 | "inputs": [[392, 0, 0], [393, 0, 0], [394, 0, 0], [395, 0, 1], [396, 0, 1]] 3897 | }, 3898 | { 3899 | "op": "null", 3900 | "name": "res_5_block1_conv_dw_relu_gamma", 3901 | "attrs": { 3902 | "__init__": "[\"Constant\", {\"value\": 0.25}]", 3903 | "act_type": "prelu" 3904 | }, 3905 | "inputs": [] 3906 | }, 3907 | { 3908 | "op": "LeakyReLU", 3909 | "name": "res_5_block1_conv_dw_relu", 3910 | "attrs": {"act_type": "prelu"}, 3911 | "inputs": [[397, 0, 0], [398, 0, 0]] 3912 | }, 3913 | { 3914 | "op": "null", 3915 | "name": "res_5_block1_conv_proj_conv2d_weight", 3916 | "attrs": { 3917 | "kernel": "(1, 1)", 3918 | "no_bias": "True", 3919 | "num_filter": "128", 3920 | "num_group": "1", 3921 | "pad": "(0, 0)", 3922 | "stride": "(1, 1)" 3923 | }, 3924 | "inputs": [] 3925 | }, 3926 | { 3927 | "op": "Convolution", 3928 | "name": "res_5_block1_conv_proj_conv2d", 3929 | "attrs": { 3930 | "kernel": "(1, 1)", 3931 | "no_bias": "True", 3932 | "num_filter": "128", 3933 | "num_group": "1", 3934 | "pad": "(0, 0)", 3935 | "stride": "(1, 1)" 3936 | }, 3937 | "inputs": [[399, 0, 0], [400, 0, 0]] 3938 | }, 3939 | { 3940 | "op": "null", 3941 | "name": "res_5_block1_conv_proj_batchnorm_gamma", 3942 | "attrs": { 3943 | "fix_gamma": "False", 3944 | "momentum": "0.9" 3945 | }, 3946 | "inputs": [] 3947 | }, 3948 | { 3949 | "op": "null", 3950 | "name": "res_5_block1_conv_proj_batchnorm_beta", 3951 | "attrs": { 3952 | "fix_gamma": "False", 3953 | "momentum": "0.9" 3954 | }, 3955 | "inputs": [] 3956 | }, 3957 | { 3958 | "op": "null", 3959 | "name": "res_5_block1_conv_proj_batchnorm_moving_mean", 3960 | "attrs": { 3961 | "__init__": "[\"zero\", {}]", 3962 | "fix_gamma": "False", 3963 | "momentum": "0.9" 3964 | }, 3965 | "inputs": [] 3966 | }, 3967 | { 3968 | "op": "null", 3969 | "name": "res_5_block1_conv_proj_batchnorm_moving_var", 3970 | "attrs": { 3971 | "__init__": "[\"one\", {}]", 3972 | "fix_gamma": "False", 3973 | "momentum": "0.9" 3974 | }, 3975 | "inputs": [] 3976 | }, 3977 | { 3978 | "op": "BatchNorm", 3979 | "name": "res_5_block1_conv_proj_batchnorm", 3980 | "attrs": { 3981 | "fix_gamma": "False", 3982 | "momentum": "0.9" 3983 | }, 3984 | "inputs": [[401, 0, 0], [402, 0, 0], [403, 0, 0], [404, 0, 1], [405, 0, 1]] 3985 | }, 3986 | { 3987 | "op": "elemwise_add", 3988 | "name": "_plus11", 3989 | "inputs": [[406, 0, 0], [381, 0, 0]] 3990 | }, 3991 | { 3992 | "op": "null", 3993 | "name": "conv_6sep_conv2d_weight", 3994 | "attrs": { 3995 | "kernel": "(1, 1)", 3996 | "no_bias": "True", 3997 | "num_filter": "512", 3998 | "num_group": "1", 3999 | "pad": "(0, 0)", 4000 | "stride": "(1, 1)" 4001 | }, 4002 | "inputs": [] 4003 | }, 4004 | { 4005 | "op": "Convolution", 4006 | "name": "conv_6sep_conv2d", 4007 | "attrs": { 4008 | "kernel": "(1, 1)", 4009 | "no_bias": "True", 4010 | "num_filter": "512", 4011 | "num_group": "1", 4012 | "pad": "(0, 0)", 4013 | "stride": "(1, 1)" 4014 | }, 4015 | "inputs": [[407, 0, 0], [408, 0, 0]] 4016 | }, 4017 | { 4018 | "op": "null", 4019 | "name": "conv_6sep_batchnorm_gamma", 4020 | "attrs": { 4021 | "fix_gamma": "False", 4022 | "momentum": "0.9" 4023 | }, 4024 | "inputs": [] 4025 | }, 4026 | { 4027 | "op": "null", 4028 | "name": "conv_6sep_batchnorm_beta", 4029 | "attrs": { 4030 | "fix_gamma": "False", 4031 | "momentum": "0.9" 4032 | }, 4033 | "inputs": [] 4034 | }, 4035 | { 4036 | "op": "null", 4037 | "name": "conv_6sep_batchnorm_moving_mean", 4038 | "attrs": { 4039 | "__init__": "[\"zero\", {}]", 4040 | "fix_gamma": "False", 4041 | "momentum": "0.9" 4042 | }, 4043 | "inputs": [] 4044 | }, 4045 | { 4046 | "op": "null", 4047 | "name": "conv_6sep_batchnorm_moving_var", 4048 | "attrs": { 4049 | "__init__": "[\"one\", {}]", 4050 | "fix_gamma": "False", 4051 | "momentum": "0.9" 4052 | }, 4053 | "inputs": [] 4054 | }, 4055 | { 4056 | "op": "BatchNorm", 4057 | "name": "conv_6sep_batchnorm", 4058 | "attrs": { 4059 | "fix_gamma": "False", 4060 | "momentum": "0.9" 4061 | }, 4062 | "inputs": [[409, 0, 0], [410, 0, 0], [411, 0, 0], [412, 0, 1], [413, 0, 1]] 4063 | }, 4064 | { 4065 | "op": "null", 4066 | "name": "conv_6sep_relu_gamma", 4067 | "attrs": { 4068 | "__init__": "[\"Constant\", {\"value\": 0.25}]", 4069 | "act_type": "prelu" 4070 | }, 4071 | "inputs": [] 4072 | }, 4073 | { 4074 | "op": "LeakyReLU", 4075 | "name": "conv_6sep_relu", 4076 | "attrs": {"act_type": "prelu"}, 4077 | "inputs": [[414, 0, 0], [415, 0, 0]] 4078 | }, 4079 | { 4080 | "op": "null", 4081 | "name": "conv_6dw7_7_conv2d_weight", 4082 | "attrs": { 4083 | "kernel": "(7, 7)", 4084 | "no_bias": "True", 4085 | "num_filter": "512", 4086 | "num_group": "512", 4087 | "pad": "(0, 0)", 4088 | "stride": "(1, 1)" 4089 | }, 4090 | "inputs": [] 4091 | }, 4092 | { 4093 | "op": "Convolution", 4094 | "name": "conv_6dw7_7_conv2d", 4095 | "attrs": { 4096 | "kernel": "(7, 7)", 4097 | "no_bias": "True", 4098 | "num_filter": "512", 4099 | "num_group": "512", 4100 | "pad": "(0, 0)", 4101 | "stride": "(1, 1)" 4102 | }, 4103 | "inputs": [[416, 0, 0], [417, 0, 0]] 4104 | }, 4105 | { 4106 | "op": "null", 4107 | "name": "conv_6dw7_7_batchnorm_gamma", 4108 | "attrs": { 4109 | "fix_gamma": "False", 4110 | "momentum": "0.9" 4111 | }, 4112 | "inputs": [] 4113 | }, 4114 | { 4115 | "op": "null", 4116 | "name": "conv_6dw7_7_batchnorm_beta", 4117 | "attrs": { 4118 | "fix_gamma": "False", 4119 | "momentum": "0.9" 4120 | }, 4121 | "inputs": [] 4122 | }, 4123 | { 4124 | "op": "null", 4125 | "name": "conv_6dw7_7_batchnorm_moving_mean", 4126 | "attrs": { 4127 | "__init__": "[\"zero\", {}]", 4128 | "fix_gamma": "False", 4129 | "momentum": "0.9" 4130 | }, 4131 | "inputs": [] 4132 | }, 4133 | { 4134 | "op": "null", 4135 | "name": "conv_6dw7_7_batchnorm_moving_var", 4136 | "attrs": { 4137 | "__init__": "[\"one\", {}]", 4138 | "fix_gamma": "False", 4139 | "momentum": "0.9" 4140 | }, 4141 | "inputs": [] 4142 | }, 4143 | { 4144 | "op": "BatchNorm", 4145 | "name": "conv_6dw7_7_batchnorm", 4146 | "attrs": { 4147 | "fix_gamma": "False", 4148 | "momentum": "0.9" 4149 | }, 4150 | "inputs": [[418, 0, 0], [419, 0, 0], [420, 0, 0], [421, 0, 1], [422, 0, 1]] 4151 | }, 4152 | { 4153 | "op": "null", 4154 | "name": "pre_fc1_weight", 4155 | "attrs": { 4156 | "__lr_mult__": "1.0", 4157 | "__shape__": "(512, 512)", 4158 | "__wd_mult__": "10.0" 4159 | }, 4160 | "inputs": [] 4161 | }, 4162 | { 4163 | "op": "null", 4164 | "name": "pre_fc1_bias", 4165 | "attrs": {"num_hidden": "512"}, 4166 | "inputs": [] 4167 | }, 4168 | { 4169 | "op": "FullyConnected", 4170 | "name": "pre_fc1", 4171 | "attrs": {"num_hidden": "512"}, 4172 | "inputs": [[423, 0, 0], [424, 0, 0], [425, 0, 0]] 4173 | }, 4174 | { 4175 | "op": "null", 4176 | "name": "fc1_gamma", 4177 | "attrs": { 4178 | "eps": "2e-05", 4179 | "fix_gamma": "True", 4180 | "momentum": "0.9" 4181 | }, 4182 | "inputs": [] 4183 | }, 4184 | { 4185 | "op": "null", 4186 | "name": "fc1_beta", 4187 | "attrs": { 4188 | "eps": "2e-05", 4189 | "fix_gamma": "True", 4190 | "momentum": "0.9" 4191 | }, 4192 | "inputs": [] 4193 | }, 4194 | { 4195 | "op": "null", 4196 | "name": "fc1_moving_mean", 4197 | "attrs": { 4198 | "__init__": "[\"zero\", {}]", 4199 | "eps": "2e-05", 4200 | "fix_gamma": "True", 4201 | "momentum": "0.9" 4202 | }, 4203 | "inputs": [] 4204 | }, 4205 | { 4206 | "op": "null", 4207 | "name": "fc1_moving_var", 4208 | "attrs": { 4209 | "__init__": "[\"one\", {}]", 4210 | "eps": "2e-05", 4211 | "fix_gamma": "True", 4212 | "momentum": "0.9" 4213 | }, 4214 | "inputs": [] 4215 | }, 4216 | { 4217 | "op": "BatchNorm", 4218 | "name": "fc1", 4219 | "attrs": { 4220 | "eps": "2e-05", 4221 | "fix_gamma": "True", 4222 | "momentum": "0.9" 4223 | }, 4224 | "inputs": [[426, 0, 0], [427, 0, 0], [428, 0, 0], [429, 0, 1], [430, 0, 1]] 4225 | } 4226 | ], 4227 | "arg_nodes": [ 4228 | 0, 4229 | 3, 4230 | 5, 4231 | 6, 4232 | 7, 4233 | 8, 4234 | 10, 4235 | 12, 4236 | 14, 4237 | 15, 4238 | 16, 4239 | 17, 4240 | 19, 4241 | 21, 4242 | 23, 4243 | 24, 4244 | 25, 4245 | 26, 4246 | 28, 4247 | 30, 4248 | 32, 4249 | 33, 4250 | 34, 4251 | 35, 4252 | 37, 4253 | 39, 4254 | 41, 4255 | 42, 4256 | 43, 4257 | 44, 4258 | 46, 4259 | 48, 4260 | 49, 4261 | 50, 4262 | 51, 4263 | 53, 4264 | 55, 4265 | 57, 4266 | 58, 4267 | 59, 4268 | 60, 4269 | 62, 4270 | 64, 4271 | 66, 4272 | 67, 4273 | 68, 4274 | 69, 4275 | 72, 4276 | 74, 4277 | 75, 4278 | 76, 4279 | 77, 4280 | 79, 4281 | 81, 4282 | 83, 4283 | 84, 4284 | 85, 4285 | 86, 4286 | 88, 4287 | 90, 4288 | 92, 4289 | 93, 4290 | 94, 4291 | 95, 4292 | 98, 4293 | 100, 4294 | 101, 4295 | 102, 4296 | 103, 4297 | 105, 4298 | 107, 4299 | 109, 4300 | 110, 4301 | 111, 4302 | 112, 4303 | 114, 4304 | 116, 4305 | 118, 4306 | 119, 4307 | 120, 4308 | 121, 4309 | 124, 4310 | 126, 4311 | 127, 4312 | 128, 4313 | 129, 4314 | 131, 4315 | 133, 4316 | 135, 4317 | 136, 4318 | 137, 4319 | 138, 4320 | 140, 4321 | 142, 4322 | 144, 4323 | 145, 4324 | 146, 4325 | 147, 4326 | 150, 4327 | 152, 4328 | 153, 4329 | 154, 4330 | 155, 4331 | 157, 4332 | 159, 4333 | 161, 4334 | 162, 4335 | 163, 4336 | 164, 4337 | 166, 4338 | 168, 4339 | 170, 4340 | 171, 4341 | 172, 4342 | 173, 4343 | 175, 4344 | 177, 4345 | 178, 4346 | 179, 4347 | 180, 4348 | 182, 4349 | 184, 4350 | 186, 4351 | 187, 4352 | 188, 4353 | 189, 4354 | 191, 4355 | 193, 4356 | 195, 4357 | 196, 4358 | 197, 4359 | 198, 4360 | 201, 4361 | 203, 4362 | 204, 4363 | 205, 4364 | 206, 4365 | 208, 4366 | 210, 4367 | 212, 4368 | 213, 4369 | 214, 4370 | 215, 4371 | 217, 4372 | 219, 4373 | 221, 4374 | 222, 4375 | 223, 4376 | 224, 4377 | 227, 4378 | 229, 4379 | 230, 4380 | 231, 4381 | 232, 4382 | 234, 4383 | 236, 4384 | 238, 4385 | 239, 4386 | 240, 4387 | 241, 4388 | 243, 4389 | 245, 4390 | 247, 4391 | 248, 4392 | 249, 4393 | 250, 4394 | 253, 4395 | 255, 4396 | 256, 4397 | 257, 4398 | 258, 4399 | 260, 4400 | 262, 4401 | 264, 4402 | 265, 4403 | 266, 4404 | 267, 4405 | 269, 4406 | 271, 4407 | 273, 4408 | 274, 4409 | 275, 4410 | 276, 4411 | 279, 4412 | 281, 4413 | 282, 4414 | 283, 4415 | 284, 4416 | 286, 4417 | 288, 4418 | 290, 4419 | 291, 4420 | 292, 4421 | 293, 4422 | 295, 4423 | 297, 4424 | 299, 4425 | 300, 4426 | 301, 4427 | 302, 4428 | 305, 4429 | 307, 4430 | 308, 4431 | 309, 4432 | 310, 4433 | 312, 4434 | 314, 4435 | 316, 4436 | 317, 4437 | 318, 4438 | 319, 4439 | 321, 4440 | 323, 4441 | 325, 4442 | 326, 4443 | 327, 4444 | 328, 4445 | 331, 4446 | 333, 4447 | 334, 4448 | 335, 4449 | 336, 4450 | 338, 4451 | 340, 4452 | 342, 4453 | 343, 4454 | 344, 4455 | 345, 4456 | 347, 4457 | 349, 4458 | 351, 4459 | 352, 4460 | 353, 4461 | 354, 4462 | 356, 4463 | 358, 4464 | 359, 4465 | 360, 4466 | 361, 4467 | 363, 4468 | 365, 4469 | 367, 4470 | 368, 4471 | 369, 4472 | 370, 4473 | 372, 4474 | 374, 4475 | 376, 4476 | 377, 4477 | 378, 4478 | 379, 4479 | 382, 4480 | 384, 4481 | 385, 4482 | 386, 4483 | 387, 4484 | 389, 4485 | 391, 4486 | 393, 4487 | 394, 4488 | 395, 4489 | 396, 4490 | 398, 4491 | 400, 4492 | 402, 4493 | 403, 4494 | 404, 4495 | 405, 4496 | 408, 4497 | 410, 4498 | 411, 4499 | 412, 4500 | 413, 4501 | 415, 4502 | 417, 4503 | 419, 4504 | 420, 4505 | 421, 4506 | 422, 4507 | 424, 4508 | 425, 4509 | 427, 4510 | 428, 4511 | 429, 4512 | 430 4513 | ], 4514 | "node_row_ptr": [ 4515 | 0, 4516 | 1, 4517 | 2, 4518 | 3, 4519 | 4, 4520 | 5, 4521 | 6, 4522 | 7, 4523 | 8, 4524 | 9, 4525 | 12, 4526 | 13, 4527 | 14, 4528 | 15, 4529 | 16, 4530 | 17, 4531 | 18, 4532 | 19, 4533 | 20, 4534 | 23, 4535 | 24, 4536 | 25, 4537 | 26, 4538 | 27, 4539 | 28, 4540 | 29, 4541 | 30, 4542 | 31, 4543 | 34, 4544 | 35, 4545 | 36, 4546 | 37, 4547 | 38, 4548 | 39, 4549 | 40, 4550 | 41, 4551 | 42, 4552 | 45, 4553 | 46, 4554 | 47, 4555 | 48, 4556 | 49, 4557 | 50, 4558 | 51, 4559 | 52, 4560 | 53, 4561 | 56, 4562 | 57, 4563 | 58, 4564 | 59, 4565 | 60, 4566 | 61, 4567 | 62, 4568 | 65, 4569 | 66, 4570 | 67, 4571 | 68, 4572 | 69, 4573 | 70, 4574 | 71, 4575 | 72, 4576 | 73, 4577 | 76, 4578 | 77, 4579 | 78, 4580 | 79, 4581 | 80, 4582 | 81, 4583 | 82, 4584 | 83, 4585 | 84, 4586 | 87, 4587 | 88, 4588 | 89, 4589 | 90, 4590 | 91, 4591 | 92, 4592 | 93, 4593 | 94, 4594 | 97, 4595 | 98, 4596 | 99, 4597 | 100, 4598 | 101, 4599 | 102, 4600 | 103, 4601 | 104, 4602 | 105, 4603 | 108, 4604 | 109, 4605 | 110, 4606 | 111, 4607 | 112, 4608 | 113, 4609 | 114, 4610 | 115, 4611 | 116, 4612 | 119, 4613 | 120, 4614 | 121, 4615 | 122, 4616 | 123, 4617 | 124, 4618 | 125, 4619 | 126, 4620 | 129, 4621 | 130, 4622 | 131, 4623 | 132, 4624 | 133, 4625 | 134, 4626 | 135, 4627 | 136, 4628 | 137, 4629 | 140, 4630 | 141, 4631 | 142, 4632 | 143, 4633 | 144, 4634 | 145, 4635 | 146, 4636 | 147, 4637 | 148, 4638 | 151, 4639 | 152, 4640 | 153, 4641 | 154, 4642 | 155, 4643 | 156, 4644 | 157, 4645 | 158, 4646 | 161, 4647 | 162, 4648 | 163, 4649 | 164, 4650 | 165, 4651 | 166, 4652 | 167, 4653 | 168, 4654 | 169, 4655 | 172, 4656 | 173, 4657 | 174, 4658 | 175, 4659 | 176, 4660 | 177, 4661 | 178, 4662 | 179, 4663 | 180, 4664 | 183, 4665 | 184, 4666 | 185, 4667 | 186, 4668 | 187, 4669 | 188, 4670 | 189, 4671 | 190, 4672 | 193, 4673 | 194, 4674 | 195, 4675 | 196, 4676 | 197, 4677 | 198, 4678 | 199, 4679 | 200, 4680 | 201, 4681 | 204, 4682 | 205, 4683 | 206, 4684 | 207, 4685 | 208, 4686 | 209, 4687 | 210, 4688 | 211, 4689 | 212, 4690 | 215, 4691 | 216, 4692 | 217, 4693 | 218, 4694 | 219, 4695 | 220, 4696 | 221, 4697 | 224, 4698 | 225, 4699 | 226, 4700 | 227, 4701 | 228, 4702 | 229, 4703 | 230, 4704 | 231, 4705 | 232, 4706 | 235, 4707 | 236, 4708 | 237, 4709 | 238, 4710 | 239, 4711 | 240, 4712 | 241, 4713 | 242, 4714 | 243, 4715 | 246, 4716 | 247, 4717 | 248, 4718 | 249, 4719 | 250, 4720 | 251, 4721 | 252, 4722 | 253, 4723 | 256, 4724 | 257, 4725 | 258, 4726 | 259, 4727 | 260, 4728 | 261, 4729 | 262, 4730 | 263, 4731 | 264, 4732 | 267, 4733 | 268, 4734 | 269, 4735 | 270, 4736 | 271, 4737 | 272, 4738 | 273, 4739 | 274, 4740 | 275, 4741 | 278, 4742 | 279, 4743 | 280, 4744 | 281, 4745 | 282, 4746 | 283, 4747 | 284, 4748 | 285, 4749 | 288, 4750 | 289, 4751 | 290, 4752 | 291, 4753 | 292, 4754 | 293, 4755 | 294, 4756 | 295, 4757 | 296, 4758 | 299, 4759 | 300, 4760 | 301, 4761 | 302, 4762 | 303, 4763 | 304, 4764 | 305, 4765 | 306, 4766 | 307, 4767 | 310, 4768 | 311, 4769 | 312, 4770 | 313, 4771 | 314, 4772 | 315, 4773 | 316, 4774 | 317, 4775 | 320, 4776 | 321, 4777 | 322, 4778 | 323, 4779 | 324, 4780 | 325, 4781 | 326, 4782 | 327, 4783 | 328, 4784 | 331, 4785 | 332, 4786 | 333, 4787 | 334, 4788 | 335, 4789 | 336, 4790 | 337, 4791 | 338, 4792 | 339, 4793 | 342, 4794 | 343, 4795 | 344, 4796 | 345, 4797 | 346, 4798 | 347, 4799 | 348, 4800 | 349, 4801 | 352, 4802 | 353, 4803 | 354, 4804 | 355, 4805 | 356, 4806 | 357, 4807 | 358, 4808 | 359, 4809 | 360, 4810 | 363, 4811 | 364, 4812 | 365, 4813 | 366, 4814 | 367, 4815 | 368, 4816 | 369, 4817 | 370, 4818 | 371, 4819 | 374, 4820 | 375, 4821 | 376, 4822 | 377, 4823 | 378, 4824 | 379, 4825 | 380, 4826 | 381, 4827 | 384, 4828 | 385, 4829 | 386, 4830 | 387, 4831 | 388, 4832 | 389, 4833 | 390, 4834 | 391, 4835 | 392, 4836 | 395, 4837 | 396, 4838 | 397, 4839 | 398, 4840 | 399, 4841 | 400, 4842 | 401, 4843 | 402, 4844 | 403, 4845 | 406, 4846 | 407, 4847 | 408, 4848 | 409, 4849 | 410, 4850 | 411, 4851 | 412, 4852 | 413, 4853 | 416, 4854 | 417, 4855 | 418, 4856 | 419, 4857 | 420, 4858 | 421, 4859 | 422, 4860 | 423, 4861 | 424, 4862 | 427, 4863 | 428, 4864 | 429, 4865 | 430, 4866 | 431, 4867 | 432, 4868 | 433, 4869 | 434, 4870 | 435, 4871 | 438, 4872 | 439, 4873 | 440, 4874 | 441, 4875 | 442, 4876 | 443, 4877 | 444, 4878 | 447, 4879 | 448, 4880 | 449, 4881 | 450, 4882 | 451, 4883 | 452, 4884 | 453, 4885 | 454, 4886 | 455, 4887 | 458, 4888 | 459, 4889 | 460, 4890 | 461, 4891 | 462, 4892 | 463, 4893 | 464, 4894 | 465, 4895 | 466, 4896 | 469, 4897 | 470, 4898 | 471, 4899 | 472, 4900 | 473, 4901 | 474, 4902 | 475, 4903 | 476, 4904 | 479, 4905 | 480, 4906 | 481, 4907 | 482, 4908 | 483, 4909 | 484, 4910 | 485, 4911 | 486, 4912 | 487, 4913 | 490, 4914 | 491, 4915 | 492, 4916 | 493, 4917 | 494, 4918 | 495, 4919 | 496, 4920 | 497, 4921 | 498, 4922 | 501, 4923 | 502, 4924 | 503, 4925 | 504, 4926 | 505, 4927 | 506, 4928 | 507, 4929 | 508, 4930 | 511, 4931 | 512, 4932 | 513, 4933 | 514, 4934 | 515, 4935 | 516, 4936 | 517, 4937 | 518, 4938 | 519, 4939 | 522, 4940 | 523, 4941 | 524, 4942 | 525, 4943 | 526, 4944 | 527, 4945 | 528, 4946 | 529, 4947 | 532 4948 | ], 4949 | "heads": [[431, 0, 0]], 4950 | "attrs": {"mxnet_version": ["int", 10100]} 4951 | } -------------------------------------------------------------------------------- /petrained-models: -------------------------------------------------------------------------------- 1 | https://pan.baidu.com/s/1xBq9FoL79z7K892aFWkmFw (train for softmax) 2 | -------------------------------------------------------------------------------- /symbol_utils.py: -------------------------------------------------------------------------------- 1 | import mxnet as mx 2 | 3 | def Conv(**kwargs): 4 | #name = kwargs.get('name') 5 | #_weight = mx.symbol.Variable(name+'_weight') 6 | #_bias = mx.symbol.Variable(name+'_bias', lr_mult=2.0, wd_mult=0.0) 7 | #body = mx.sym.Convolution(weight = _weight, bias = _bias, **kwargs) 8 | body = mx.sym.Convolution(**kwargs) 9 | return body 10 | 11 | def Act(data, act_type, name): 12 | #ignore param act_type, set it in this function 13 | body = mx.sym.LeakyReLU(data = data, act_type='prelu', name = name) 14 | return body 15 | 16 | 17 | def get_fc1(last_conv, num_classes, fc_type): 18 | bn_mom = 0.9 19 | body = last_conv 20 | if fc_type=='E': 21 | body = mx.sym.BatchNorm(data=body, fix_gamma=False, eps=2e-5, momentum=bn_mom, name='bn1') 22 | body = mx.symbol.Dropout(data=body, p=0.4) 23 | fc1 = mx.sym.FullyConnected(data=body, num_hidden=num_classes, name='pre_fc1') 24 | fc1 = mx.sym.BatchNorm(data=fc1, fix_gamma=True, eps=2e-5, momentum=bn_mom, name='fc1') 25 | elif fc_type=='F': 26 | body = mx.sym.BatchNorm(data=body, fix_gamma=False, eps=2e-5, momentum=bn_mom, name='bn1') 27 | body = mx.symbol.Dropout(data=body, p=0.4) 28 | fc1 = mx.sym.FullyConnected(data=body, num_hidden=num_classes, name='fc1') 29 | elif fc_type=='G': 30 | body = mx.sym.BatchNorm(data=body, fix_gamma=False, eps=2e-5, momentum=bn_mom, name='bn1') 31 | fc1 = mx.sym.FullyConnected(data=body, num_hidden=num_classes, name='fc1') 32 | elif fc_type=='H': 33 | fc1 = mx.sym.FullyConnected(data=body, num_hidden=num_classes, name='fc1') 34 | elif fc_type=='I': 35 | body = mx.sym.BatchNorm(data=body, fix_gamma=False, eps=2e-5, momentum=bn_mom, name='bn1') 36 | fc1 = mx.sym.FullyConnected(data=body, num_hidden=num_classes, name='pre_fc1') 37 | fc1 = mx.sym.BatchNorm(data=fc1, fix_gamma=True, eps=2e-5, momentum=bn_mom, name='fc1') 38 | elif fc_type=='J': 39 | fc1 = mx.sym.FullyConnected(data=body, num_hidden=num_classes, name='pre_fc1') 40 | fc1 = mx.sym.BatchNorm(data=fc1, fix_gamma=True, eps=2e-5, momentum=bn_mom, name='fc1') 41 | else: 42 | bn1 = mx.sym.BatchNorm(data=body, fix_gamma=False, eps=2e-5, momentum=bn_mom, name='bn1') 43 | relu1 = Act(data=bn1, act_type='relu', name='relu1') 44 | # Although kernel is not used here when global_pool=True, we should put one 45 | pool1 = mx.sym.Pooling(data=relu1, global_pool=True, kernel=(7, 7), pool_type='avg', name='pool1') 46 | flat = mx.sym.Flatten(data=pool1) 47 | if len(fc_type)>1: 48 | if fc_type[1]=='X': 49 | print('dropout mode') 50 | flat = mx.symbol.Dropout(data=flat, p=0.2) 51 | fc_type = fc_type[0] 52 | if fc_type=='A': 53 | fc1 = flat 54 | else: 55 | #B-D 56 | #B 57 | fc1 = mx.sym.FullyConnected(data=flat, num_hidden=num_classes, name='pre_fc1') 58 | if fc_type=='C': 59 | fc1 = mx.sym.BatchNorm(data=fc1, fix_gamma=True, eps=2e-5, momentum=bn_mom, name='fc1') 60 | elif fc_type=='D': 61 | fc1 = mx.sym.BatchNorm(data=fc1, fix_gamma=True, eps=2e-5, momentum=bn_mom, name='fc1') 62 | fc1 = Act(data=fc1, act_type='relu', name='fc1_relu') 63 | return fc1 64 | 65 | def residual_unit_v3(data, num_filter, stride, dim_match, name, **kwargs): 66 | 67 | """Return ResNet Unit symbol for building ResNet 68 | Parameters 69 | ---------- 70 | data : str 71 | Input data 72 | num_filter : int 73 | Number of output channels 74 | bnf : int 75 | Bottle neck channels factor with regard to num_filter 76 | stride : tuple 77 | Stride used in convolution 78 | dim_match : Boolean 79 | True means channel number between input and output is the same, otherwise means differ 80 | name : str 81 | Base name of the operators 82 | workspace : int 83 | Workspace used in convolution operator 84 | """ 85 | bn_mom = kwargs.get('bn_mom', 0.9) 86 | workspace = kwargs.get('workspace', 256) 87 | memonger = kwargs.get('memonger', False) 88 | #print('in unit3') 89 | bn1 = mx.sym.BatchNorm(data=data, fix_gamma=False, eps=2e-5, momentum=bn_mom, name=name + '_bn1') 90 | conv1 = Conv(data=bn1, num_filter=num_filter, kernel=(3,3), stride=(1,1), pad=(1,1), 91 | no_bias=True, workspace=workspace, name=name + '_conv1') 92 | bn2 = mx.sym.BatchNorm(data=conv1, fix_gamma=False, eps=2e-5, momentum=bn_mom, name=name + '_bn2') 93 | act1 = Act(data=bn2, act_type='relu', name=name + '_relu1') 94 | conv2 = Conv(data=act1, num_filter=num_filter, kernel=(3,3), stride=stride, pad=(1,1), 95 | no_bias=True, workspace=workspace, name=name + '_conv2') 96 | bn3 = mx.sym.BatchNorm(data=conv2, fix_gamma=False, eps=2e-5, momentum=bn_mom, name=name + '_bn3') 97 | 98 | if dim_match: 99 | shortcut = data 100 | else: 101 | conv1sc = Conv(data=data, num_filter=num_filter, kernel=(1,1), stride=stride, no_bias=True, 102 | workspace=workspace, name=name+'_conv1sc') 103 | shortcut = mx.sym.BatchNorm(data=conv1sc, fix_gamma=False, momentum=bn_mom, eps=2e-5, name=name + '_sc') 104 | if memonger: 105 | shortcut._set_attr(mirror_stage='True') 106 | return bn3 + shortcut 107 | 108 | 109 | def get_head(data, version_input, num_filter): 110 | bn_mom = 0.9 111 | workspace = 256 112 | kwargs = {'bn_mom': bn_mom, 'workspace' : workspace} 113 | data = data-127.5 114 | data = data*0.0078125 115 | #data = mx.sym.BatchNorm(data=data, fix_gamma=True, eps=2e-5, momentum=bn_mom, name='bn_data') 116 | if version_input==0: 117 | body = Conv(data=data, num_filter=num_filter, kernel=(7, 7), stride=(2,2), pad=(3, 3), 118 | no_bias=True, name="conv0", workspace=workspace) 119 | body = mx.sym.BatchNorm(data=body, fix_gamma=False, eps=2e-5, momentum=bn_mom, name='bn0') 120 | body = Act(data=body, act_type='relu', name='relu0') 121 | body = mx.sym.Pooling(data=body, kernel=(3, 3), stride=(2,2), pad=(1,1), pool_type='max') 122 | else: 123 | body = data 124 | _num_filter = min(num_filter, 64) 125 | body = Conv(data=body, num_filter=_num_filter, kernel=(3,3), stride=(1,1), pad=(1, 1), 126 | no_bias=True, name="conv0", workspace=workspace) 127 | body = mx.sym.BatchNorm(data=body, fix_gamma=False, eps=2e-5, momentum=bn_mom, name='bn0') 128 | body = Act(data=body, act_type='relu', name='relu0') 129 | body = residual_unit_v3(body, _num_filter, (2, 2), False, name='head', **kwargs) 130 | return body 131 | 132 | 133 | -------------------------------------------------------------------------------- /trainarc.sh: -------------------------------------------------------------------------------- 1 | export MXNET_CPU_WORKER_NTHREADS=24 2 | export MXNET_CUDNN_AUTOTUNE_DEFAULT=0 3 | export MXNET_ENGINE_TYPE=ThreadedEnginePerDevice 4 | 5 | CUDA_VISIBLE_DEVICES='0,1' python -u train_softmax.py --network m1 --loss-type 0 --data-dir ../data/faces_ms1m_112x112 --prefix ../model-m1-softmax 6 | CUDA_VISIBLE_DEVICES='0' python -u train_softmax.py --network y1 --ckpt 2 --loss-type 0 --lr 0.1 --per-batch-size 150 --emb-size 512 --fc7-wd-mult 10 --data-dir ../data/faces_ms1m_112x112 --pretrained ../models/MF/model-y1-softmax512,29 --prefix ../models/MF/model-y1-softmax12 7 | 8 | CUDA_VISIBLE_DEVICES='0,1' python -u train_softmax.py --network y1 --ckpt 2 --loss-type 4 --lr 0.01 --lr-steps 40000,60000,70000 --wd 0.00004 --fc7-wd-mult 10 --emb-size 512 --per-batch-size 150 --margin-s 128 --data-dir ../data/faces_ms1m_112x112 --pretrained ../models/MF/model-y1-arcfaceredodod,79 --prefix ../models/MF/model-y1-arcfaceredododo 9 | 10 | 11 | CUDA_VISIBLE_DEVICES='0,1' python -u train_softmax.py --network y1 --ckpt 2 --loss-type 4 --lr 0.001 --lr-steps 40000,60000,70000 --wd 0.00004 --fc7-wd-mult 10 --emb-size 512 --per-batch-size 150 --margin-s 64 --data-dir ../data/faces_ms1m_112x112 --pretrained ../models/MF/model-y1-arcfaceredododo,46 --prefix ../models/MF/model-y1-arcfaceredododod 12 | 13 | CUDA_VISIBLE_DEVICES='0,1' python -u train_softmax.py --network y1 --ckpt 2 --loss-type 4 --lr 0.001 --lr-steps 40000,60000,70000 --wd 0.00004 --fc7-wd-mult 10 --emb-size 512 --per-batch-size 150 --margin-s 64 --data-dir ../data/faces_ms1m_112x112 --pretrained ../models/MF/model-y1-arcfaceredododod,5 --prefix ../models/MF/model-y1-arcfaceredodododo 14 | #CUDA_VISIBLE_DEVICES='0,1' python -u train_softmax.py --network y1 --ckpt 2 --loss-type 4 --lr 0.0001 --wd 0.00004 --fc7-wd-mult 10 --emb-size 512 --per-batch-size 150 --margin-s 64 --data-dir ../data/faces_ms1m_112x112 --pretrained ../models/MF/model-y1-arcfaceredodododo,6 --prefix ../models/MF/model-y1-arcfaceredodododod 15 | #CUDA_VISIBLE_DEVICES='0,1' python -u train_softmax.py --network m1 --loss-type 12 --lr 0.005 --mom 0.0 --per-batch-size 150 --fc7-wd-mult 10 --data-dir ../data/faces_ms1m_112x112 --pretrained ../models/MobileFaceNet/model-y1-softmax,55 --prefix ../models/MobileFaceNet/model-y1-triplet 16 | 17 | #CUDA_VISIBLE_DEVICES='0,1' python -u train_softmax.py --network y1 --ckpt 2 --loss-type 0 --per-batch-size 150 --emb-size 128 --fc7-wd-mult 10 --data-dir ../data/faces_ms1m_112x112 --prefix ../models/MobileFaceNet/model-y1-softmax 18 | #CUDA_VISIBLE_DEVICES='0,1' python -u train_softmax.py --network y1 --ckpt 2 --loss-type 4 --lr-steps 120000,180000,210000,230000 --emb-size 128 --per-batch-size 150 --data-dir ../data/faces_ms1m_112x112 --pretrained ../models/MobileFaceNet/model-y1-softmax,20 --prefix ../models/MobileFaceNet/model-y1-arcface 19 | 20 | #CUDA_VISIBLE_DEVICES='0,1' python -u train_softmax.py --network y1 --ckpt 2 --loss-type 4 --lr 0.001 --lr-steps 40000,60000,70000 --wd 0.00004 --fc7-wd-mult 10 --emb-size 128 --per-batch-size 150 --margin-s 128 --data-dir ../data/faces_ms1m_112x112 --pretrained ../models/MobileFaceNet/model-y1-arcface,117 --prefix ../models/MobileFaceNet/model-y1-arcface 21 | # 22 | 23 | 24 | #CUDA_VISIBLE_DEVICES='0,1' python -u train_softmax.py --network y1 --ckpt 2 --loss-type 4 --lr 0.001 --wd 0.00004 --fc7-wd-mult 10 --emb-size 128 --per-batch-size 150 --margin-s 64 --data-dir ../data/faces_ms1m_112x112 --pretrained ../models/MobileFaceNet/model-y1-arcface,23 --prefix ../models/MobileFaceNet/model-y1-arcface 25 | --------------------------------------------------------------------------------