使用 index 衰減時間表的 LearningRateSchedule。
用法
tf.keras.optimizers.schedules.ExponentialDecay(
initial_learning_rate, decay_steps, decay_rate, staircase=False, name=None
)
返回
-
一個 1-arg 可調用學習率計劃,它采用當前優化器步驟並輸出衰減的學習率,一個與
initial_learning_rate
類型相同的標量Tensor
。
參數
-
initial_learning_rate
標量float32
或float64
Tensor
或 Python 編號。初始學習率。 -
decay_steps
標量int32
或int64
Tensor
或 Python 編號。必須是積極的。請參閱上麵的衰減計算。 -
decay_rate
標量float32
或float64
Tensor
或 Python 編號。衰減率。 -
staircase
布爾值。如果True
以離散間隔衰減學習率 -
name
String 。操作的可選名稱。默認為'ExponentialDecay'。
在訓練模型時,隨著訓練的進行降低學習率通常很有用。給定提供的初始學習率,此計劃將 index 衰減函數應用於優化器步驟。
該計劃是一個 1-arg 可調用對象,當通過當前優化器步驟時會產生衰減的學習率。這對於在優化器函數的不同調用中更改學習率值很有用。它被計算為:
def decayed_learning_rate(step):
return initial_learning_rate * decay_rate ^ (step / decay_steps)
如果參數 staircase
是 True
,則 step / decay_steps
是整數除法,衰減的學習率遵循階梯函數。
您可以將此計劃直接傳遞到 tf.keras.optimizers.Optimizer
作為學習率。示例:擬合 Keras 模型時,每 100000 步衰減一次,底數為 0.96:
initial_learning_rate = 0.1
lr_schedule = tf.keras.optimizers.schedules.ExponentialDecay(
initial_learning_rate,
decay_steps=100000,
decay_rate=0.96,
staircase=True)
model.compile(optimizer=tf.keras.optimizers.SGD(learning_rate=lr_schedule),
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
model.fit(data, labels, epochs=5)
學習率計劃也可以使用 tf.keras.optimizers.schedules.serialize
和 tf.keras.optimizers.schedules.deserialize
進行序列化和反序列化。
相關用法
- Python tf.keras.optimizers.schedules.serialize用法及代碼示例
- Python tf.keras.optimizers.schedules.PiecewiseConstantDecay用法及代碼示例
- Python tf.keras.optimizers.schedules.deserialize用法及代碼示例
- Python tf.keras.optimizers.schedules.CosineDecay用法及代碼示例
- Python tf.keras.optimizers.schedules.CosineDecayRestarts用法及代碼示例
- Python tf.keras.optimizers.schedules.PolynomialDecay用法及代碼示例
- Python tf.keras.optimizers.schedules.InverseTimeDecay用法及代碼示例
- Python tf.keras.optimizers.serialize用法及代碼示例
- Python tf.keras.optimizers.Optimizer.set_weights用法及代碼示例
- Python tf.keras.optimizers.Adam用法及代碼示例
- Python tf.keras.optimizers.Adamax用法及代碼示例
- Python tf.keras.optimizers.SGD用法及代碼示例
- Python tf.keras.optimizers.Optimizer用法及代碼示例
- Python tf.keras.optimizers.Nadam用法及代碼示例
- Python tf.keras.optimizers.RMSprop用法及代碼示例
- Python tf.keras.optimizers.Optimizer.apply_gradients用法及代碼示例
- Python tf.keras.optimizers.Ftrl用法及代碼示例
- Python tf.keras.optimizers.Optimizer.get_weights用法及代碼示例
- Python tf.keras.applications.inception_resnet_v2.preprocess_input用法及代碼示例
注:本文由純淨天空篩選整理自tensorflow.org大神的英文原創作品 tf.keras.optimizers.schedules.ExponentialDecay。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。