class_docstr: A `Scheduler` is a generalization of PyTorch learning rate schedulers.
  
  A scheduler can be used to update any field in an optimizer's parameter groups,
  not just the learning rate.
  
  During training using the AllenNLP `Trainer`, this is the API and calling
  sequence for `step` and `step_batch`::
  
     scheduler = ... # creates scheduler
  
     batch_num_total = 0
     for epoch in range(num_epochs):
         for batch in batchs_in_epoch:
             # compute loss, update parameters with current learning rates
             # call step_batch AFTER updating parameters
             batch_num_total += 1
             scheduler.step_batch(batch_num_total)
         # call step() at the END of each epoch
         scheduler.step(validation_metrics, epoch)
docstr: Load the schedulers state.
  
  # Parameters
  
  state_dict : `Dict[str, Any]`
      Scheduler state. Should be an object returned from a call to `state_dict`.
code: def load_state_dict(self, state_dict: Dict[str, Any]) -> None:
      """
      Load the schedulers state.
  
      # Parameters
  
      state_dict : `Dict[str, Any]`
          Scheduler state. Should be an object returned from a call to `state_dict`.
      """
      self.__dict__.update(state_dict)
  
file_path: allennlp/allennlp/training/scheduler.py
imports: from typing import Dict, Any
  import torch
label_desc: Use image node_id 3 for calling the Scheduler obj's underlying member method code with example usage: obj.load_state_dict(state_dict) without return types