old_contents: import mxnet as mx
  from mxnet.lr_scheduler import LRScheduler
  
  class BurnInMultiFactorScheduler(LRScheduler):
      """Reduce the learning rate by given a list of steps.
  
      Assume there exists *k* such that::
  
         step[k] <= num_update and num_update < step[k+1]
  
      Then calculate the new learning rate by::
  
         base_lr * pow(factor, k+1)
  
      Parameters
      ----------
      step: list of int
          The list of steps to schedule a change
      factor: float
          The factor to change the learning rate.
      """
      def __init__(self, burn_in, step, factor=1, burn_in_power=4):
          super(MultiFactorScheduler, self).__init__()
          assert isinstance(step, list) and len(step) >= 1
          for i, _step in enumerate(step):
              if i != 0 and step[i] <= step[i-1]:
                  raise ValueError("Schedule step must be an increasing integer list")
              if _step < 1:
                  raise ValueError("Schedule step must be greater or equal than 1 round")
          if factor > 1.0:
              raise ValueError("Factor must be no more than 1 to make lr reduce")
          self.step = step
          self.cur_step_ind = 0
          self.factor = factor
          self.count = 0
          self.burn_in = int(burn_in)
          self.burn_in_power = burn_in_power
  
      def __call__(self, num_update):
          if self.cur_step_ind < self.burn_in:
              lr = self.base_lr * pow(self.cur_step_ind / float(self.burn_in), self.burn_in_power)
              logging.debug("Update[Burn-in]: Change learning rate to %0.5e", lr)
              return lr
          # NOTE: use while rather than if  (for continuing training via load_epoch)
          while self.cur_step_ind <= len(self.step)-1:
              if num_update > self.step[self.cur_step_ind]:
                  self.count = self.step[self.cur_step_ind]
                  self.cur_step_ind += 1
                  self.base_lr *= self.factor
                  logging.info("Update[%d]: Change learning rate to %0.5e",
                               num_update, self.base_lr)
              else:
                  return self.base_lr
          return self.base_lr
  
new_contents: import mxnet as mx
  from mxnet.lr_scheduler import LRScheduler
  
  class BurnInMultiFactorScheduler(LRScheduler):
      """Reduce the learning rate by given a list of steps.
  
      Assume there exists *k* such that::
  
         step[k] <= num_update and num_update < step[k+1]
  
      Then calculate the new learning rate by::
  
         base_lr * pow(factor, k+1)
  
      Parameters
      ----------
      step: list of int
          The list of steps to schedule a change
      factor: float
          The factor to change the learning rate.
      """
      def __init__(self, burn_in, step, factor=1, burn_in_power=4):
          super(BurnInMultiFactorScheduler, self).__init__()
          assert isinstance(step, list) and len(step) >= 1
          for i, _step in enumerate(step):
              if i != 0 and step[i] <= step[i-1]:
                  raise ValueError("Schedule step must be an increasing integer list")
              if _step < 1:
                  raise ValueError("Schedule step must be greater or equal than 1 round")
          if factor > 1.0:
              raise ValueError("Factor must be no more than 1 to make lr reduce")
          self.step = step
          self.cur_step_ind = 0
          self.factor = factor
          self.count = 0
          self.burn_in = int(burn_in)
          self.burn_in_power = burn_in_power
  
      def __call__(self, num_update):
          if self.cur_step_ind < self.burn_in:
              lr = self.base_lr * pow(self.cur_step_ind / float(self.burn_in), self.burn_in_power)
              logging.debug("Update[Burn-in]: Change learning rate to %0.5e", lr)
              return lr
          # NOTE: use while rather than if  (for continuing training via load_epoch)
          while self.cur_step_ind <= len(self.step)-1:
              if num_update > self.step[self.cur_step_ind]:
                  self.count = self.step[self.cur_step_ind]
                  self.cur_step_ind += 1
                  self.base_lr *= self.factor
                  logging.info("Update[%d]: Change learning rate to %0.5e",
                               num_update, self.base_lr)
              else:
                  return self.base_lr
          return self.base_lr
  
subject: fix super