Spec-Zone.ru › TensorFlow 2.3

tf.compat.v1.train.exponential_decay

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

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

При обучении модели часто рекомендуется уменьшать скорость обучения по мере прогресса обучения. Эта функция применяет функцию экспоненциального затухания к предоставленной начальной скорости обучения. Она требует 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, эта функция возвращает функцию, которая в свою очередь возвращает тензор затухающей скорости обучения. Это может быть полезно для изменения значения скорости обучения при различных вызовах функций оптимизатора.

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

Spec-Zone.ru

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