class_docstr: Piecewise learning rate decay
  Args:
      boundaries(list): A list of steps numbers. The type of element in the list is python int.
      values(list): A list of learning rate values that will be picked during different epoch boundaries.
          The type of element in the list is python float.
      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",":","boundaries","(","list",")",":","A","list","of","steps","numbers",".","The","type","of","element","in","the","list","is","python","int",".","values","(","list",")",":","A","list","of","learning","rate","values","that","will","be","picked","during","different","epoch","boundaries",".","The","type","of","element","in","the","list","is","python","float",".","last_epoch","(","int",",","optional",")",":","The","index","of","last","epoch",".","Can","be","set","to","restart","training",".","Default",":","-1",",","means","initial","learning","rate","."]
code: def __init__(
      self,
      step_each_epoch,
      decay_epochs,
      values,
      warmup_epoch=0,
      last_epoch=-1,
      **kwargs,
  ):
      super(Piecewise, self).__init__()
      self.boundaries = [step_each_epoch * e for e in decay_epochs]
      self.values = values
      self.last_epoch = last_epoch
      self.warmup_epoch = round(warmup_epoch * step_each_epoch)
  
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 1 to create a new Piecewise object from inherited base classes: object with example: obj = Piecewise(step_each_epoch, decay_epochs, values, warmup_epoch, last_epoch)