code: def simulate(self, steps, initial_lr):
          
          test = torch.ones(1, requires_grad=True)
          opt = torch.optim.SGD([{'params': test, 'lr': initial_lr}])
          policy_cls = self._get_policy_cls()
          sch = policy_cls(opt, **self.kwargs)
  
          if hasattr(sch, 'batch_step') and callable(sch.batch_step):
              step = sch.batch_step
          else:
              step = sch.step
          lrs = []
          for _ in range(steps):
              step()
              lrs.append(sch.get_lr()[0])
  
          return np.array(lrs)
docs: Simulates the learning rate scheduler.
  
          Parameters
          ----------
          steps: int
            Number of steps to simulate
  
          initial_lr: float
            Initial learning rate
  
          Returns
          -------
          lrs: numpy ndarray
            Simulated learning rates