docstr: Run all the OPEs and get estimations of the current policy performance based on the evaluation dataset.
  
  :param evaluation_dataset_as_episodes: The evaluation dataset in a form of episodes.
  :param evaluation_dataset_as_transitions: The evaluation dataset in a form of transitions.
  :param batch_size: Batch size to use for the estimators.
  :param discount_factor: The standard RL discount factor.
  :param reward_model: A reward model to be used by DR
  :param q_network: The Q network whose its policy we evaluate.
  :param network_keys: The network keys used for feeding the neural networks.
  
  :return: An OpeEstimation tuple which groups together all the OPE estimations
docstr_tok: ["Run","all","the","OPEs","and","get","estimations","of","the","current","policy","performance","based","on","the","evaluation","dataset",".",":","param","evaluation_dataset_as_episodes",":","The","evaluation","dataset","in","a","form","of","episodes",".",":","param","evaluation_dataset_as_transitions",":","The","evaluation","dataset","in","a","form","of","transitions",".",":","param","batch_size",":","Batch","size","to","use","for","the","estimators",".",":","param","discount_factor",":","The","standard","RL","discount","factor",".",":","param","reward_model",":","A","reward","model","to","be","used","by","DR",":","param","q_network",":","The","Q","network","whose","its","policy","we","evaluate",".",":","param","network_keys",":","The","network","keys","used","for","feeding","the","neural","networks",".",":","return",":","An","OpeEstimation","tuple","which","groups","together","all","the","OPE","estimations"]
code: def evaluate(
      self,
      evaluation_dataset_as_episodes: List[Episode],
      evaluation_dataset_as_transitions: List[Transition],
      batch_size: int,
      discount_factor: float,
      q_network: Architecture,
      network_keys: List,
  ) -> OpeEstimation:
      """
      Run all the OPEs and get estimations of the current policy performance based on the evaluation dataset.
  
      :param evaluation_dataset_as_episodes: The evaluation dataset in a form of episodes.
      :param evaluation_dataset_as_transitions: The evaluation dataset in a form of transitions.
      :param batch_size: Batch size to use for the estimators.
      :param discount_factor: The standard RL discount factor.
      :param reward_model: A reward model to be used by DR
      :param q_network: The Q network whose its policy we evaluate.
      :param network_keys: The network keys used for feeding the neural networks.
  
      :return: An OpeEstimation tuple which groups together all the OPE estimations
      """
      ope_shared_stats = self._prepare_ope_shared_stats(
          evaluation_dataset_as_transitions,
          batch_size,
          q_network,
          network_keys,
      )
  
      ips, dm, dr = self.doubly_robust.evaluate(ope_shared_stats)
      seq_dr = self.sequential_doubly_robust.evaluate(
          evaluation_dataset_as_episodes, discount_factor
      )
      wis = self.weighted_importance_sampling.evaluate(
          evaluation_dataset_as_episodes
      )
  
      return OpeEstimation(ips, dm, dr, seq_dr, wis)
  
file_path: coach/rl_coach/off_policy_evaluators/ope_manager.py
imports: import math
  from collections import namedtuple
  import numpy
  from typing import List
  from rl_coach.architectures.architecture import Architecture
  from rl_coach.core_types import Episode, Batch
  from rl_coach.off_policy_evaluators.bandits.doubly_robust import DoublyRobust
  from rl_coach.off_policy_evaluators.rl.sequential_doubly_robust import SequentialDoublyRobust
  from rl_coach.core_types import Transition
  from rl_coach.off_policy_evaluators.rl.weighted_importance_sampling import WeightedImportanceSampling
label_desc: Use image node_id 4 for calling the OpeManager obj's underlying member method code with example usage: obj.evaluate(evaluation_dataset_as_episodes, evaluation_dataset_as_transitions, batch_size, discount_factor, q_network, network_keys) and returns: OpeEstimation