宜宾隔热条设备 OneCycleLR — PyTorch 2.10 文档

凭证 1cycle 学习率政策竖立每个参数组的学习率宜宾隔热条设备 。
1cycle 政策将学习率从脱手学习率疗养到个大学习率,然后从该大学习率疗养到个远低于脱手学习率的小学习率。该政策初在论文 Super-Convergence: Very Fast Training of Neural Networks Using Large Learning Rates 中进行了描写。
1cycle 学习率政策在每个 batch 之后转变学习率。在批次用于探员之后,应该调用 step。
此疗养器不复旧链式调用。
另外请详确,周期中的总步数不错通过以下两种式之敬佩(按先轨则成列):
显式提供了 total_steps 的值。
提供了 epoch 数(epochs)和每个 epoch 的步数(steps_per_epoch)。在这种情况下,总步数断为 total_steps = epochs * steps_per_epoch。
您须提供 total_steps 的值,大约提供 epochs 和 steps_per_epoch 的值。
此疗养器的默许行为罢免 fastai 对 1cycle 的兑现,该兑现宣称“未经发布的现实标明,仅使用两个阶段能获取好的成果”。要师法原始论文的行为,请将 three_phase=True 竖立为 True。
参数:optimizer (Optimizer) – 包装的化器。
max_lr (float 或 list) – 每个参数组在周期内的上限学习率。
total_steps (int) – 周期的总步数。详确,如若此处未提供值,则须通过提供 epochs 和 steps_per_epoch 的值来断。默许值:None
epochs (int) – 探员的 epoch 数。这与 steps_per_epoch 升引于断周期中的总步数,如若未提供 total_steps 的值。默许值:None
steps_per_epoch (int) – 每个 epoch 的探员步数。这与 epochs 升引于断周期中的总步数宜宾隔热条设备 ,如若未提供 total_steps 的值。默许值:None
pct_start (float) – 周期顶用于加多学习率的百分比(按步数缱绻)。默许值:0.3
anneal_strategy (str) – {‘cos’, ‘linear’} 指定衰减政策:“cos”暗示余弦衰减,“linear”暗示线衰减。默许值:‘cos’
cycle_momentum (bool) – 如若为 True,则动量在 ‘base_momentum’ 和 ‘max_momentum’ 之间与学习率成反比变化。默许值:True
base_momentum (float 或 list) – 每个参数组在周期内的动量下限。详确,动量与学习率成反比变化;在周期的峰值处,动量为 ‘base_momentum’,塑料挤出设备学习率为 ‘max_lr’。默许值:0.85
max_momentum (float 或 list) – 每个参数组在周期内的动量上限。上,它界说了周期的幅度(max_momentum - base_momentum)。详确,动量与学习率成反比变化;在周期的脱手,动量为 ‘max_momentum’,学习率为 ‘base_lr’。默许值:0.95
div_factor (float) – 通过 initial_lr = max_lr/div_factor 敬佩脱手学习率。默许值:25
final_div_factor (float) – 通过 min_lr = initial_lr/final_div_factor 敬佩小学习率。默许值:1e4
three_phase (bool) – 如若为 True,则使用疗养的三个阶段凭证 ‘final_div_factor’ 来衰减学习率,而不是修改二个阶段(前两个阶段将围绕 ‘pct_start’ 指示的步数对称)。
last_epoch (int) – 上个 batch 的索引。此参数用于复原探员任务。由于 step() 应该在每个 batch 之后而不是每个 epoch 之后调用,因此此数字暗示已缱绻的 *batch* 的总额,而不是已缱绻的 epoch 的总额。当 last_epoch=-1 时,疗养器将从新脱手。默许值:-1
示例
get_last_lr()[source]#获取此疗养器缱绻的新学习率。
复返:个 list,其中包含化器的每个 param_groups 的学习率条件,其类型与其 group["lr"] 交流。
复返类型:list[float | Tensor]
get_lr()[source]#缱绻化器 param_groups 中每个参数组的下个学习率。
查找刻下步数对应的适合的 _schedule_phases 条件,并使用 _anneal_func() 在其 start_lr 和 end_lr 之间进行插值。
复返:个 list,其中包含化器每个 param_groups 的学习率,其类型与其刻下 group["lr"] 交流。
复返类型:list[float | Tensor]
load_state_dict(state_dict)[source]#加载疗养器的景色。
电话:0316--3233399 参数:state_dict (dict) – 疗养器的景色。应该是从调用 state_dict() 复返的对象。
state_dict()[source]#复返疗养器景色,行动个 dict。
它包含 self.__dict__ 中不是化器的每个变量的条件。
复返类型:dict[str, Any]
step(epoch=None)[source]#疗养器步进。
参数:epoch (int, optional) –
相关词条:管道保温施工 塑料挤出设备 预应力钢绞线 玻璃棉厂家 保温护角专用胶