class_docstr: A scheduler that interpolates learning rates in a logarithmic fashion
docstr: A scheduler that interpolates learning rates in a logarithmic fashion
  
  Args:
  - optimizer: pytorch optimizer
  - num_steps: int, the number of steps over which to increase from the min_lr to the max_lr
  - min_lr: float, the minimum learning rate
  - max_lr: float, the maximum learning rate
  
  Usage:
      fc = nn.Linear(1,1)
      optimizer = optim.Adam(fc.parameters())
      lr_scheduler = InterpolatingLogScheduler(optimizer, num_steps=400, min_lr=1e-6, max_lr=1e-4)
code: def __init__(
      self, optimizer, num_steps, min_lr, max_lr, last_epoch=-1
  ):
      """A scheduler that interpolates learning rates in a logarithmic fashion
  
      Args:
      - optimizer: pytorch optimizer
      - num_steps: int, the number of steps over which to increase from the min_lr to the max_lr
      - min_lr: float, the minimum learning rate
      - max_lr: float, the maximum learning rate
  
      Usage:
          fc = nn.Linear(1,1)
          optimizer = optim.Adam(fc.parameters())
          lr_scheduler = InterpolatingLogScheduler(optimizer, num_steps=400, min_lr=1e-6, max_lr=1e-4)
      """
      self.num_steps = num_steps
      self.min_lr = min_lr
      self.max_lr = max_lr
      self.q = (max_lr / min_lr) ** (  # pylint: disable=invalid-name
          1 / (num_steps - 1)
      )
      super().__init__(optimizer, last_epoch)
  
file_path: axolotl/src/axolotl/utils/schedulers.py
imports: import math
  from functools import partial
  from torch.optim import Optimizer
  from torch.optim.lr_scheduler import LambdaLR, LRScheduler
label_desc: Use image node_id 1 to create a new InterpolatingLogScheduler object from inherited base classes: LRScheduler with example: obj = InterpolatingLogScheduler(optimizer, num_steps, min_lr, max_lr, last_epoch)