class_docstr: Interface for an off policy estimator for counterfactual evaluation.
class_docstr_tok: ["Interface","for","an","off","policy","estimator","for","counterfactual","evaluation","."]
docstr: Returns off-policy estimates for the given one episode.
  
  Args:
      batch: The episode to calculate the off-policy estimates (OPE) on. The
      episode must be a sample batch type that contains the fields "obs",
      "actions", and "action_prob" and it needs to represent a
      complete trajectory.
  
  Returns:
      The off-policy estimates (OPE) calculated on the given episode. The returned
      dict can be any arbitrary mapping of strings to metrics.
docstr_tok: ["Returns","off-policy","estimates","for","the","given","one","episode",".","Args",":","batch",":","The","episode","to","calculate","the","off-policy","estimates","(","OPE",")","on",".","The","episode","must","be","a","sample","batch","type","that","contains","the","fields","``","obs","''",",","``","actions","''",",","and","``","action_prob","''","and","it","needs","to","represent","a","complete","trajectory",".","Returns",":","The","off-policy","estimates","(","OPE",")","calculated","on","the","given","episode",".","The","returned","dict","can","be","any","arbitrary","mapping","of","strings","to","metrics","."]
code: def estimate_on_single_episode(
      self, episode: SampleBatch
  ) -> Dict[str, Any]:
      """Returns off-policy estimates for the given one episode.
  
      Args:
          batch: The episode to calculate the off-policy estimates (OPE) on. The
          episode must be a sample batch type that contains the fields "obs",
          "actions", and "action_prob" and it needs to represent a
          complete trajectory.
  
      Returns:
          The off-policy estimates (OPE) calculated on the given episode. The returned
          dict can be any arbitrary mapping of strings to metrics.
      """
      raise NotImplementedError
  
imports: import gymnasium
  import numpy
  import tree
  from typing import Dict, Any, List
  import logging
  from ray.rllib.policy.sample_batch import SampleBatch
  from ray.rllib.policy import Policy
  from ray.rllib.policy.sample_batch import convert_ma_batch_to_sample_batch
  from ray.rllib.utils.policy import compute_log_likelihoods_from_input_dict
  from ray.rllib.utils.annotations import DeveloperAPI, ExperimentalAPI, OverrideToImplementCustomLogic
  from ray.rllib.utils.deprecation import Deprecated
  from ray.rllib.utils.numpy import convert_to_numpy
  from ray.rllib.utils.typing import TensorType, SampleBatchType
  from ray.rllib.offline.offline_evaluator import OfflineEvaluator
label_desc: Use image node_id 2 for calling the OffPolicyEstimator obj's underlying member method code with example usage: obj.estimate_on_single_episode(episode) without return types