當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。