# {py:mod}`evorl.evaluators` ```{py:module} evorl.evaluators ``` ```{autodoc2-docstring} evorl.evaluators :parser: autodoc2_docstrings_parser :allowtitles: ``` ## Package Contents ### Classes ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`BraxEvaluator ` - ```{autodoc2-docstring} evorl.evaluators.mo_brax_evaluator.BraxEvaluator :parser: autodoc2_docstrings_parser :summary: ``` * - {py:obj}`EpisodeCollector ` - ```{autodoc2-docstring} evorl.evaluators.episode_collector.EpisodeCollector :parser: autodoc2_docstrings_parser :summary: ``` * - {py:obj}`EpisodeObsCollector ` - ```{autodoc2-docstring} evorl.evaluators.ec_evaluator.EpisodeObsCollector :parser: autodoc2_docstrings_parser :summary: ``` * - {py:obj}`Evaluator ` - ```{autodoc2-docstring} evorl.evaluators.evaluator.Evaluator :parser: autodoc2_docstrings_parser :summary: ``` ```` ### API `````{py:class} BraxEvaluator :canonical: evorl.evaluators.mo_brax_evaluator.BraxEvaluator Bases: {py:obj}`evorl.evaluators.evaluator.Evaluator` ```{autodoc2-docstring} evorl.evaluators.mo_brax_evaluator.BraxEvaluator :parser: autodoc2_docstrings_parser ``` ````{py:method} evaluate(agent_state: chex.ArrayTree, key: chex.PRNGKey, num_episodes: int) -> chex.ArrayTree :canonical: evorl.evaluators.mo_brax_evaluator.BraxEvaluator.evaluate ```` ````{py:attribute} metric_names :canonical: evorl.evaluators.mo_brax_evaluator.BraxEvaluator.metric_names :type: tuple[str] :value: > 'pytree_field(...)' ```{autodoc2-docstring} evorl.evaluators.mo_brax_evaluator.BraxEvaluator.metric_names :parser: autodoc2_docstrings_parser ``` ```` ````` `````{py:class} EpisodeCollector :canonical: evorl.evaluators.episode_collector.EpisodeCollector Bases: {py:obj}`evorl.types.PyTreeNode` ```{autodoc2-docstring} evorl.evaluators.episode_collector.EpisodeCollector :parser: autodoc2_docstrings_parser ``` ````{py:attribute} action_fn :canonical: evorl.evaluators.episode_collector.EpisodeCollector.action_fn :type: evorl.agent.AgentActionFn :value: > None ```{autodoc2-docstring} evorl.evaluators.episode_collector.EpisodeCollector.action_fn :parser: autodoc2_docstrings_parser ``` ```` ````{py:attribute} discount :canonical: evorl.evaluators.episode_collector.EpisodeCollector.discount :type: float :value: > 1.0 ```{autodoc2-docstring} evorl.evaluators.episode_collector.EpisodeCollector.discount :parser: autodoc2_docstrings_parser ``` ```` ````{py:attribute} env :canonical: evorl.evaluators.episode_collector.EpisodeCollector.env :type: evorl.envs.Env :value: > None ```{autodoc2-docstring} evorl.evaluators.episode_collector.EpisodeCollector.env :parser: autodoc2_docstrings_parser ``` ```` ````{py:attribute} env_extra_fields :canonical: evorl.evaluators.episode_collector.EpisodeCollector.env_extra_fields :type: collections.abc.Sequence[str] :value: > () ```{autodoc2-docstring} evorl.evaluators.episode_collector.EpisodeCollector.env_extra_fields :parser: autodoc2_docstrings_parser ``` ```` ````{py:attribute} max_episode_steps :canonical: evorl.evaluators.episode_collector.EpisodeCollector.max_episode_steps :type: int :value: > 'pytree_field(...)' ```{autodoc2-docstring} evorl.evaluators.episode_collector.EpisodeCollector.max_episode_steps :parser: autodoc2_docstrings_parser ``` ```` ````{py:method} rollout(agent_state, key: chex.PRNGKey, num_episodes: int) -> tuple[evorl.metrics.EvaluateMetric, evorl.sample_batch.SampleBatch] :canonical: evorl.evaluators.episode_collector.EpisodeCollector.rollout ```{autodoc2-docstring} evorl.evaluators.episode_collector.EpisodeCollector.rollout :parser: autodoc2_docstrings_parser ``` ```` ````{py:attribute} rollout_fn :canonical: evorl.evaluators.episode_collector.EpisodeCollector.rollout_fn :type: evorl.rollout.RolloutFn :value: > 'pytree_field(...)' ```{autodoc2-docstring} evorl.evaluators.episode_collector.EpisodeCollector.rollout_fn :parser: autodoc2_docstrings_parser ``` ```` ````` `````{py:class} EpisodeObsCollector :canonical: evorl.evaluators.ec_evaluator.EpisodeObsCollector Bases: {py:obj}`evorl.evaluators.episode_collector.EpisodeCollector` ```{autodoc2-docstring} evorl.evaluators.ec_evaluator.EpisodeObsCollector :parser: autodoc2_docstrings_parser ``` ````{py:attribute} rollout_fn :canonical: evorl.evaluators.ec_evaluator.EpisodeObsCollector.rollout_fn :type: evorl.evaluators.episode_collector.RolloutFn :value: > 'pytree_field(...)' ```{autodoc2-docstring} evorl.evaluators.ec_evaluator.EpisodeObsCollector.rollout_fn :parser: autodoc2_docstrings_parser ``` ```` ````` `````{py:class} Evaluator :canonical: evorl.evaluators.evaluator.Evaluator Bases: {py:obj}`evorl.types.PyTreeNode` ```{autodoc2-docstring} evorl.evaluators.evaluator.Evaluator :parser: autodoc2_docstrings_parser ``` ````{py:attribute} action_fn :canonical: evorl.evaluators.evaluator.Evaluator.action_fn :type: evorl.agent.AgentActionFn :value: > 'pytree_field(...)' ```{autodoc2-docstring} evorl.evaluators.evaluator.Evaluator.action_fn :parser: autodoc2_docstrings_parser ``` ```` ````{py:attribute} discount :canonical: evorl.evaluators.evaluator.Evaluator.discount :type: float :value: > 'pytree_field(...)' ```{autodoc2-docstring} evorl.evaluators.evaluator.Evaluator.discount :parser: autodoc2_docstrings_parser ``` ```` ````{py:attribute} env :canonical: evorl.evaluators.evaluator.Evaluator.env :type: evorl.envs.Env :value: > 'pytree_field(...)' ```{autodoc2-docstring} evorl.evaluators.evaluator.Evaluator.env :parser: autodoc2_docstrings_parser ``` ```` ````{py:method} evaluate(agent_state: evorl.agent.AgentState, key: chex.PRNGKey, num_episodes: int) -> evorl.metrics.EvaluateMetric :canonical: evorl.evaluators.evaluator.Evaluator.evaluate ```{autodoc2-docstring} evorl.evaluators.evaluator.Evaluator.evaluate :parser: autodoc2_docstrings_parser ``` ```` ````{py:attribute} max_episode_steps :canonical: evorl.evaluators.evaluator.Evaluator.max_episode_steps :type: int :value: > 'pytree_field(...)' ```{autodoc2-docstring} evorl.evaluators.evaluator.Evaluator.max_episode_steps :parser: autodoc2_docstrings_parser ``` ```` `````