tf.keras.optimizers.schedules.LearningRateSchedule
| View source on GitHub |
Базовый класс расписания скорости обучения.
Вы можете использовать расписание скорости обучения для модуляции того, как скорость обучения вашего оптимизатора изменяется со временем.
Доступны несколько встроенных расписаний скорости обучения, таких как tf.keras.optimizers.schedules.ExponentialDecay или tf.keras.optimizers.schedules.PiecewiseConstantDecay:
lr_schedule = keras.optimizers.schedules.ExponentialDecay(
initial_learning_rate=1e-2,
decay_steps=10000,
decay_rate=0.9)
optimizer = keras.optimizers.SGD(learning_rate=lr_schedule)
Экземпляр LearningRateSchedule может быть передан в качестве аргумента learning_rate любого оптимизатора.
Чтобы реализовать свой собственный объект расписания, вы должны реализовать метод __call__, который принимает аргумент step (скалярный целочисленный тензор, текущий счетчик шагов обучения). Как и для любого другого объекта Keras, вы также можете по желанию сделать свой объект сериализуемым, реализовав методы get_config и from_config.
Пример:
class MyLRSchedule(tf.keras.optimizers.schedules.LearningRateSchedule):
def __init__(self, initial_learning_rate):
self.initial_learning_rate = initial_learning_rate
def __call__(self, step):
return self.initial_learning_rate / (step + 1)
optimizer = tf.keras.optimizers.SGD(learning_rate=MyLRSchedule(0.1))
Методы
from_config
@classmethod
from_config(
config
)
Создает экземпляр LearningRateSchedule из его конфигурации.
| Аргументы | |
|---|---|
config | Результат get_config(). |
| Возвращает | |
|---|---|
Экземпляр LearningRateSchedule. |
get_config
@abc.abstractmethod get_config()
__call__
@abc.abstractmethod
__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/LearningRateSchedule