Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

PyTorch Learning Rate Schedulers Summaries

PyTorchのtorch.optim.lr_schedulerモジュールに含まれる主要なスケジューラの一覧。 詳細なパラメータ等は表の下にまとめています。

比較一覧表

名称 / Docs 説明 主要パラメータ (変更できる要素) グラフ (Base Parameter)
StepLR
(Docs)
指定周期ごとに一定割合で減衰 step_size (周期), gamma (減衰率) StepLR
MultiStepLR
(Docs)
指定ステップで減衰 milestones (減衰タイミングのリスト), gamma (減衰率) MultiStepLR
ConstantLR
(Docs)
(Warmup用) 初期に定数倍下げ、その後戻す factor (倍率), total_iters (期間) ConstantLR
LinearLR
(Docs)
(Warmup用) 初期に線形変化させ、その後戻す start_factor, end_factor (倍率), total_iters (期間) LinearLR
ExponentialLR
(Docs)
指数関数的に減衰 gamma (毎エポックの減衰率) ExponentialLR
PolynomialLR
(Docs)
多項式関数に従って減衰 total_iters (終了ステップ), power (次数) PolynomialLR
CosineAnnealingLR
(Docs)
コサインカーブで減衰 T_max (半周期), eta_min (最小LR) CosineAnnealingLR
ReduceLROnPlateau
(Docs)
指標停滞時に減衰 factor (減衰率), patience (待機期間), threshold (閾値) ReduceLROnPlateau
CyclicLR
(Docs)
範囲内で周期的に変動 base_lr, max_lr (範囲), step_size_up (上昇幅), mode (形状) CyclicLR
OneCycleLR
(Docs)
1サイクルで上昇・下降 max_lr (最大値), total_steps (総ステップ), pct_start (上昇割合) OneCycleLR
CosineAnnealingWarmRestarts
(Docs)
周期的にリスタート T_0 (初期周期), T_mult (周期倍率), eta_min (最小LR) CosineAnnealingWarmRestarts

詳細データ

StepLR

Official Docs

パラメータ:

  • step_size (int): 学習率を減衰させる周期(エポック数)。
  • gamma (float): 減衰率。デフォルトは0.1。
  • last_epoch (int): 最後の更新エポックのインデックス。再開時に使用。デフォルトは-1。
  • verbose (bool): 更新ごとにメッセージを出力するかどうか。

Parameter Variation: StepLR


MultiStepLR

Official Docs

パラメータ:

  • milestones (list): 学習率を減衰させるエポック数のリスト。
  • gamma (float): 減衰率。デフォルトは0.1。
  • last_epoch (int): 最後の更新エポックのインデックス。

Parameter Variation: MultiStepLR


ConstantLR

Official Docs

概要: 学習の初期段階(ウォームアップ)などで使用されます。total_iters の間は学習率を factor 倍(通常は1より小さい値)に下げ、その後元の学習率に戻します。そのため、グラフ上は低い値からステップ後に元の値へ増加するように見えます。

パラメータ:

  • factor (float): 学習率に掛ける定数。デフォルトは1.0/3。
  • total_iters (int): 定数を掛ける期間(ステップ数/エポック数)。
  • last_epoch (int): 最後の更新エポックのインデックス。

Parameter Variation: ConstantLR


LinearLR

Official Docs

概要: こちらもウォームアップによく使用されます。total_iters の間、start_factor から end_factor (デフォルト1.0) に向かって学習率を線形に変化させます。デフォルト設定では低い値から元の値へ増加します。

パラメータ:

  • start_factor (float): 開始時の学習率の倍率。デフォルトは1.0/3。
  • end_factor (float): 終了時の学習率の倍率。デフォルトは1.0。
  • total_iters (int): 線形変化させる期間。
  • last_epoch (int): 最後の更新エポックのインデックス。

Parameter Variation: LinearLR


ExponentialLR

Official Docs

パラメータ:

  • gamma (float): 毎エポックの減衰率。
  • last_epoch (int): 最後の更新エポックのインデックス。

Parameter Variation: ExponentialLR


PolynomialLR

Official Docs

パラメータ:

  • total_iters (int): 減衰を完了するステップ数。
  • power (float): 多項式の次数。1.0で線形減衰。
  • last_epoch (int): 最後の更新エポックのインデックス。

Parameter Variation: PolynomialLR


CosineAnnealingLR

Official Docs

パラメータ:

  • T_max (int): 半周期のステップ数。
  • eta_min (float): 学習率の最小値。デフォルトは0。
  • last_epoch (int): 最後の更新エポックのインデックス。

Parameter Variation: CosineAnnealingLR


ReduceLROnPlateau

Official Docs

パラメータ:

  • mode (str): 'min'(最小化)か'max'(最大化)か。
  • factor (float): 学習率を下げる割合。new_lr = lr * factor。
  • patience (int): 改善が見られないエポック数を何回許容するか。
  • threshold (float): 改善とみなすための閾値。
  • threshold_mode (str): 閾値の判定方法。
  • cooldown (int): 学習率を下げた後、監視を再開するまでの待機期間。
  • min_lr (float or list): 学習率の下限。
  • eps (float): 学習率の更新幅の最小値。

Parameter Variation: ReduceLROnPlateau


CyclicLR

Official Docs

パラメータ:

  • base_lr (float or list): 学習率の(サイクルの)下限。
  • max_lr (float or list): 学習率の(サイクルの)上限。
  • step_size_up (int): 学習率が上昇しきるまでのステップ数。
  • step_size_down (int): 学習率が下降しきるまでのステップ数。
  • mode (str): 'triangular', 'triangular2', 'exp_range'のいずれか。
  • gamma (float): 'exp_range'時のスケーリング係数。
  • scale_fn (function): カスタムスケーリング関数。
  • scale_mode (str): 'cycle' or 'iterations'.
  • cycle_momentum (bool): momentumも逆に変動させるかどうか。

Parameter Variation: CyclicLR


OneCycleLR

Official Docs

パラメータ:

  • max_lr (float or list): 学習率の最大値。
  • total_steps (int): サイクル全体の総ステップ数。
  • epochs (int): エポック数(total_stepsを指定しない場合に使用)。
  • steps_per_epoch (int): 1エポックあたりのステップ数。
  • pct_start (float): 学習率が上昇する期間の割合。
  • anneal_strategy (str): 'cos' (コサイン) か 'linear' (線形)。
  • cycle_momentum (bool): momentumも変動させるかどうか。
  • div_factor (float): 初期学習率を決定する係数 (initial_lr = max_lr/div_factor)。
  • final_div_factor (float): 最終学習率を決定する係数 (final_lr = initial_lr/final_div_factor)。

Parameter Variation: OneCycleLR


CosineAnnealingWarmRestarts

Official Docs

パラメータ:

  • T_0 (int): 初回のリスタートまでのステップ数。
  • T_mult (int): リスタートごとに周期を何倍にするか。1なら等間隔。
  • eta_min (float): 学習率の最小値。
  • last_epoch (int): 最後の更新エポックのインデックス。

Parameter Variation: CosineAnnealingWarmRestarts

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages