【问题标题】:How to give beta and gamma in tf.contrib.layers.batch_norm如何在 tf.contrib.layers.batch_norm 中给出 beta 和 gamma
【发布时间】:2016-08-17 13:36:25
【问题描述】:

我正在尝试使用 tensorflow 提供的规范化层。在 function 中,有一个字段可以指定我们使用的是 beta 值还是 gamma 值。

中心:如果为真,则减去beta。如果为 False,则忽略 beta

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

但是没有地方可以在函数中输入betagamma 值。

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

【问题讨论】:

    标签: python python-2.7 tensorflow


    【解决方案1】:

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

    看起来您应该能够像这样将betagamma 传递为keyword arguments**kwargs

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

    【讨论】:

    • 至少在 Tensorflow 1.7 中,您的建议是不可能的。这在早期版本中是否可行?
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 2018-10-04
      • 1970-01-01
      • 1970-01-01
      • 2020-09-24
      • 2019-11-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多