Spec-Zone.ru › TensorFlow

tf.compat.v1.train.exponential_decay

Применяет экспоненциальное затухание к скорости обучения.

tf.compat.v1.train.exponential_decay(
    learning_rate,
    global_step,
    decay_steps,
    decay_rate,
    staircase=False,
    name=None
)

Используется в блокнотах

Используется в руководстве Используется в учебниках
  • Примеры миграции: Готовые оценщики
  • Линейная регрессия с эффектами смешанных моделей в {TF Probability, R, Stan}

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

Функция возвращает скорость затухания обучения. Она вычисляется следующим образом:

decayed_learning_rate = learning_rate *
                        decay_rate ^ (global_step / decay_steps)

Если аргумент staircase равен True, то global_step / decay_steps представляет собой целочисленное деление, и скорость затухания обучения следует ступенчатой функции.

Пример: затухание каждые 100000 шагов с основанием 0.96:

...
global_step = tf.Variable(0, trainable=False)
starter_learning_rate = 0.1
learning_rate = tf.compat.v1.train.exponential_decay(starter_learning_rate,
global_step,
                                           100000, 0.96, staircase=True)
# Passing global_step to minimize() will increment it at each step.
learning_step = (
    tf.compat.v1.train.GradientDescentOptimizer(learning_rate)
    .minimize(...my loss..., global_step=global_step)
)
Аргументы
learning_rate Скалярное значение float32 или float64 Tensor или число Python. Начальная скорость обучения.
global_step Скалярное значение int32 или int64 Tensor или число Python. Глобальный шаг для вычисления затухания. Не должно быть отрицательным.
decay_steps Скалярное значение int32 или int64 Tensor или число Python. Должно быть положительным. См. вычисление затухания выше.
decay_rate Скалярное значение float32 или float64 Tensor или число Python. Скорость затухания.
staircase Булево значение. Если True, затухание скорости обучения происходит через дискретные интервалы
name Строка. Необязательное имя операции. По умолчанию 'ExponentialDecay'.
Возвращаемое значение
Скалярное Tensor того же типа, что и learning_rate. Скорость затухания обучения.
Исключения
ValueError если global_step не указано.

совместимость с eager

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

© 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/api_docs/python/tf/compat/v1/train/exponential_decay

Spec-Zone.ru

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