用法
compute_gradients(
loss, var_list=None, gate_gradients=GATE_OP, aggregation_method=None,
colocate_gradients_with_ops=False, grad_loss=None
)
為 var_list
中的變量計算 loss
的梯度。
遷移到 TF2
警告:這個 API 是為 TensorFlow v1 設計的。繼續閱讀有關如何從該 API 遷移到本機 TensorFlow v2 等效項的詳細信息。見TensorFlow v1 到 TensorFlow v2 遷移指南有關如何遷移其餘代碼的說明。
TF2 中的tf.keras.optimizers.Optimizer
沒有提供compute_gradients
方法,您應該使用tf.GradientTape
來獲取漸變:
@tf.function
def train step(inputs):
batch_data, labels = inputs
with tf.GradientTape() as tape:
predictions = model(batch_data, training=True)
loss = tf.keras.losses.CategoricalCrossentropy(
reduction=tf.keras.losses.Reduction.NONE)(labels, predictions)
gradients = tape.gradient(loss, model.trainable_variables)
optimizer.apply_gradients(zip(gradients, model.trainable_variables))
Args:損失:包含要最小化的值的張量或不帶參數的可調用函數,它返回要最小化的值。啟用即刻執行後,它必須是可調用的。 var_list:要更新以最小化 loss
的 tf.Variable
的可選列表或元組。默認為鍵 GraphKeys.TRAINABLE_VARIABLES
下圖表中收集的變量列表。 gate_gradients:如何對梯度的計算進行門控。可以是 GATE_NONE
, GATE_OP
或 GATE_GRAPH
。 aggregation_method:指定用於組合梯度項的方法。有效值在類 AggregationMethod
中定義。 colocate_gradients_with_ops:如果為真,請嘗試將漸變與相應的操作放在一起。 grad_loss:可選。一個 Tensor
保存為 loss
計算的梯度。
返回:(梯度,變量)對的列表。變量始終存在,但梯度可以是 None
。
引發:類型錯誤:如果 var_list
包含除 Variable
對象之外的任何其他內容。 ValueError:如果某些參數無效。 RuntimeError:如果在啟用即刻執行的情況下調用並且loss
不可調用。
@compatibility(eager) 啟用即刻執行時,gate_gradients
, aggregation_method
和 colocate_gradients_with_ops
將被忽略。
說明
這是 minimize()
的第一部分。它返回一個(梯度,變量)對列表,其中"gradient" 是"variable" 的梯度。請注意,如果給定變量沒有梯度,"gradient" 可以是 Tensor
、IndexedSlices
或 None
。
相關用法
- Python tf.compat.v1.train.AdamOptimizer用法及代碼示例
- Python tf.compat.v1.train.AdagradOptimizer.compute_gradients用法及代碼示例
- Python tf.compat.v1.train.AdagradDAOptimizer.compute_gradients用法及代碼示例
- Python tf.compat.v1.train.AdagradOptimizer用法及代碼示例
- Python tf.compat.v1.train.AdadeltaOptimizer用法及代碼示例
- Python tf.compat.v1.train.AdadeltaOptimizer.compute_gradients用法及代碼示例
- Python tf.compat.v1.train.FtrlOptimizer.compute_gradients用法及代碼示例
- Python tf.compat.v1.train.get_or_create_global_step用法及代碼示例
- Python tf.compat.v1.train.cosine_decay_restarts用法及代碼示例
- Python tf.compat.v1.train.Optimizer用法及代碼示例
- Python tf.compat.v1.train.init_from_checkpoint用法及代碼示例
- Python tf.compat.v1.train.Checkpoint用法及代碼示例
- Python tf.compat.v1.train.Supervisor.managed_session用法及代碼示例
- Python tf.compat.v1.train.Checkpoint.restore用法及代碼示例
- Python tf.compat.v1.train.global_step用法及代碼示例
- Python tf.compat.v1.train.MonitoredSession.run_step_fn用法及代碼示例
- Python tf.compat.v1.train.RMSPropOptimizer.compute_gradients用法及代碼示例
- Python tf.compat.v1.train.exponential_decay用法及代碼示例
- Python tf.compat.v1.train.natural_exp_decay用法及代碼示例
- Python tf.compat.v1.train.MomentumOptimizer用法及代碼示例
注:本文由純淨天空篩選整理自tensorflow.org大神的英文原創作品 tf.compat.v1.train.AdamOptimizer.compute_gradients。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。