KeyKy/mobilenet-mxnet

Redundant code?

Closed this issue · 2 comments

    conv2_1_sep_bn = mx.symbol.BatchNorm(name='conv2_1_sep_bn', data=conv2_1_sep , use_global_stats=False, fix_gamma=False, eps=0.000100)
    conv2_1_sep_scale = conv2_1_sep_bn
    relu2_1_sep = mx.symbol.Activation(name='relu2_1_sep', data=conv2_1_sep_scale , act_type='relu')

Just curious -- what's the benefit of including the line conv2_1_sep_scale = conv2_1_sep_bn?

In other words, would it be equivalent to have the following?

    conv2_1_sep_bn = mx.symbol.BatchNorm(name='conv2_1_sep_bn', data=conv2_1_sep , use_global_stats=False, fix_gamma=False, eps=0.000100)
    relu2_1_sep = mx.symbol.Activation(name='relu2_1_sep', data=conv2_1_sep_bn , act_type='relu')
KeyKy commented
    conv2_1_sep_scale = conv2_1_sep_bn

is auto-generated by convert_symbol.py.
In my opinion, it should be equivalent to

    conv2_1_sep_bn = mx.symbol.BatchNorm(name='conv2_1_sep_bn', data=conv2_1_sep , use_global_stats=False, fix_gamma=False, eps=0.000100)
    relu2_1_sep = mx.symbol.Activation(name='relu2_1_sep', data=conv2_1_sep_bn , act_type='relu')

Thanks! I was guessing this was an artifact of some automated scripting, but I wanted to make sure I wasn't misunderstanding something.