class_docstr: Definition of model training.
code: def __new__(
      cls,
      loss,
      train_op,
      predictions,
      train_hooks=None,
      eval_logits=None,
  ):
      if train_hooks is None:
          train_hooks = []
      return super(ModelSpec, cls).__new__(
          cls,
          loss=loss,
          train_op=train_op,
          predictions=predictions,
          train_hooks=train_hooks,
          eval_logits=eval_logits,
      )
  
imports: import collections
  import functools
  import inspect
  from absl import logging
  from model_search import block_builder
  from model_search import ensembler
  from model_search.architecture import architecture_utils
  from model_search.architecture import tower
  from model_search.ensembler import EnsembleLogits
  from model_search.generators import base_tower_generator
  from model_search.generators import trial_utils
  from model_search.meta import distillation
  import numpy
  import tensorflow.compat.v2
label_desc: Use image node_id 1 for calling the ModelSpec obj's underlying member method code with example usage: obj.__new__(cls, loss, train_op, predictions, train_hooks, eval_logits) and returns: super