class_docstr: Tracks training progress and visualizes it.
  For example, use it to track the training and validation loss and accuracy
  and plot them.
class_docstr_tok: ["Tracks","training","progress","and","visualizes","it",".","For","example",",","use","it","to","track","the","training","and","validation","loss","and","accuracy","and","plot","them","."]
docstr: Returns a list of all steps logged so far. Guaranteed to be
  sorted correctly.
docstr_tok: ["Returns","a","list","of","all","steps","logged","so","far",".","Guaranteed","to","be","sorted","correctly","."]
code: def steps(self):
      """Returns a list of all steps logged so far. Guaranteed to be
      sorted correctly."""
      if not self.history:
          return []
      # TODO: Consider caching the sorted steps for performance
      return sorted(self.history.keys())
  
imports: import math
  import random
  import io
  import itertools
  import time
  import datetime
  import pickle
  import numpy
  import matplotlib.pyplot
  import matplotlib
  from .None import utils
label_desc: Use image node_id 3 for calling the History obj's underlying member method code with example usage: obj.steps() and returns: sorted, list