class_docstr: Wrapper for [PyTorch's `MultiStepLR`](
  https://pytorch.org/docs/stable/
  generated/torch.optim.lr_scheduler.MultiStepLR.html#torch.optim.lr_scheduler.MultiStepLR
  ).
  
  Registered as a `LearningRateScheduler` with name "multi_step".  The "optimizer" argument does
  not get an entry in a configuration file for the object.
  
  # Example
  
  Config for using the `MultiStepLearningRateScheduler` Learning Rate
  Scheduler with `milestones` of `[10,20,40]` and `gamma` set `0.2`.
  
  ```json
  {
      ...
     "trainer":{
          ...
          "learning_rate_scheduler": {
              "type": "multi_step",
              "milestones": [10,20,40],
              "gamma": 0.2
          },
          ...
     }
  }
  ```
  Note that you do NOT pass a `optimizer` key to the Learning rate scheduler.
code: def __init__(
      self,
      optimizer: Optimizer,
      milestones: List[int],
      gamma: float = 0.1,
      last_epoch: int = -1,
  ) -> None:
      lr_scheduler = torch.optim.lr_scheduler.MultiStepLR(
          optimizer=optimizer,
          milestones=milestones,
          gamma=gamma,
          last_epoch=last_epoch,
      )
      super().__init__(lr_scheduler)
  
file_path: allennlp/allennlp/training/learning_rate_schedulers/pytorch_lr_schedulers.py
imports: from typing import List, Union
  import torch
  from allennlp.training.optimizers import Optimizer
  from allennlp.training.learning_rate_schedulers.learning_rate_scheduler import LearningRateScheduler, _PyTorchLearningRateSchedulerWrapper, _PyTorchLearningRateSchedulerWithMetricsWrapper
label_desc: Use image node_id 1 to create a new MultiStepLearningRateScheduler object from inherited base classes: _PyTorchLearningRateSchedulerWrapper with example: obj = MultiStepLearningRateScheduler(optimizer, milestones, gamma, last_epoch)