3.6 动态修改学习率参数
修改参数可以通过修改参数optimizer.params_groups或新建optimizer。新建optimizer比较简单,optimizer十分轻量级,所以开销很小。但是新的优化器会初始化动量等信息,这对使用带动量的优化器(如:SGD)可能会造成收敛的震荡。所以直接使用修改参数optimizer.params_groups。
optimizer.params_groups:长度1的list,optimizer.params_groups[0]:长度6的字典,包括权重参数、学习率、momentum等参数。
for epoch in range(num_epoches):
# 动态修改参数学习率
if epoch % 5 == 0:
optimizer.param_groups[0]["lr"] *= 0.1
print(optimizer.param_groups[0]["lr"]