# {py:mod}`evorl.metrics` ```{py:module} evorl.metrics ``` ```{autodoc2-docstring} evorl.metrics :parser: autodoc2_docstrings_parser :allowtitles: ``` ## Module Contents ### Classes ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`ECTrainMetric ` - ```{autodoc2-docstring} evorl.metrics.ECTrainMetric :parser: autodoc2_docstrings_parser :summary: ``` * - {py:obj}`ECWorkflowMetric ` - ```{autodoc2-docstring} evorl.metrics.ECWorkflowMetric :parser: autodoc2_docstrings_parser :summary: ``` * - {py:obj}`EvaluateMetric ` - ```{autodoc2-docstring} evorl.metrics.EvaluateMetric :parser: autodoc2_docstrings_parser :summary: ``` * - {py:obj}`MetricBase ` - ```{autodoc2-docstring} evorl.metrics.MetricBase :parser: autodoc2_docstrings_parser :summary: ``` * - {py:obj}`MultiObjectiveECWorkflowMetric ` - ```{autodoc2-docstring} evorl.metrics.MultiObjectiveECWorkflowMetric :parser: autodoc2_docstrings_parser :summary: ``` * - {py:obj}`TrainMetric ` - ```{autodoc2-docstring} evorl.metrics.TrainMetric :parser: autodoc2_docstrings_parser :summary: ``` * - {py:obj}`WorkflowMetric ` - ```{autodoc2-docstring} evorl.metrics.WorkflowMetric :parser: autodoc2_docstrings_parser :summary: ``` ```` ### Functions ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`metric_field ` - ```{autodoc2-docstring} evorl.metrics.metric_field :parser: autodoc2_docstrings_parser :summary: ``` * - {py:obj}`to_local_dict ` - ```{autodoc2-docstring} evorl.metrics.to_local_dict :parser: autodoc2_docstrings_parser :summary: ``` ```` ### API `````{py:class} ECTrainMetric :canonical: evorl.metrics.ECTrainMetric Bases: {py:obj}`evorl.metrics.MetricBase` ```{autodoc2-docstring} evorl.metrics.ECTrainMetric :parser: autodoc2_docstrings_parser ``` ````{py:attribute} ec_metrics :canonical: evorl.metrics.ECTrainMetric.ec_metrics :type: chex.ArrayTree :value: > None ```{autodoc2-docstring} evorl.metrics.ECTrainMetric.ec_metrics :parser: autodoc2_docstrings_parser ``` ```` ````{py:attribute} objectives :canonical: evorl.metrics.ECTrainMetric.objectives :type: chex.Array :value: > None ```{autodoc2-docstring} evorl.metrics.ECTrainMetric.objectives :parser: autodoc2_docstrings_parser ``` ```` ````` `````{py:class} ECWorkflowMetric :canonical: evorl.metrics.ECWorkflowMetric Bases: {py:obj}`evorl.metrics.MetricBase` ```{autodoc2-docstring} evorl.metrics.ECWorkflowMetric :parser: autodoc2_docstrings_parser ``` ````{py:attribute} best_objective :canonical: evorl.metrics.ECWorkflowMetric.best_objective :type: chex.Array :value: > None ```{autodoc2-docstring} evorl.metrics.ECWorkflowMetric.best_objective :parser: autodoc2_docstrings_parser ``` ```` ````{py:attribute} iterations :canonical: evorl.metrics.ECWorkflowMetric.iterations :type: chex.Array :value: > 'zeros(...)' ```{autodoc2-docstring} evorl.metrics.ECWorkflowMetric.iterations :parser: autodoc2_docstrings_parser ``` ```` ````{py:attribute} sampled_episodes :canonical: evorl.metrics.ECWorkflowMetric.sampled_episodes :type: chex.Array :value: > 'zeros(...)' ```{autodoc2-docstring} evorl.metrics.ECWorkflowMetric.sampled_episodes :parser: autodoc2_docstrings_parser ``` ```` ````{py:attribute} sampled_timesteps_m :canonical: evorl.metrics.ECWorkflowMetric.sampled_timesteps_m :type: chex.Array :value: > 'zeros(...)' ```{autodoc2-docstring} evorl.metrics.ECWorkflowMetric.sampled_timesteps_m :parser: autodoc2_docstrings_parser ``` ```` ````` `````{py:class} EvaluateMetric :canonical: evorl.metrics.EvaluateMetric Bases: {py:obj}`evorl.metrics.MetricBase` ```{autodoc2-docstring} evorl.metrics.EvaluateMetric :parser: autodoc2_docstrings_parser ``` ````{py:attribute} episode_lengths :canonical: evorl.metrics.EvaluateMetric.episode_lengths :type: chex.Array :value: > 'metric_field(...)' ```{autodoc2-docstring} evorl.metrics.EvaluateMetric.episode_lengths :parser: autodoc2_docstrings_parser ``` ```` ````{py:attribute} episode_returns :canonical: evorl.metrics.EvaluateMetric.episode_returns :type: chex.Array :value: > 'metric_field(...)' ```{autodoc2-docstring} evorl.metrics.EvaluateMetric.episode_returns :parser: autodoc2_docstrings_parser ``` ```` ````` `````{py:class} MetricBase :canonical: evorl.metrics.MetricBase Bases: {py:obj}`evorl.types.PyTreeData` ```{autodoc2-docstring} evorl.metrics.MetricBase :parser: autodoc2_docstrings_parser ``` ````{py:method} all_reduce(dp_axis_name: str | None = None) :canonical: evorl.metrics.MetricBase.all_reduce ```{autodoc2-docstring} evorl.metrics.MetricBase.all_reduce :parser: autodoc2_docstrings_parser ``` ```` ````{py:method} to_local_dict() :canonical: evorl.metrics.MetricBase.to_local_dict ```{autodoc2-docstring} evorl.metrics.MetricBase.to_local_dict :parser: autodoc2_docstrings_parser ``` ```` ````` `````{py:class} MultiObjectiveECWorkflowMetric :canonical: evorl.metrics.MultiObjectiveECWorkflowMetric Bases: {py:obj}`evorl.metrics.MetricBase` ```{autodoc2-docstring} evorl.metrics.MultiObjectiveECWorkflowMetric :parser: autodoc2_docstrings_parser ``` ````{py:attribute} iterations :canonical: evorl.metrics.MultiObjectiveECWorkflowMetric.iterations :type: chex.Array :value: > 'zeros(...)' ```{autodoc2-docstring} evorl.metrics.MultiObjectiveECWorkflowMetric.iterations :parser: autodoc2_docstrings_parser ``` ```` ````{py:attribute} sampled_episodes :canonical: evorl.metrics.MultiObjectiveECWorkflowMetric.sampled_episodes :type: chex.Array :value: > 'zeros(...)' ```{autodoc2-docstring} evorl.metrics.MultiObjectiveECWorkflowMetric.sampled_episodes :parser: autodoc2_docstrings_parser ``` ```` ````{py:attribute} sampled_timesteps_m :canonical: evorl.metrics.MultiObjectiveECWorkflowMetric.sampled_timesteps_m :type: chex.Array :value: > 'zeros(...)' ```{autodoc2-docstring} evorl.metrics.MultiObjectiveECWorkflowMetric.sampled_timesteps_m :parser: autodoc2_docstrings_parser ``` ```` ````` `````{py:class} TrainMetric :canonical: evorl.metrics.TrainMetric Bases: {py:obj}`evorl.metrics.MetricBase` ```{autodoc2-docstring} evorl.metrics.TrainMetric :parser: autodoc2_docstrings_parser ``` ````{py:attribute} loss :canonical: evorl.metrics.TrainMetric.loss :type: chex.Array :value: > 'zeros(...)' ```{autodoc2-docstring} evorl.metrics.TrainMetric.loss :parser: autodoc2_docstrings_parser ``` ```` ````{py:attribute} raw_loss_dict :canonical: evorl.metrics.TrainMetric.raw_loss_dict :type: evorl.types.LossDict :value: > 'metric_field(...)' ```{autodoc2-docstring} evorl.metrics.TrainMetric.raw_loss_dict :parser: autodoc2_docstrings_parser ``` ```` ````{py:attribute} train_episode_return :canonical: evorl.metrics.TrainMetric.train_episode_return :type: chex.Array | None :value: > None ```{autodoc2-docstring} evorl.metrics.TrainMetric.train_episode_return :parser: autodoc2_docstrings_parser ``` ```` ````` `````{py:class} WorkflowMetric :canonical: evorl.metrics.WorkflowMetric Bases: {py:obj}`evorl.metrics.MetricBase` ```{autodoc2-docstring} evorl.metrics.WorkflowMetric :parser: autodoc2_docstrings_parser ``` ````{py:attribute} iterations :canonical: evorl.metrics.WorkflowMetric.iterations :type: chex.Array :value: > 'zeros(...)' ```{autodoc2-docstring} evorl.metrics.WorkflowMetric.iterations :parser: autodoc2_docstrings_parser ``` ```` ````{py:attribute} sampled_episodes :canonical: evorl.metrics.WorkflowMetric.sampled_episodes :type: chex.Array :value: > 'zeros(...)' ```{autodoc2-docstring} evorl.metrics.WorkflowMetric.sampled_episodes :parser: autodoc2_docstrings_parser ``` ```` ````{py:attribute} sampled_timesteps :canonical: evorl.metrics.WorkflowMetric.sampled_timesteps :type: chex.Array :value: > 'zeros(...)' ```{autodoc2-docstring} evorl.metrics.WorkflowMetric.sampled_timesteps :parser: autodoc2_docstrings_parser ``` ```` ````` ````{py:function} metric_field(*, reduce_fn: collections.abc.Callable[[chex.Array, str | None], chex.Array] = None, static=False, **kwargs) :canonical: evorl.metrics.metric_field ```{autodoc2-docstring} evorl.metrics.metric_field :parser: autodoc2_docstrings_parser ``` ```` ````{py:function} to_local_dict(obj, *, dict_factory=dict) :canonical: evorl.metrics.to_local_dict ```{autodoc2-docstring} evorl.metrics.to_local_dict :parser: autodoc2_docstrings_parser ``` ````