評價此頁

StepLR#

class torch.optim.lr_scheduler.StepLR(optimizer, step_size, gamma=0.1, last_epoch=-1)[原始碼]#

每隔 step_size 個 epoch 將每個引數組的學習率衰減 gamma 倍。

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

引數
  • optimizer (Optimizer) – 包裝的最佳化器。

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

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

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

示例

>>> # 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()
../_images/StepLR.png
get_last_lr()[原始碼]#

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

返回型別

list[float]

get_lr()[原始碼]#

計算每個引數組的學習率。

返回型別

list[float]

load_state_dict(state_dict)[原始碼]#

載入排程器的狀態。

引數

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

state_dict()[原始碼]#

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

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

返回型別

dict[str, Any]

step(epoch=None)[原始碼]#

執行一步。