class_docstr: The base class from which all callbacks and all intermediate base callbacks are descendants.
  Callback classes' :meth:`__init__` will not be called, so any tasks that must be performed at
  the onset of an experiment should be placed in :meth:`on_exp_start`
  
  Notes
  -----
  __init__(): Some classes that inherit :class:`BaseCallback` may implement :meth:`__init__`;
  however, callback classes are NEVER INITIALIZED. Callback classes should be regarded as
  extensions to the Experiment class that is inheriting them. Because they are inherited, callback
  classes have access to all attributes of the inheriting Experiment class. If any callback class
  does implement :meth:`__init__`, it is simply a convention to clearly declare the attributes
  required by the other methods of that callback class. Again, :meth:`__init__` of classes that
  inherit :class:`BaseCallback` will not be called
  
  The methods below each call :meth:`settings.G.debug` to signal that the dynamic callback
  inheritance organized in :class:`experiment_core.ExperimentMeta` has proceeded at least
  partially successfully. If all callback methods end by executing the method of the same name in
  their parent classes, then the below debug messages should be visible in the "Heartbeat.log"
  file. Conversely, if any of the below debug messages are not printed to "Heartbeat.log", it is
  likely that a callback class's implementation of the corresponding method does not end with
  "super().<method_name>()". Such cases should be remedied immediately, as the callback stream
  could be skipping any number of other callbacks
docstr: Perform tasks on run start in an Experiment's multiple-run-averaging phase
docstr_tok: ["Perform","tasks","on","run","start","in","an","Experiment","'s","multiple-run-averaging","phase"]
code: def on_run_start(self):
      """Perform tasks on run start in an Experiment's multiple-run-averaging phase"""
      G.debug("BaseCallback.on_run_start()")
  
imports: from hyperparameter_hunter.i_o.exceptions import DeprecatedWarning
  from hyperparameter_hunter.settings import G
  from inspect import signature
  import numpy
  from uuid import uuid4
  from warnings import warn
label_desc: Use image node_id 7 for calling the BaseCallback obj's underlying member method code with example usage: obj.on_run_start() without return types