class_docstr: Piecewise learning rate decay
  Args:
      step_each_epoch(int): steps each epoch
      learning_rate (float): The initial learning rate. It is a python float number.
      step_size (int): the interval to update.
      gamma (float, optional): The Ratio that the learning rate will be reduced. ``new_lr = origin_lr * gamma`` .
          It should be less than 1.0. Default: 0.1.
      last_epoch (int, optional):  The index of last epoch. Can be set to restart training. Default: -1, means initial learning rate.
class_docstr_tok: ["Piecewise","learning","rate","decay","Args",":","step_each_epoch","(","int",")",":","steps","each","epoch","learning_rate","(","float",")",":","The","initial","learning","rate",".","It","is","a","python","float","number",".","step_size","(","int",")",":","the","interval","to","update",".","gamma","(","float",",","optional",")",":","The","Ratio","that","the","learning","rate","will","be","reduced",".","``","new_lr","=","origin_lr","*","gamma","``",".","It","should","be","less","than","1.0",".","Default",":","0.1.","last_epoch","(","int",",","optional",")",":","The","index","of","last","epoch",".","Can","be","set","to","restart","training",".","Default",":","-1",",","means","initial","learning","rate","."]
code: def __call__(self):
      learning_rate = lr.MultiStepDecay(
          learning_rate=self.learning_rate,
          milestones=self.milestones,
          gamma=self.gamma,
          last_epoch=self.last_epoch,
      )
      if self.warmup_epoch > 0:
          learning_rate = lr.LinearWarmup(
              learning_rate=learning_rate,
              warmup_steps=self.warmup_epoch,
              start_lr=0.0,
              end_lr=self.learning_rate,
              last_epoch=self.last_epoch,
          )
      return learning_rate
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  from __future__ import unicode_literals
  from paddle.optimizer import lr
  from .lr_scheduler import CyclicalCosineDecay, OneCycleDecay, TwoStepCosineDecay
label_desc: Use image node_id 2 for calling the MultiStepDecay obj's underlying member method code with example usage: obj.__call__() and returns: learning_rate