Spec-Zone.ru › PyTorch 1

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 (str) – Один из min, max. В режиме min скорость обучения будет уменьшаться, когда отслеживаемое значение перестанет убывать; в режиме max она будет уменьшаться, когда отслеживаемое значение перестанет возрастать. По умолчанию: ‘min’.
  • factor (float) – Коэффициент, на который будет уменьшаться скорость обучения. new_lr = lr * factor. По умолчанию: 0.1.
  • patience (int) – Количество эпох без улучшений, после чего скорость обучения будет уменьшена. Например, если patience = 2, то мы пропустим первые 2 эпохи без улучшений и будем уменьшать скорость обучения только после 3-й эпохи, если потеря всё ещё не улучшилась. По умолчанию: 10.
  • threshold (float) – Порог для измерения нового оптимума, чтобы сосредоточиться только на значительных изменениях. По умолчанию: 1e-4.
  • threshold_mode (str) – Один из rel, abs. В режиме rel dynamic_threshold = best * ( 1 + threshold ) в режиме ‘max’ или best * ( 1 - threshold ) в режиме min. В режиме abs dynamic_threshold = best + threshold в режиме max или best - threshold в режиме min. По умолчанию: ‘rel’.
  • cooldown (int) – Количество эпох ожидания перед возобновлением нормальной работы после уменьшения скорости обучения. По умолчанию: 0.
  • min_lr (float или list) – Скаляр или список скаляров. Нижняя граница скорости обучения всех групп параметров или каждой группы соответственно. По умолчанию: 0.
  • eps (float) – Минимальная величина уменьшения скорости обучения. Если разница между новой и старой скоростью обучения меньше eps, обновление игнорируется. По умолчанию: 1e-8.
  • verbose (bool) – Если True, выводит сообщение в стандартный вывод для каждого обновления. По умолчанию: 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/1.13/generated/torch.optim.lr_scheduler.ReduceLROnPlateau.html

Spec-Zone.ru

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