class_docstr: Combine different :class:`~poutyne.Phase` instances
  in an :class:`~poutyne.OptimizerPolicy` and execute the policies in a
  row.
  
  Args:
      phases (List[~poutyne.Phase]):
          A list of :class:`~poutyne.Phase` instances.
      initial_step (int): The step to start the policy in. Used for restarting.
class_docstr_tok: ["Combine","different",":","class",":","`","~poutyne.Phase","`","instances","in","an",":","class",":","`","~poutyne.OptimizerPolicy","`","and","execute","the","policies","in","a","row",".","Args",":","phases","(","List","[","~poutyne.Phase","]",")",":","A","list","of",":","class",":","`","~poutyne.Phase","`","instances",".","initial_step","(","int",")",":","The","step","to","start","the","policy","in",".","Used","for","restarting","."]
docstr: Visualize all  :class:`~poutyne.Phase`s of
  this  :class:`~poutyne.OptimizerPolicy`.
  
  Args:
      param_name (str, optional): the name of the parameter to plot.
      ax (~matplotlib.pyplot.axis): a matplotlib axis to plot on, if given.
  
  Returns:
      The matplotlib axis.
docstr_tok: ["Visualize","all",":","class",":","`","~poutyne.Phase","`","s","of","this",":","class",":","`","~poutyne.OptimizerPolicy","`",".","Args",":","param_name","(","str",",","optional",")",":","the","name","of","the","parameter","to","plot",".","ax","(","~matplotlib.pyplot.axis",")",":","a","matplotlib","axis","to","plot","on",",","if","given",".","Returns",":","The","matplotlib","axis","."]
code: def plot(self, param_name: str = "lr", ax=None):
      """
      Visualize all  :class:`~poutyne.Phase`s of
      this  :class:`~poutyne.OptimizerPolicy`.
  
      Args:
          param_name (str, optional): the name of the parameter to plot.
          ax (~matplotlib.pyplot.axis): a matplotlib axis to plot on, if given.
  
      Returns:
          The matplotlib axis.
      """
      # pylint: disable=import-error
      if ax is None:
          _fig, ax = plt.subplots()
  
      values = [step[param_name] for step in self.all_steps()]
      ax.plot(values)
      ax.set_ylabel(param_name)
      ax.set_xlabel("steps")
      return ax
  
imports: import contextlib
  from collections import OrderedDict
  from itertools import chain, islice
  from math import cos, pi
  from typing import Dict, List, Optional, Tuple
  from poutyne.framework.callbacks.callbacks import Callback
label_desc: Use image node_id 7 for calling the OptimizerPolicy obj's underlying member method code with example usage: obj.plot(param_name, ax) and returns: ax