我有一个 CNN 模型,其中包含一些批量标准化层。batchnorm 层由tf.contrib.layers.batch_norm
. 该模型在基本情况下运行良好。但一个问题是我不知道如何分配它的moving_variance
和moving_mean
。
详细地说,正如官方网站描述的那样,批量规范层有variance
mean
scale
offset
四个参数。最后两个是张量流变量,我可以很好地解决。对于最后两个,即使我可以得到它们tf.get_collection(tf.GraphKeys.UPDATE_OPS))
,它们是两个张量,我不知道如何分配它们。在大多数情况下,这两个参数是在训练阶段设置的。
我也试过tf.get_collection(tf.GraphKeys.VARIABLES)
,我可以得到两个名为tf.Variable 'BatchNorm/moving_mean
andtf.Variable BachNorm/moving_Variance
的 tensorflow 变量,尽管我可以用 改变这两个变量的值tf.assign
,但奇怪的是 batchNorm 的输出没有相应改变
感谢您的任何建议!