評價此頁

LinearLR#

class torch.optim.lr_scheduler.LinearLR(optimizer, start_factor=0.3333333333333333, end_factor=1.0, total_iters=5, last_epoch=-1)[source]#

透過線性改變小的乘法因子來衰減每個引數組的學習率。

乘法操作會一直進行,直到 epoch 數量達到預設的里程碑:total_iters。請注意,這種衰減可以與其他來自此排程器外部的學習率變化同時發生。當 last_epoch=-1 時,將初始學習率設定為 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) – The index of the last epoch. Default: -1.

示例

>>> # Assuming optimizer uses lr = 0.05 for all groups
>>> # lr = 0.003687  if epoch == 0
>>> # lr = 0.004875  if epoch == 1
>>> # lr = 0.006062  if epoch == 2
>>> # lr = 0.00725   if epoch == 3
>>> # ...
>>> # lr = 0.05      if epoch >= 40
>>> scheduler = LinearLR(optimizer, start_factor=0.05, total_iters=40)
>>> for epoch in range(100):
>>>     train(...)
>>>     validate(...)
>>>     scheduler.step()
../_images/LinearLR.png
get_last_lr()[source]#

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

返回型別

list[float]

get_lr()[source]#

計算學習率。

返回型別

list[float]

load_state_dict(state_dict)[source]#

載入排程器的狀態。

引數

state_dict (dict) – 排程器狀態。應該是一個由呼叫 state_dict() 返回的物件。

state_dict()[source]#

返回排程器狀態,作為一個 dict

它包含 self.__dict__ 中除最佳化器之外的所有變數的條目。

返回型別

dict[str, Any]

step(epoch=None)[source]#

執行一步。