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)
code: def get_values(self):
      raise NotImplementedError
  
file_path: allennlp/allennlp/training/scheduler.py
imports: from typing import Dict, Any
  import torch
label_desc: Use image node_id 4 for calling the Scheduler obj's underlying member method code with example usage: obj.get_values() without return types