class_docstr: base class for classfication 
docstr: only eval 
docstr_tok: ["only","eval"]
code: def eval(self, steps=None):
      """only eval"""
      mode = utils.EVAL
      nn = self.create_estimator()  # pylint: disable=invalid-name
      ev = nn.evaluate(  # pylint: disable=invalid-name
          input_fn=self.input_fn(mode),
          steps=steps,
          hooks=None,
          checkpoint_path=None,
          name=None,
      )
      self.log_eval_metrics(ev, save=True)
  
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 15 for calling the EstimatorSolver obj's underlying member method code with example usage: obj.eval(steps) without return types