捷徑

StepLR

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

每隔 step_size 個 epochs,將每個參數群組的學習率衰減 gamma 倍。

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

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

  • step_size (int) – 學習率衰減的週期。

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

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

  • verbose (bool | str) –

    如果 True,則每次更新都會將訊息列印到 stdout。預設值:False

    自 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 < 60
>>> # lr = 0.0005   if 60 <= epoch < 90
>>> # ...
>>> scheduler = StepLR(optimizer, step_size=30, 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]

顯示當前的學習率。

自 2.4 版本起已棄用: print_lr() 已棄用。請使用 get_last_lr() 來存取學習率。

state_dict()[source]

將 scheduler 的狀態作為 dict 傳回。

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

step(epoch=None)[source]

執行一個 step。

文件

存取 PyTorch 的完整開發人員文件

檢視文件

教學

取得針對初學者和進階開發人員的深入教學

檢視教學

資源

尋找開發資源並獲得問題解答

檢視資源