class_docstr: Interface for an offline evaluator of a policy
class_docstr_tok: ["Interface","for","an","offline","evaluator","of","a","policy"]
docstr: Sometimes you need to train a model inside an evaluator. This method
  abstracts the training process.
  
  Args:
      batch: SampleBatch to train on
      kwargs: forward compatibility placeholder.
  
  Returns:
      Any optional metrics to return from the evaluator
docstr_tok: ["Sometimes","you","need","to","train","a","model","inside","an","evaluator",".","This","method","abstracts","the","training","process",".","Args",":","batch",":","SampleBatch","to","train","on","kwargs",":","forward","compatibility","placeholder",".","Returns",":","Any","optional","metrics","to","return","from","the","evaluator"]
code: def train(self, batch: SampleBatchType, **kwargs) -> Dict[str, Any]:
      """Sometimes you need to train a model inside an evaluator. This method
      abstracts the training process.
  
      Args:
          batch: SampleBatch to train on
          kwargs: forward compatibility placeholder.
  
      Returns:
          Any optional metrics to return from the evaluator
      """
      return {}
  
file_path: ray/rllib/offline/offline_evaluator.py
imports: import abc
  import os
  import logging
  from typing import Dict, Any
  from ray.data import Dataset
  from ray.rllib.policy import Policy
  from ray.rllib.utils.annotations import DeveloperAPI, ExperimentalAPI
  from ray.rllib.utils.typing import SampleBatchType
label_desc: Use image node_id 3 for calling the OfflineEvaluator obj's underlying member method code with example usage: obj.train(batch) and returns: dict