Spec-Zone.ru › TensorFlow 2.9

tf.keras.optimizers.schedules.ExponentialDecay

View source on GitHub

Расписание LearningRateSchedule, использующее экспоненциальное уменьшение.

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

Показать псевдонимы

Совместимые псевдонимы для миграции

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

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

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

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

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

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.

Возвращает
Вызываемый объект с одним аргументом, расписание скорости обучения, которое принимает текущий шаг оптимизатора и выводит уменьшенную скорость обучения, скаляр 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

View source

@classmethod
from_config(
    config
)

Создает экземпляр LearningRateSchedule из его конфигурации.

Аргументы
config Результат get_config().
Возвращает
Экземпляр LearningRateSchedule.

get_config

View source

get_config()

__call__

View source

__call__(
    step
)

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

© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.9/api_docs/python/tf/keras/optimizers/schedules/ExponentialDecay

Spec-Zone.ru

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