当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python tf.compat.v1.train.RMSPropOptimizer用法及代码示例


实现 RMSProp 算法的优化器 (Tielemans et al.

继承自:Optimizer

用法

tf.compat.v1.train.RMSPropOptimizer(
    learning_rate, decay=0.9, momentum=0.0, epsilon=1e-10, use_locking=False,
    centered=False, name='RMSProp'
)

参数

  • learning_rate 张量或浮点值。学习率。
  • decay 历史/即将到来的梯度的折扣因子
  • momentum 一个标量张量。
  • epsilon 避免零分母的小值。
  • use_locking 如果 True 使用锁进行更新操作。
  • centered 如果为 True,则通过梯度的估计方差对梯度进行归一化;如果为 False,则通过非居中的第二时刻。将此设置为 True 可能有助于训练,但在计算和内存方面稍贵一些。默认为假。
  • name 应用渐变时创建的操作的可选名称前缀。默认为"RMSProp"。

迁移到 TF2

警告:这个 API 是为 TensorFlow v1 设计的。继续阅读有关如何从该 API 迁移到本机 TensorFlow v2 等效项的详细信息。见TensorFlow v1 到 TensorFlow v2 迁移指南有关如何迁移其余代码的说明。

tf.compat.v1.train.RMSPropOptimizer 与 Eager 模式和 tf.function 兼容。启用即刻执行后,learning_rate , decay , momentumepsilon 都可以是不带参数并返回要使用的实际值的可调用对象。这对于在优化器函数的不同调用中更改这些值很有用。

要切换到原生 TF2 样式,请改用 tf.keras.optimizers.RMSprop。请注意,由于实现的差异,tf.keras.optimizers.RMSproptf.compat.v1.train.RMSPropOptimizer 在浮点数值上可能会略有不同,即使用于变量更新的公式仍然匹配。

到原生 TF2 的结构映射

前:

optimizer = tf.compat.v1.train.RMSPropOptimizer(
  learning_rate=learning_rate,
  decay=decay,
  momentum=momentum,
  epsilon=epsilon)

后:

optimizer = tf.keras.optimizers.RMSprop(
  learning_rate=learning_rate,
  rho=decay,
  momentum=momentum,
  epsilon=epsilon)

如何映射参数

TF1 参数名称 TF2 参数名称 注意
learning_rate learning_rate 小心设置从全局步骤计算的learning_rate 张量值。在 TF1 中,这通常意味着动态学习率,并且会在每一步中重新计算。在 TF2 (eager + function) 中,它会将其视为仅计算一次的标量值,而不是每次都计算的符号占位符。
decay rho -
momentum momentum -
epsilon epsilon TF1 中默认值为 1e-10,TF2 中默认值为 1e-07。
use_locking - 不适用于 TF2。

使用前后示例

前:

x = tf.Variable([1,2,3], dtype=tf.float32)
grad = tf.constant([0.1, 0.2, 0.3])
optimizer = tf.compat.v1.train.RMSPropOptimizer(learning_rate=0.001)
optimizer.apply_gradients(zip([grad], [x]))

后:

x = tf.Variable([1,2,3], dtype=tf.float32)
grad = tf.constant([0.1, 0.2, 0.3])
optimizer = tf.keras.optimizers.RMSprop(learning_rate=0.001)
optimizer.apply_gradients(zip([grad], [x]))

2012)。

参考:

Coursera 幻灯片 29:Hinton,2012 年 (pdf)

相关用法


注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.compat.v1.train.RMSPropOptimizer。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。