捷徑

MultiStepLR

class torch.optim.lr_scheduler.MultiStepLR(optimizer, milestones, gamma=0.1, last_epoch=-1, verbose='deprecated')[source][source]

一旦 epoch 數量達到里程碑(milestone)之一,就將每個參數群組的學習率衰減 gamma 倍。

請注意,這種衰減可能會與來自此 scheduler 之外的學習率的其他更改同時發生。當 last_epoch=-1 時,將初始學習率設定為 lr。

參數
  • optimizer (Optimizer) – 包裹的 optimizer。

  • milestones (list) – Epoch 索引的列表。 必須是遞增的。

  • gamma (float) – 學習率衰減的倍增因子。預設值:0.1。

  • last_epoch (int) – 最後一個 epoch 的索引。預設值:-1。

  • verbose (bool | str) –

    如果 True,則為每次更新向 stdout 印出一則訊息。預設值: False

    Deprecated since version 2.2: verbose 已棄用。請使用 get_last_lr() 來存取學習率。

範例

>>> # Assuming optimizer uses lr = 0.05 for all groups
>>> # lr = 0.05     if epoch < 30
>>> # lr = 0.005    if 30 <= epoch < 80
>>> # lr = 0.0005   if epoch >= 80
>>> scheduler = MultiStepLR(optimizer, milestones=[30,80], gamma=0.1)
>>> for epoch in range(100):
>>>     train(...)
>>>     validate(...)
>>>     scheduler.step()
get_last_lr()[source]

傳回目前 scheduler 計算的最後一個學習率。

回傳類型

List[float]

get_lr()[source][source]

計算每個參數群組的學習率。

load_state_dict(state_dict)[source]

載入 scheduler 的狀態。

參數

state_dict (dict) – scheduler 狀態。 應該是呼叫 state_dict() 所回傳的物件。

print_lr(is_verbose, group, lr, epoch=None)[source]

顯示目前的學習率。

Deprecated since version 2.4: print_lr() 已棄用。請使用 get_last_lr() 來存取學習率。

state_dict()[source]

將 scheduler 的狀態作為 dict 回傳。

它包含 self.__dict__ 中每個不是 optimizer 的變數的條目。

step(epoch=None)[source]

執行一個 step。

文件

Access comprehensive developer documentation for PyTorch

View Docs

Tutorials

Get in-depth tutorials for beginners and advanced developers

View Tutorials

Resources

Find development resources and get your questions answered

View Resources