mindspore2022/docs/api/api_python/nn/mindspore.nn.PolynomialDeca...

47 lines
1.6 KiB
ReStructuredText
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

mindspore.nn.PolynomialDecayLR
====================================
.. py:class:: mindspore.nn.PolynomialDecayLR(learning_rate, end_learning_rate, decay_steps, power, update_decay_steps=False)
基于多项式衰减函数计算学习率。
对于当前step计算学习率的公式为
.. math::
decayed\_learning\_rate = &(learning\_rate - end\_learning\_rate) *\\
&(1 - tmp\_step / tmp\_decay\_steps)^{power}\\
&+ end\_learning\_rate
其中,
.. math::
tmp\_step=min(current\_step, decay\_steps)
如果 `update_decay_steps` 为true则每 `decay_steps` 更新 `tmp_decay_step` 的值。公式为:
.. math::
tmp\_decay\_steps = decay\_steps * ceil(current\_step / decay\_steps)
**参数:**
- **learning_rate** (float) - 学习率的初始值。
- **end_learning_rate** (float) - 学习率的最终值。
- **decay_steps** (int) - 进行衰减的step数。
- **power** (float) - 多项式的幂必须大于0。
- **update_decay_steps** (bool) - 如果为True则学习率每 `decay_steps` 次衰减一次。默认值False。
**输入:**
- **global_step** Tensor当前step数即current_step。
**输出:**
标量Tensor。当前step的学习率值。
**异常:**
- **TypeError** - `learning_rate`, `end_learning_rate``power` 不是float。
- **TypeError** - `decay_steps` 不是int或 `update_decay_steps` 不是bool。
- **ValueError** - `end_learning_rate` 小于0或 `decay_steps` 小于1。
- **ValueError** - `learning_rate``power` 小于或等于0。