paddlespeech.s2t.training.scheduler 模块

class paddlespeech.s2t.training.scheduler.LRSchedulerFactory[来源]

基础: object

方法

从参数

classmethod from_args(name: str, args: Dict[str, Any])[来源]
class paddlespeech.s2t.training.scheduler.WarmupLR(warmup_steps: Union[int, float] = 25000, learning_rate=1.0, last_epoch=-1, verbose=False, **kwargs)[来源]

基础: LRScheduler

WarmupLR调度器 该调度器几乎与NoamLR调度器相同,除了以下区别: NoamLR:

lr = optimizer.lr * model_size ** -0.5
  • 最小值(step ** -0.5, step * warmup_step ** -1.5)

WarmupLR:
lr = optimizer.lr * warmup_step ** 0.5
  • 最小值(step ** -0.5, step * warmup_step ** -1.5)

请注意,最大学习率等于此调度程序中的optimizer.lr。

方法

__call__()

返回当前周期最新计算的学习率。

get_lr()

对于那些重载LRScheduler(基类)的子类,用户应该有get_lr()的自定义实现。

set_dict(state_dict)

加载调度器的状态。

set_state_dict(state_dict)

加载调度器的状态。

set_step([step])

它将根据当前 epoch 更新优化器中的学习率。

state_dict()

返回调度程序的状态,格式为 dict

state_keys()

对于那些重载 LRScheduler(基类)的子类。

step([epoch])

step 应在 optimizer.step 之后调用。

get_lr()[来源]

对于那些重载 LRScheduler(基类)的子类,用户应该有一个自定义的 get_lr() 实现。

否则,将抛出一个 NotImplementedError 异常。

set_step(step: Optional[int] = None)[来源]

它将在优化器中根据当前 epoch 更新学习率。新学习率将在下一个 optimizer.step 上生效。

Args:

step (int, None):指定当前的 epoch。默认:None。从 last_epoch=-1 自动递增。

Returns: