【发布时间】:2017-12-10 12:16:50
【问题描述】:
我有一个 CNN 模型,其中包含一些批量标准化层。 batchnorm 层由tf.contrib.layers.batch_norm 构建。该模型在基本情况下运行良好。但是一个问题是我不知道如何分配它的moving_variance和moving_mean。
具体来说,正如officail website所描述的,batch norm层有variancemeanscaleoffset四个参数。最后两个是张量流变量,我可以很好地解决。对于最后两个,即使我可以用tf.get_collection(tf.GraphKeys.UPDATE_OPS)) 得到它们,它们是两个我不知道如何分配它们的张量。大多数情况下,这两个参数是在训练阶段设置的。
我也试过tf.get_collection(tf.GraphKeys.VARIABLES),我可以得到两个名为tf.Variable 'BatchNorm/moving_mean和tf.Variable BachNorm/moving_Variance的tensorflow变量,尽管我可以用tf.assign改变这两个变量的值,但奇怪的是batchNorm的输出没有'不要相应地改变
感谢您的任何建议!
【问题讨论】:
标签: tensorflow batch-normalization