class_docstr: Basic class of models
  
  Attributes:
      hparams (HParams): A HParams object, holds the entire set of hyperparameters.
      train_iterator (object): An iterator to load the data in training steps.
      test_iterator (object): An iterator to load the data in testing steps.
      graph (object): An optional graph.
      seed (int): Random seed.
class_docstr_tok: ["Basic","class","of","models","Attributes",":","hparams","(","HParams",")",":","A","HParams","object",",","holds","the","entire","set","of","hyperparameters",".","train_iterator","(","object",")",":","An","iterator","to","load","the","data","in","training","steps",".","test_iterator","(","object",")",":","An","iterator","to","load","the","data","in","testing","steps",".","graph","(","object",")",":","An","optional","graph",".","seed","(","int",")",":","Random","seed","."]
docstr: Evaluate the data in feed_dict with current model.
  
  Args:
      sess (object): The model session object.
      feed_dict (dict): Feed values for evaluation. This is a dictionary that maps graph elements to values.
  
  Returns:
      list: A list of evaluated results, including total loss value, data loss value, predicted scores, and ground-truth labels.
docstr_tok: ["Evaluate","the","data","in","feed_dict","with","current","model",".","Args",":","sess","(","object",")",":","The","model","session","object",".","feed_dict","(","dict",")",":","Feed","values","for","evaluation",".","This","is","a","dictionary","that","maps","graph","elements","to","values",".","Returns",":","list",":","A","list","of","evaluated","results",",","including","total","loss","value",",","data","loss","value",",","predicted","scores",",","and","ground-truth","labels","."]
code: def eval(self, eval_batch_data):
      """Evaluate the data in feed_dict with current model.
  
      Args:
          sess (object): The model session object.
          feed_dict (dict): Feed values for evaluation. This is a dictionary that maps graph elements to values.
  
      Returns:
          list: A list of evaluated results, including total loss value, data loss value, predicted scores, and ground-truth labels.
      """
      eval_input, eval_label = self._get_input_label_from_iter(
          eval_batch_data
      )
      imp_index = eval_batch_data["impression_index_batch"]
  
      pred_rslt = self.scorer.predict_on_batch(eval_input)
  
      return pred_rslt, eval_label, imp_index
  
imports: import abc
  import time
  import numpy
  from tqdm import tqdm
  import tensorflow
  from tensorflow.compat.v1 import keras
  from recommenders.models.deeprec.deeprec_utils import cal_metric
label_desc: Use image node_id 9 for calling the BaseModel obj's underlying member method code with example usage: obj.eval(eval_batch_data) and returns: pred_rslt,  eval_label,  imp_index