Spec-Zone.ru › TensorFlow 2.3

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
)

Вызов self как функции.

© 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.3/api_docs/python/tf/keras/optimizers/schedules/ExponentialDecay

Spec-Zone.ru

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