class_docstr: base class for classfication 
docstr: only train 
docstr_tok: ["only","train"]
code: def train(self):
      """only train"""
      nn = self.create_estimator()  # pylint: disable=invalid-name
  
      num_epochs = self.config["solver"]["optimizer"]["epochs"]
      for epoch in range(num_epochs):
          logging.info("epoch: {}".format(epoch + 1))
          try:
              self.train_one_epoch(nn)
          except tf.errors.OutOfRangeError as err:
              logging.info(epoch, err)
              raise err
  
imports: import os
  import re
  import functools
  import collections
  from absl import logging
  import delta.compat
  from tensorflow.python import debug
  from tensorflow.python.estimator.canned import metric_keys
  from tensorboard.plugins.pr_curve import summary
  from delta import utils
  from delta.utils.hparam import HParams
  from delta.utils import metrics
  from delta.utils import summary
  from delta.utils.register import registers
  from delta.utils.solver.base_solver import ABCEstimatorSolver
label_desc: Use image node_id 13 for calling the EstimatorSolver obj's underlying member method code with example usage: obj.train() without return types