如何在tf.contrib.layers.batch_norm中提供beta和gamma

时间:2016-08-17 13:36:26

标签: python python-2.7 tensorflow

我试图使用由tensorflow给出的规范化层。在function中,有一个字段用于指定我们是使用beta值还是gamma值。

  

center:如果为True,则减去beta。如果为False,则忽略beta

     

比例:如果为True,则乘以gamma。如果为False,则不使用gamma。当下一层是线性的(例如nn.relu)时,可以禁用此层,因为缩放可以由下一层完成。

但无法在函数中输入betagamma值。

我需要知道如何输入betagamma的值?

2 个答案:

答案 0 :(得分:2)

您提供的链接已将该功能指定为tf.contrib.layers.batch_norm(*args, **kwargs)

您似乎可以将betagamma作为keyword arguments**kwargs传递给您:

tf.contrib.layers.batch_norm(beta=value, gamma=value)

答案 1 :(得分:1)

Beta和gamma是批量标准化层的可学习参数。

从下图中可以看出,这些参数用于缩放和移动标准化值。您可以传递给batch_norm方法的值是这些参数的初始值。

batch normalization