mindflow.common.get_poly_lr
- mindflow.common.get_poly_lr(global_step, lr_init, lr_end, lr_max, warmup_steps, total_steps, poly_power)[源代码]
生成指数衰减的学习率。学习率随着训练步数进行指数衰减。当step小于warmup_steps时,\(lr = step * (lr_max - lr_init)/warmup_steps\) ,之后 \(lr = lr_end + (lr_max - lr_end) * [(1- i + step)/(total_steps - warmup_steps)]**poly_power\)。
- 参数:
global_step (int) - 当前步骤编号,非负值。
lr_init (float) - 初始学习速率,正值。
lr_end (float) - 结束学习速率,非负值。
lr_max (float) - 最大学习速率,正值。
warmup_steps (int) - 热身epoch的数量,非负值。
total_steps (int) - 训练的总epoch数量,正值。
poly_power (float) - 多学习速率的次方数,正值。
- 返回:
Numpy.array,学习率数组。
- 支持平台:
Ascend
GPU
样例:
>>> from mindflow.common import get_poly_lr >>> learning_rate = get_poly_lr(100, 0.001, 0.1, 0.0001, 1000, 10000, 0.5) >>> print(learning_rate.shape) (9900,)