快捷方式

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。

  • 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.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()
get_last_lr()[source]

傳回目前排程器計算的最後一個學習率。

傳回類型

List[float]

get_lr()[source][source]

計算學習率。

load_state_dict(state_dict)[source]

載入排程器的狀態。

參數

state_dict (dict) – 排程器狀態。應該是從呼叫 state_dict() 傳回的物件。

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

顯示目前的學習率。

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

state_dict()[source]

dict 傳回排程器的狀態。

它包含 self.__dict__ 中每個變數的項目,該變數不是優化器。

step(epoch=None)[source]

執行一個步驟。

文件

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