在第3课 – 行星中,我看到了以下两行代码:
lr = 0.01learn.fit_one_cycle(5, slice(lr))
如果使用 slice(min_lr, max_lr),我理解 fit_one_cycle() 将使用从 slice(min_lr, max_lr) 中扩展的学习率。(希望我的理解是正确的)
但在这种情况下,slice(lr) 只有一个参数,
fit_one_cycle(5, lr) 和 fit_one_cycle(5, slice(lr)) 之间有什么区别?使用 slice(lr) 而不是直接使用 lr 的好处是什么?
回答:
Jeremy 在第5课中花了一些时间解释 slice 的作用。
我理解的是,fastai.vision 模块将架构分为三组,并根据你的输入用不同的学习率训练它们。(起始层通常不需要参数的大幅变化)
此外,如果你使用 ‘fit_one_cycle’,所有组将使用各自的可变学习率进行学习率退火。
查看第5课 https://course.fast.ai/videos/?lesson=5(使用转录查找工具快速跳转到 ‘slice’ 部分)