# {py:mod}`evorl.algorithms.meta.pbt_ppo.pbt_cso_param_ppo` ```{py:module} evorl.algorithms.meta.pbt_ppo.pbt_cso_param_ppo ``` ```{autodoc2-docstring} evorl.algorithms.meta.pbt_ppo.pbt_cso_param_ppo :parser: autodoc2_docstrings_parser :allowtitles: ``` ## Module Contents ### Classes ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`PBTCSOOptState ` - * - {py:obj}`PBTCSOParamPPOWorkflow ` - ```` ### API `````{py:class} PBTCSOOptState :canonical: evorl.algorithms.meta.pbt_ppo.pbt_cso_param_ppo.PBTCSOOptState Bases: {py:obj}`evorl.algorithms.meta.pbt_workflow.PBTOptState` ````{py:attribute} velocity :canonical: evorl.algorithms.meta.pbt_ppo.pbt_cso_param_ppo.PBTCSOOptState.velocity :type: chex.ArrayTree :value: > None ```{autodoc2-docstring} evorl.algorithms.meta.pbt_ppo.pbt_cso_param_ppo.PBTCSOOptState.velocity :parser: autodoc2_docstrings_parser ``` ```` ````` `````{py:class} PBTCSOParamPPOWorkflow(workflow: evorl.workflows.RLWorkflow, evaluator: evorl.evaluators.Evaluator, config: omegaconf.DictConfig) :canonical: evorl.algorithms.meta.pbt_ppo.pbt_cso_param_ppo.PBTCSOParamPPOWorkflow Bases: {py:obj}`evorl.algorithms.meta.pbt_ppo.pbt_param_ppo.PBTParamPPOWorkflow` ````{py:method} exploit_and_explore(pbt_opt_state: evorl.algorithms.meta.pbt_workflow.PBTOptState, pop: chex.ArrayTree, pop_workflow_state: evorl.types.State, pop_metrics: chex.ArrayTree, key: chex.PRNGKey) -> tuple[chex.ArrayTree, evorl.types.State, evorl.algorithms.meta.pbt_workflow.PBTOptState] :canonical: evorl.algorithms.meta.pbt_ppo.pbt_cso_param_ppo.PBTCSOParamPPOWorkflow.exploit_and_explore ```{autodoc2-docstring} evorl.algorithms.meta.pbt_ppo.pbt_cso_param_ppo.PBTCSOParamPPOWorkflow.exploit_and_explore :parser: autodoc2_docstrings_parser ``` ```` ````{py:method} name() :canonical: evorl.algorithms.meta.pbt_ppo.pbt_cso_param_ppo.PBTCSOParamPPOWorkflow.name :classmethod: ```` `````