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


Python tf.keras.optimizers.Optimizer.apply_gradients用法及代碼示例


用法

apply_gradients(
    grads_and_vars, name=None, experimental_aggregate_gradients=True
)

參數

  • grads_and_vars (梯度,變量)對的列表。
  • name 返回操作的可選名稱。默認為傳遞給Optimizer 構造函數的名稱。
  • experimental_aggregate_gradients 是否在存在 tf.distribute.Strategy 的情況下對來自不同副本的梯度求和。如果為 False,則聚合梯度是用戶的責任。默認為真。

返回

  • 應用指定漸變的Operationiterations 將自動增加 1。

拋出

  • TypeError 如果grads_and_vars 格式錯誤。
  • ValueError 如果沒有一個變量有梯度。
  • RuntimeError 如果在 cross-replica 上下文中調用。

將漸變應用於變量。

這是 minimize() 的第二部分。它返回一個應用漸變的Operation

默認情況下,該方法在 tf.distribute.Strategy 存在的情況下對所有副本的梯度求和。您可以通過傳遞 experimental_aggregate_gradients=False 自己聚合漸變。

例子:

grads = tape.gradient(loss, vars)
grads = tf.distribute.get_replica_context().all_reduce('sum', grads)
# Processing aggregated gradients.
optimizer.apply_gradients(zip(grads, vars),
    experimental_aggregate_gradients=False)

相關用法


注:本文由純淨天空篩選整理自tensorflow.org大神的英文原創作品 tf.keras.optimizers.Optimizer.apply_gradients。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。