mindelec.common.LearningRate

class mindelec.common.LearningRate(learning_rate, end_learning_rate, warmup_steps, decay_steps, power)[source]

Warmup learning rate and decay learning rate. Return warmup learning rate when warmup_steps is greater than 0. Otherwise, return decay learning rate.

Parameters
  • learning_rate (float) – positive float type number of basic learning rate.

  • end_learning_rate (float) – non-negtive float type number of end learning rate.

  • warmup_steps (int) – non-negtive int type number of warmup steps.

  • decay_steps (int) – A positive int value used to calculate decayed learning rate.

  • power (float) – A positive float value used to calculate decayed learning rate.

Inputs:
  • global_step (Tensor) - The current step number with shape \(()\).

Returns

Tensor. The learning rate value for the current step with shape \(()\).

Supported Platforms:

Ascend

Examples

>>> from mindelec.common import LearningRate
>>> from mindspore.common.tensor import Tensor
>>> from mindspore.common import dtype as mstype
>>> lr = LearningRate(0.1, 0.001, 0, 10, 0.5)
>>> print(lr(Tensor(1000, mstype.int32)))
0.001