Spec-Zone.ru › TensorFlow 2.4

tf.keras.optimizers.schedules.ExponentialDecay

Просмотреть исходный код на GitHub

График изменения скорости обучения, использующий экспоненциальное затухание.

Наследуется от: LearningRateSchedule

Просмотр псевдонимов

Основные псевдонимы

tf.optimizers.schedules.ExponentialDecay

Псевдонимы для миграции

См. Руководство по миграции для получения дополнительных сведений.

tf.compat.v1.keras.optimizers.schedules.ExponentialDecay

tf.keras.optimizers.schedules.ExponentialDecay(
    initial_learning_rate, decay_steps, decay_rate, staircase=False, name=None
)

При обучении модели часто рекомендуется снижать скорость обучения по мере прогресса обучения. Этот график применяет экспоненциальную функцию затухания к шагу оптимизатора, исходя из заданной начальной скорости обучения.

График — это вызываемый объект с 1 аргументом, который возвращает значение затухающей скорости обучения, когда ему передаётся текущий шаг оптимизатора. Это может быть полезно для изменения значения скорости обучения при разных вызовах функций оптимизатора. Оно вычисляется следующим образом:

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.

Возвращаемое значение
График изменения скорости обучения с 1 аргументом, который принимает текущий шаг оптимизатора и возвращает затухающую скорость обучения, скаляр Tensor того же типа, что и initial_learning_rate.
Аргументы
initial_learning_rate Скаляр float32 или float64 Tensor или число Python. Начальная скорость обучения.
decay_steps Скаляр int32 или int64 Tensor или число Python. Должен быть положительным. Смотрите вычисление затухания выше.
decay_rate Скаляр float32 или float64 Tensor или число Python. Скорость затухания.
staircase Булево. Если True уменьшать скорость обучения с дискретными интервалами
name Строка. Необязательное имя операции. По умолчанию 'ExponentialDecay'.

Методы

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/ExponentialDecay

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API