class_docstr: Base class for a trainer.
      
docstr: Same as :meth:`train()`, except:
  
  1. Add `extra_callbacks` to callbacks. The default value for
     `extra_callbacks` is :meth:`DEFAULT_CALLBACKS()`.
  2. Default value for `monitors` is :meth:`DEFAULT_MONITORS()`.
  3. Provide default values for every option except `steps_per_epoch`.
docstr_tok: ["Same","as",":","meth",":","`","train","(",")","`",",","except",":","1",".","Add","`","extra_callbacks","`","to","callbacks",".","The","default","value","for","`","extra_callbacks","`","is",":","meth",":","`","DEFAULT_CALLBACKS","(",")","`",".","2",".","Default","value","for","`","monitors","`","is",":","meth",":","`","DEFAULT_MONITORS","(",")","`",".","3",".","Provide","default","values","for","every","option","except","`","steps_per_epoch","`","."]
code: def train_with_defaults(
      self,
      _sentinel=None,
      callbacks=None,
      monitors=None,
      session_creator=None,
      session_init=None,
      steps_per_epoch=None,
      starting_epoch=1,
      max_epoch=9999999,
      extra_callbacks=None,
  ):
      """
      Same as :meth:`train()`, except:
  
      1. Add `extra_callbacks` to callbacks. The default value for
         `extra_callbacks` is :meth:`DEFAULT_CALLBACKS()`.
      2. Default value for `monitors` is :meth:`DEFAULT_MONITORS()`.
      3. Provide default values for every option except `steps_per_epoch`.
      """
      assert (
          _sentinel is None
      ), "Please call `train_with_defaults` with keyword arguments only!"
      callbacks = copy.copy(callbacks or [])
      monitors = DEFAULT_MONITORS() if monitors is None else monitors
      extra_callbacks = (
          DEFAULT_CALLBACKS()
          if extra_callbacks is None
          else extra_callbacks
      )
      callbacks.extend(extra_callbacks)
  
      assert steps_per_epoch is not None
      session_creator = session_creator or NewSessionCreator()
      session_init = session_init or JustCurrentSession()
  
      self.train(
          callbacks,
          monitors,
          session_creator,
          session_init,
          steps_per_epoch,
          starting_epoch,
          max_epoch,
      )
  
imports: import copy
  import time
  import weakref
  import tensorflow
  from ..compat import tfv1
  from ..callbacks import Callback, Callbacks, Monitors, MonitorBase
  from ..callbacks.steps import MaintainStepCounter
  from ..tfutils import get_global_step_value
  from ..tfutils.model_utils import describe_trainable_vars
  from ..tfutils.sesscreate import NewSessionCreator, ReuseSessionCreator
  from ..tfutils.sessinit import JustCurrentSession, SessionInit
  from ..utils import logger
  from ..utils.argtools import call_only_once
  from ..utils.utils import humanize_time_delta
  from .config import DEFAULT_CALLBACKS, DEFAULT_MONITORS, TrainConfig
label_desc: Use image node_id 9 for calling the Trainer obj's underlying member method code with example usage: obj.train_with_defaults(_sentinel, callbacks, monitors, session_creator, session_init, steps_per_epoch, starting_epoch, max_epoch, extra_callbacks) without return types