tf.keras.optimizers.schedules.InverseTimeDecay
| Просмотреть исходный код на GitHub |
Расписание скорости обучения, использующее расписание обратного времени распада.
Наследуется от: LearningRateSchedule
tf.keras.optimizers.schedules.InverseTimeDecay(
initial_learning_rate, decay_steps, decay_rate, staircase=False, name=None
)
При обучении модели часто рекомендуется уменьшать скорость обучения по мере прогресса обучения. Это расписание применяет функцию обратного распада к шагу оптимизатора, учитывая заданную начальную скорость обучения. Оно требует значения step, чтобы вычислить уменьшенную скорость обучения. Вы можете просто передать переменную TensorFlow, которую вы увеличиваете на каждом шаге обучения.
Расписание — это вызываемый объект с одним аргументом, который возвращает уменьшенную скорость обучения, когда ему передается текущий шаг оптимизатора. Это может быть полезно для изменения значения скорости обучения при различных вызовах функций оптимизатора. Оно вычисляется следующим образом:
def decayed_learning_rate(step): return initial_learning_rate / (1 + decay_rate * step / decay_step)
или, если staircase равно True, как:
def decayed_learning_rate(step): return initial_learning_rate / (1 + decay_rate * floor(step / decay_step))
Вы можете передать это расписание напрямую в tf.keras.optimizers.Optimizer в качестве скорости обучения. Пример: обучение модели Keras с распадом 1/t со скоростью 0,5:
...
initial_learning_rate = 0.1
decay_steps = 1.0
decay_rate = 0.5
learning_rate_fn = keras.optimizers.schedules.InverseTimeDecay(
initial_learning_rate, decay_steps, decay_rate)
model.compile(optimizer=tf.keras.optimizers.SGD(
learning_rate=learning_rate_fn),
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
model.fit(data, labels, epochs=5)
| Возвращаемое значение | |
|---|---|
Расписание скорости обучения с одним аргументом, которое принимает текущий шаг оптимизатора и возвращает уменьшенную скорость обучения, скаляр Tensor того же типа, что и initial_learning_rate. |
| Аргументы | |
|---|---|
initial_learning_rate | Скаляр float32 или float64 Tensor или число Python. Начальная скорость обучения. |
decay_steps | Частота применения распада. |
decay_rate | Число Python. Скорость распада. |
staircase | Применять ли распад ступенчатым образом, а не непрерывно. |
name | Строка. Необязательное имя операции. По умолчанию равно 'InverseTimeDecay'. |
Методы
from_config
@classmethod
from_config(
config
)
Инициализирует LearningRateSchedule по его конфигурации.
| Аргументы | |
|---|---|
config | Результат get_config(). |
| Возвращаемое значение | |
|---|---|
Экземпляр LearningRateSchedule . |
get_config
get_config()
__call__
__call__(
step
)
Вызвать себя как функцию.
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.4/api_docs/python/tf/keras/optimizers/schedules/InverseTimeDecay