关于batch_norm的问题
Created by: littletomatodonkey
我在刷特征时,bn想使用train mode刷(mean和var通过测试样本计算得到,而非保存的变量),program定义方式如下:
test_program = fluid.default_main_program().clone(for_test=True)
bn调用方式如下,
fluid.layers.batch_norm(
input=conv,
act=act,
param_attr=ParamAttr(name=bn_name + '.weight'),
bias_attr=ParamAttr(bn_name + '.bias'),
moving_mean_name=bn_name + '.running_mean',
moving_variance_name=bn_name + '.running_var',
is_test=False,
use_global_stats=False,
)
但是我刷出来的特征和bn中
is_test=False,
use_global_stats=False,
刷出来的特征是完全一样的(如果正常的话,一个加载的是固定参数,一个是动态变化的,特征应是不一样的),是我的使用方式有问题嘛?