Spec-Zone.ru › PyTorch 2

ReduceLROnPlateau

class torch.optim.lr_scheduler.ReduceLROnPlateau(optimizer, mode='min', factor=0.1, patience=10, threshold=0.0001, threshold_mode='rel', cooldown=0, min_lr=0, eps=1e-08, verbose=False) [source]

Уменьшение скорости обучения, когда метрика перестает улучшаться. Модели часто выигрывают от уменьшения скорости обучения в 2-10 раз, когда обучение застаивается. Этот планировщик считывает значение метрики и, если улучшения не наблюдается в течение определенного количества эпох («терпение»), скорость обучения уменьшается.

Параметры
  • optimizer (Оптимизатор) – Обёртка оптимизатора.
  • mode (строка) – Один из min, max. В режиме min скорость обучения будет уменьшена, когда отслеживаемое значение перестанет убывать; в режиме max — когда отслеживаемое значение перестанет возрастать. По умолчанию: ‘min’.
  • factor (вещественное число) – Коэффициент, на который будет уменьшена скорость обучения. new_lr = lr * factor. По умолчанию: 0.1.
  • patience (целое число) – Количество эпох без улучшения, после которого скорость обучения будет уменьшена. Например, если patience = 2, то мы проигнорируем первые 2 эпохи без улучшения и уменьшим скорость обучения только после 3-й эпохи, если потеря по-прежнему не улучшилась. По умолчанию: 10.
  • threshold (вещественное число) – Порог для измерения нового оптимума, чтобы сосредоточиться только на существенных изменениях. По умолчанию: 1e-4.
  • threshold_mode (строка) – Один из rel, abs. В режиме rel dynamic_threshold = best * ( 1 + threshold ) в режиме ‘max’ или best * ( 1 - threshold ) в режиме min. В режиме abs dynamic_threshold = best + threshold в режиме max или best - threshold в режиме min. По умолчанию: ‘rel’.
  • cooldown (целое число) – Количество эпох ожидания, прежде чем возобновить нормальную работу после уменьшения скорости обучения. По умолчанию: 0.
  • min_lr (вещественное число или список) – Скаляр или список скаляров. Нижняя граница скорости обучения всех групп параметров или каждой группы соответственно. По умолчанию: 0.
  • eps (вещественное число) – Минимальное уменьшение, применённое к lr. Если разница между новым и старым значением lr меньше eps, обновление игнорируется. По умолчанию: 1e-8.
  • verbose (булево значение) – Если True, выводит сообщение в stdout для каждого обновления. По умолчанию: False.

Пример

>>> optimizer = torch.optim.SGD(model.parameters(), lr=0.1, momentum=0.9)
>>> scheduler = ReduceLROnPlateau(optimizer, 'min')
>>> for epoch in range(10):
>>>     train(...)
>>>     val_loss = validate(...)
>>>     # Note that step should be called after validate()
>>>     scheduler.step(val_loss)

© 2024, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://pytorch.org/docs/2.1/generated/torch.optim.lr_scheduler.ReduceLROnPlateau.html

Spec-Zone.ru

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