Spec-Zone.ru › TensorFlow 2.4

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

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

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

Spec-Zone.ru

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