LinearLR¶
- class torch.optim.lr_scheduler.LinearLR(optimizer, start_factor=0.3333333333333333, end_factor=1.0, total_iters=5, last_epoch=-1, verbose='deprecated')[source][source]¶
以線性方式改變小的乘法因子,來衰減每個參數群組的學習率。
在 epoch 數量達到預定義的里程碑:total_iters 之前,會持續進行乘法運算。請注意,這種衰減可以與來自此排程器外部的學習率的其他更改同時發生。當 last_epoch=-1 時,會將初始 lr 設定為 lr。
- 參數
optimizer (Optimizer) – 包裝的優化器。
start_factor (float) – 我們在第一個 epoch 中將學習率乘以的數字。在後續的 epoch 中,乘法因子會朝向 end_factor 變化。預設值:1./3。
end_factor (float) – 在線性變化過程結束時,我們將學習率乘以的數字。預設值:1.0。
total_iters (int) – 乘法因子達到 1 的迭代次數。預設值:5。
last_epoch (int) – 最後一個 epoch 的索引。預設值:-1。
如果
True
,則每次更新時都會向 stdout 列印訊息。預設值:False
。Deprecated since version 2.2:
verbose
已棄用。請使用get_last_lr()
來存取學習率。
範例
>>> # Assuming optimizer uses lr = 0.05 for all groups >>> # lr = 0.025 if epoch == 0 >>> # lr = 0.03125 if epoch == 1 >>> # lr = 0.0375 if epoch == 2 >>> # lr = 0.04375 if epoch == 3 >>> # lr = 0.05 if epoch >= 4 >>> scheduler = LinearLR(optimizer, start_factor=0.5, total_iters=4) >>> for epoch in range(100): >>> train(...) >>> validate(...) >>> scheduler.step()
- load_state_dict(state_dict)[source]¶
載入排程器的狀態。
- 參數
state_dict (dict) – 排程器狀態。應該是從呼叫
state_dict()
傳回的物件。