code: def __init__(
      self,
      learning_rate,
      T_max1,
      T_max2,
      eta_min=0,
      last_epoch=-1,
      verbose=False,
  ):
      if not isinstance(T_max1, int):
          raise TypeError(
              "The type of 'T_max1' in 'CosineAnnealingDecay' must be 'int', but received %s."
              % type(T_max1)
          )
      if not isinstance(T_max2, int):
          raise TypeError(
              "The type of 'T_max2' in 'CosineAnnealingDecay' must be 'int', but received %s."
              % type(T_max2)
          )
      if not isinstance(eta_min, (float, int)):
          raise TypeError(
              "The type of 'eta_min' in 'CosineAnnealingDecay' must be 'float, int', but received %s."
              % type(eta_min)
          )
      assert T_max1 > 0 and isinstance(
          T_max1, int
      ), " 'T_max1' must be a positive integer."
      assert T_max2 > 0 and isinstance(
          T_max2, int
      ), " 'T_max1' must be a positive integer."
      self.T_max1 = T_max1
      self.T_max2 = T_max2
      self.eta_min = float(eta_min)
      super(TwoStepCosineDecay, self).__init__(
          learning_rate, last_epoch, verbose
      )
  
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 TwoStepCosineDecay object from inherited base classes: LRScheduler with example: obj = TwoStepCosineDecay(learning_rate, T_max1, T_max2, eta_min, last_epoch, verbose)