快捷方式

get_cosine_schedule_with_warmup

torchtune.training.get_cosine_schedule_with_warmup(optimizer: Optimizer, num_warmup_steps: int, num_training_steps: int, num_cycles: float = 0.5, last_epoch: int = - 1) LambdaLR[源码]

创建一个学习率调度器,它在 num_warmup_steps 期间将学习率从 0.0 线性增加到 lr,然后在剩余的 num_training_steps-num_warmup_steps 期间按余弦调度方式减小到 0.0(假设 num_cycles = 0.5)。

这基于 Hugging Face 的实现 https://github.com/huggingface/transformers/blob/v4.23.1/src/transformers/optimization.py#L104

参数:
  • optimizer (torch.optim.Optimizer) – 需要调度学习率的优化器。

  • num_warmup_steps (int) – 热身阶段的步数。

  • num_training_steps (int) – 训练总步数。

  • num_cycles (float) – 余弦调度中的波浪数。默认为 0.5(遵循半余弦曲线从最大值减小到 0)。

  • last_epoch (int) – 恢复训练时最后一个 epoch 的索引。默认为 -1

返回:

具有适当调度器的 torch.optim.lr_scheduler.LambdaLR。

文档

查阅 PyTorch 的全面开发者文档

查看文档

教程

获取面向初学者和高级开发者的深度教程

查看教程

资源

查找开发资源并获得问题解答

查看资源