docstr: Cyclical cosine learning rate decay
  A learning rate which can be referred in https://arxiv.org/pdf/2012.12645.pdf
  Args:
      learning rate(float): learning rate
      T_max(int): maximum epoch num
      cycle(int): period of the cosine decay
      last_epoch (int, optional):  The index of last epoch. Can be set to restart training. Default: -1, means initial learning rate.
      eta_min(float): minimum learning rate during training
      verbose(bool): whether to print learning rate for each epoch
docstr_tok: ["Cyclical","cosine","learning","rate","decay","A","learning","rate","which","can","be","referred","in","https",":","\/\/arxiv.org\/pdf\/2012.12645.pdf","Args",":","learning","rate","(","float",")",":","learning","rate","T_max","(","int",")",":","maximum","epoch","num","cycle","(","int",")",":","period","of","the","cosine","decay","last_epoch","(","int",",","optional",")",":","The","index","of","last","epoch",".","Can","be","set","to","restart","training",".","Default",":","-1",",","means","initial","learning","rate",".","eta_min","(","float",")",":","minimum","learning","rate","during","training","verbose","(","bool",")",":","whether","to","print","learning","rate","for","each","epoch"]
code: def __init__(
      self,
      learning_rate,
      T_max,
      cycle=1,
      last_epoch=-1,
      eta_min=0.0,
      verbose=False,
  ):
      """
      Cyclical cosine learning rate decay
      A learning rate which can be referred in https://arxiv.org/pdf/2012.12645.pdf
      Args:
          learning rate(float): learning rate
          T_max(int): maximum epoch num
          cycle(int): period of the cosine decay
          last_epoch (int, optional):  The index of last epoch. Can be set to restart training. Default: -1, means initial learning rate.
          eta_min(float): minimum learning rate during training
          verbose(bool): whether to print learning rate for each epoch
      """
      super(CyclicalCosineDecay, self).__init__(
          learning_rate, last_epoch, verbose
      )
      self.cycle = cycle
      self.eta_min = eta_min
  
file_path: PaddleOCR/ppocr/optimizer/lr_scheduler.py
imports: import math
  from paddle.optimizer.lr import LRScheduler
label_desc: Use image node_id 1 to create a new CyclicalCosineDecay object from inherited base classes: LRScheduler with example: obj = CyclicalCosineDecay(learning_rate, T_max, cycle, last_epoch, eta_min, verbose)