# {py:mod}`evorl.ec.optimizers.openes` ```{py:module} evorl.ec.optimizers.openes ``` ```{autodoc2-docstring} evorl.ec.optimizers.openes :parser: autodoc2_docstrings_parser :allowtitles: ``` ## Module Contents ### Classes ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`OpenES ` - ```{autodoc2-docstring} evorl.ec.optimizers.openes.OpenES :parser: autodoc2_docstrings_parser :summary: ``` * - {py:obj}`OpenESNoiseTable ` - ```{autodoc2-docstring} evorl.ec.optimizers.openes.OpenESNoiseTable :parser: autodoc2_docstrings_parser :summary: ``` * - {py:obj}`OpenESNoiseTableState ` - ```{autodoc2-docstring} evorl.ec.optimizers.openes.OpenESNoiseTableState :parser: autodoc2_docstrings_parser :summary: ``` * - {py:obj}`OpenESState ` - ```{autodoc2-docstring} evorl.ec.optimizers.openes.OpenESState :parser: autodoc2_docstrings_parser :summary: ``` ```` ### Functions ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`compute_centered_ranks ` - ```{autodoc2-docstring} evorl.ec.optimizers.openes.compute_centered_ranks :parser: autodoc2_docstrings_parser :summary: ``` * - {py:obj}`compute_ranks ` - ```{autodoc2-docstring} evorl.ec.optimizers.openes.compute_ranks :parser: autodoc2_docstrings_parser :summary: ``` ```` ### API `````{py:class} OpenES :canonical: evorl.ec.optimizers.openes.OpenES Bases: {py:obj}`evorl.ec.optimizers.ec_optimizer.EvoOptimizer` ```{autodoc2-docstring} evorl.ec.optimizers.openes.OpenES :parser: autodoc2_docstrings_parser ``` ````{py:method} ask(state: evorl.ec.optimizers.ec_optimizer.ECState) -> tuple[chex.ArrayTree, evorl.ec.optimizers.ec_optimizer.ECState] :canonical: evorl.ec.optimizers.openes.OpenES.ask ```{autodoc2-docstring} evorl.ec.optimizers.openes.OpenES.ask :parser: autodoc2_docstrings_parser ``` ```` ````{py:attribute} fitness_shaping_fn :canonical: evorl.ec.optimizers.openes.OpenES.fitness_shaping_fn :type: collections.abc.Callable[[chex.Array], chex.Array] :value: > 'pytree_field(...)' ```{autodoc2-docstring} evorl.ec.optimizers.openes.OpenES.fitness_shaping_fn :parser: autodoc2_docstrings_parser ``` ```` ````{py:method} init(mean: evorl.types.Params, key: chex.PRNGKey) -> evorl.ec.optimizers.ec_optimizer.ECState :canonical: evorl.ec.optimizers.openes.OpenES.init ```{autodoc2-docstring} evorl.ec.optimizers.openes.OpenES.init :parser: autodoc2_docstrings_parser ``` ```` ````{py:attribute} lr_schedule :canonical: evorl.ec.optimizers.openes.OpenES.lr_schedule :type: evorl.ec.optimizers.utils.ExponentialScheduleSpec :value: > None ```{autodoc2-docstring} evorl.ec.optimizers.openes.OpenES.lr_schedule :parser: autodoc2_docstrings_parser ``` ```` ````{py:attribute} mirror_sampling :canonical: evorl.ec.optimizers.openes.OpenES.mirror_sampling :type: bool :value: > True ```{autodoc2-docstring} evorl.ec.optimizers.openes.OpenES.mirror_sampling :parser: autodoc2_docstrings_parser ``` ```` ````{py:attribute} noise_std_schedule :canonical: evorl.ec.optimizers.openes.OpenES.noise_std_schedule :type: evorl.ec.optimizers.utils.ExponentialScheduleSpec :value: > None ```{autodoc2-docstring} evorl.ec.optimizers.openes.OpenES.noise_std_schedule :parser: autodoc2_docstrings_parser ``` ```` ````{py:attribute} optimizer :canonical: evorl.ec.optimizers.openes.OpenES.optimizer :type: optax.GradientTransformation :value: > 'pytree_field(...)' ```{autodoc2-docstring} evorl.ec.optimizers.openes.OpenES.optimizer :parser: autodoc2_docstrings_parser ``` ```` ````{py:attribute} optimizer_name :canonical: evorl.ec.optimizers.openes.OpenES.optimizer_name :type: str :value: > 'adam' ```{autodoc2-docstring} evorl.ec.optimizers.openes.OpenES.optimizer_name :parser: autodoc2_docstrings_parser ``` ```` ````{py:attribute} pop_size :canonical: evorl.ec.optimizers.openes.OpenES.pop_size :type: int :value: > None ```{autodoc2-docstring} evorl.ec.optimizers.openes.OpenES.pop_size :parser: autodoc2_docstrings_parser ``` ```` ````{py:method} tell(state: evorl.ec.optimizers.ec_optimizer.ECState, fitnesses: chex.Array) -> tuple[evorl.types.PyTreeDict, evorl.ec.optimizers.openes.OpenESState] :canonical: evorl.ec.optimizers.openes.OpenES.tell ```{autodoc2-docstring} evorl.ec.optimizers.openes.OpenES.tell :parser: autodoc2_docstrings_parser ``` ```` ````{py:attribute} weight_decay :canonical: evorl.ec.optimizers.openes.OpenES.weight_decay :type: float | None :value: > None ```{autodoc2-docstring} evorl.ec.optimizers.openes.OpenES.weight_decay :parser: autodoc2_docstrings_parser ``` ```` ````` `````{py:class} OpenESNoiseTable :canonical: evorl.ec.optimizers.openes.OpenESNoiseTable Bases: {py:obj}`evorl.ec.optimizers.ec_optimizer.EvoOptimizer` ```{autodoc2-docstring} evorl.ec.optimizers.openes.OpenESNoiseTable :parser: autodoc2_docstrings_parser ``` ````{py:method} ask(state: evorl.ec.optimizers.ec_optimizer.ECState) -> tuple[chex.ArrayTree, evorl.ec.optimizers.ec_optimizer.ECState] :canonical: evorl.ec.optimizers.openes.OpenESNoiseTable.ask ```{autodoc2-docstring} evorl.ec.optimizers.openes.OpenESNoiseTable.ask :parser: autodoc2_docstrings_parser ``` ```` ````{py:attribute} fitness_shaping_fn :canonical: evorl.ec.optimizers.openes.OpenESNoiseTable.fitness_shaping_fn :type: collections.abc.Callable[[chex.Array], chex.Array] :value: > 'pytree_field(...)' ```{autodoc2-docstring} evorl.ec.optimizers.openes.OpenESNoiseTable.fitness_shaping_fn :parser: autodoc2_docstrings_parser ``` ```` ````{py:method} init(mean: evorl.types.Params, key: chex.PRNGKey) -> evorl.ec.optimizers.ec_optimizer.ECState :canonical: evorl.ec.optimizers.openes.OpenESNoiseTable.init ```{autodoc2-docstring} evorl.ec.optimizers.openes.OpenESNoiseTable.init :parser: autodoc2_docstrings_parser ``` ```` ````{py:attribute} lr_schedule :canonical: evorl.ec.optimizers.openes.OpenESNoiseTable.lr_schedule :type: evorl.ec.optimizers.utils.ExponentialScheduleSpec :value: > None ```{autodoc2-docstring} evorl.ec.optimizers.openes.OpenESNoiseTable.lr_schedule :parser: autodoc2_docstrings_parser ``` ```` ````{py:attribute} mirror_sampling :canonical: evorl.ec.optimizers.openes.OpenESNoiseTable.mirror_sampling :type: bool :value: > True ```{autodoc2-docstring} evorl.ec.optimizers.openes.OpenESNoiseTable.mirror_sampling :parser: autodoc2_docstrings_parser ``` ```` ````{py:attribute} noise_std_schedule :canonical: evorl.ec.optimizers.openes.OpenESNoiseTable.noise_std_schedule :type: evorl.ec.optimizers.utils.ExponentialScheduleSpec :value: > None ```{autodoc2-docstring} evorl.ec.optimizers.openes.OpenESNoiseTable.noise_std_schedule :parser: autodoc2_docstrings_parser ``` ```` ````{py:attribute} noise_table_size :canonical: evorl.ec.optimizers.openes.OpenESNoiseTable.noise_table_size :type: int :value: > None ```{autodoc2-docstring} evorl.ec.optimizers.openes.OpenESNoiseTable.noise_table_size :parser: autodoc2_docstrings_parser ``` ```` ````{py:attribute} optimizer :canonical: evorl.ec.optimizers.openes.OpenESNoiseTable.optimizer :type: optax.GradientTransformation :value: > 'pytree_field(...)' ```{autodoc2-docstring} evorl.ec.optimizers.openes.OpenESNoiseTable.optimizer :parser: autodoc2_docstrings_parser ``` ```` ````{py:attribute} optimizer_name :canonical: evorl.ec.optimizers.openes.OpenESNoiseTable.optimizer_name :type: str :value: > 'adam' ```{autodoc2-docstring} evorl.ec.optimizers.openes.OpenESNoiseTable.optimizer_name :parser: autodoc2_docstrings_parser ``` ```` ````{py:attribute} pop_size :canonical: evorl.ec.optimizers.openes.OpenESNoiseTable.pop_size :type: int :value: > None ```{autodoc2-docstring} evorl.ec.optimizers.openes.OpenESNoiseTable.pop_size :parser: autodoc2_docstrings_parser ``` ```` ````{py:method} tell(state: evorl.ec.optimizers.ec_optimizer.ECState, fitnesses: chex.Array) -> tuple[evorl.types.PyTreeDict, evorl.ec.optimizers.openes.OpenESState] :canonical: evorl.ec.optimizers.openes.OpenESNoiseTable.tell ```{autodoc2-docstring} evorl.ec.optimizers.openes.OpenESNoiseTable.tell :parser: autodoc2_docstrings_parser ``` ```` ````{py:attribute} weight_decay :canonical: evorl.ec.optimizers.openes.OpenESNoiseTable.weight_decay :type: float | None :value: > None ```{autodoc2-docstring} evorl.ec.optimizers.openes.OpenESNoiseTable.weight_decay :parser: autodoc2_docstrings_parser ``` ```` ````` `````{py:class} OpenESNoiseTableState :canonical: evorl.ec.optimizers.openes.OpenESNoiseTableState Bases: {py:obj}`evorl.types.PyTreeData` ```{autodoc2-docstring} evorl.ec.optimizers.openes.OpenESNoiseTableState :parser: autodoc2_docstrings_parser ``` ````{py:attribute} key :canonical: evorl.ec.optimizers.openes.OpenESNoiseTableState.key :type: chex.PRNGKey :value: > None ```{autodoc2-docstring} evorl.ec.optimizers.openes.OpenESNoiseTableState.key :parser: autodoc2_docstrings_parser ``` ```` ````{py:attribute} mean :canonical: evorl.ec.optimizers.openes.OpenESNoiseTableState.mean :type: chex.ArrayTree :value: > None ```{autodoc2-docstring} evorl.ec.optimizers.openes.OpenESNoiseTableState.mean :parser: autodoc2_docstrings_parser ``` ```` ````{py:attribute} noise :canonical: evorl.ec.optimizers.openes.OpenESNoiseTableState.noise :type: None | chex.ArrayTree :value: > None ```{autodoc2-docstring} evorl.ec.optimizers.openes.OpenESNoiseTableState.noise :parser: autodoc2_docstrings_parser ``` ```` ````{py:attribute} noise_std :canonical: evorl.ec.optimizers.openes.OpenESNoiseTableState.noise_std :type: chex.Array :value: > None ```{autodoc2-docstring} evorl.ec.optimizers.openes.OpenESNoiseTableState.noise_std :parser: autodoc2_docstrings_parser ``` ```` ````{py:attribute} noise_table :canonical: evorl.ec.optimizers.openes.OpenESNoiseTableState.noise_table :type: chex.ArrayTree :value: > None ```{autodoc2-docstring} evorl.ec.optimizers.openes.OpenESNoiseTableState.noise_table :parser: autodoc2_docstrings_parser ``` ```` ````{py:attribute} opt_state :canonical: evorl.ec.optimizers.openes.OpenESNoiseTableState.opt_state :type: optax.OptState :value: > None ```{autodoc2-docstring} evorl.ec.optimizers.openes.OpenESNoiseTableState.opt_state :parser: autodoc2_docstrings_parser ``` ```` ````` `````{py:class} OpenESState :canonical: evorl.ec.optimizers.openes.OpenESState Bases: {py:obj}`evorl.types.PyTreeData` ```{autodoc2-docstring} evorl.ec.optimizers.openes.OpenESState :parser: autodoc2_docstrings_parser ``` ````{py:attribute} key :canonical: evorl.ec.optimizers.openes.OpenESState.key :type: chex.PRNGKey :value: > None ```{autodoc2-docstring} evorl.ec.optimizers.openes.OpenESState.key :parser: autodoc2_docstrings_parser ``` ```` ````{py:attribute} mean :canonical: evorl.ec.optimizers.openes.OpenESState.mean :type: chex.ArrayTree :value: > None ```{autodoc2-docstring} evorl.ec.optimizers.openes.OpenESState.mean :parser: autodoc2_docstrings_parser ``` ```` ````{py:attribute} noise :canonical: evorl.ec.optimizers.openes.OpenESState.noise :type: None | chex.ArrayTree :value: > None ```{autodoc2-docstring} evorl.ec.optimizers.openes.OpenESState.noise :parser: autodoc2_docstrings_parser ``` ```` ````{py:attribute} noise_std :canonical: evorl.ec.optimizers.openes.OpenESState.noise_std :type: chex.Array :value: > None ```{autodoc2-docstring} evorl.ec.optimizers.openes.OpenESState.noise_std :parser: autodoc2_docstrings_parser ``` ```` ````{py:attribute} opt_state :canonical: evorl.ec.optimizers.openes.OpenESState.opt_state :type: optax.OptState :value: > None ```{autodoc2-docstring} evorl.ec.optimizers.openes.OpenESState.opt_state :parser: autodoc2_docstrings_parser ``` ```` ````` ````{py:function} compute_centered_ranks(x) :canonical: evorl.ec.optimizers.openes.compute_centered_ranks ```{autodoc2-docstring} evorl.ec.optimizers.openes.compute_centered_ranks :parser: autodoc2_docstrings_parser ``` ```` ````{py:function} compute_ranks(x) :canonical: evorl.ec.optimizers.openes.compute_ranks ```{autodoc2-docstring} evorl.ec.optimizers.openes.compute_ranks :parser: autodoc2_docstrings_parser ``` ````