# {py:mod}`evorl.ec.optimizers.vanilla_es` ```{py:module} evorl.ec.optimizers.vanilla_es ``` ```{autodoc2-docstring} evorl.ec.optimizers.vanilla_es :parser: autodoc2_docstrings_parser :allowtitles: ``` ## Module Contents ### Classes ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`VanillaES ` - ```{autodoc2-docstring} evorl.ec.optimizers.vanilla_es.VanillaES :parser: autodoc2_docstrings_parser :summary: ``` * - {py:obj}`VanillaESMod ` - ```{autodoc2-docstring} evorl.ec.optimizers.vanilla_es.VanillaESMod :parser: autodoc2_docstrings_parser :summary: ``` * - {py:obj}`VanillaESState ` - ```{autodoc2-docstring} evorl.ec.optimizers.vanilla_es.VanillaESState :parser: autodoc2_docstrings_parser :summary: ``` ```` ### API `````{py:class} VanillaES :canonical: evorl.ec.optimizers.vanilla_es.VanillaES Bases: {py:obj}`evorl.ec.optimizers.ec_optimizer.EvoOptimizer` ```{autodoc2-docstring} evorl.ec.optimizers.vanilla_es.VanillaES :parser: autodoc2_docstrings_parser ``` ````{py:method} ask(state: evorl.ec.optimizers.vanilla_es.VanillaESState) -> tuple[evorl.types.Params, evorl.ec.optimizers.vanilla_es.VanillaESState] :canonical: evorl.ec.optimizers.vanilla_es.VanillaES.ask ```` ````{py:attribute} elite_weights :canonical: evorl.ec.optimizers.vanilla_es.VanillaES.elite_weights :type: chex.Array :value: > 'pytree_field(...)' ```{autodoc2-docstring} evorl.ec.optimizers.vanilla_es.VanillaES.elite_weights :parser: autodoc2_docstrings_parser ``` ```` ````{py:method} init(mean: evorl.types.Params, key: chex.PRNGKey) -> evorl.ec.optimizers.vanilla_es.VanillaESState :canonical: evorl.ec.optimizers.vanilla_es.VanillaES.init ```{autodoc2-docstring} evorl.ec.optimizers.vanilla_es.VanillaES.init :parser: autodoc2_docstrings_parser ``` ```` ````{py:attribute} noise_std_schedule :canonical: evorl.ec.optimizers.vanilla_es.VanillaES.noise_std_schedule :type: evorl.ec.optimizers.utils.ExponentialScheduleSpec :value: > None ```{autodoc2-docstring} evorl.ec.optimizers.vanilla_es.VanillaES.noise_std_schedule :parser: autodoc2_docstrings_parser ``` ```` ````{py:attribute} num_elites :canonical: evorl.ec.optimizers.vanilla_es.VanillaES.num_elites :type: int :value: > None ```{autodoc2-docstring} evorl.ec.optimizers.vanilla_es.VanillaES.num_elites :parser: autodoc2_docstrings_parser ``` ```` ````{py:attribute} pop_size :canonical: evorl.ec.optimizers.vanilla_es.VanillaES.pop_size :type: int :value: > None ```{autodoc2-docstring} evorl.ec.optimizers.vanilla_es.VanillaES.pop_size :parser: autodoc2_docstrings_parser ``` ```` ````{py:method} tell(state: evorl.ec.optimizers.vanilla_es.VanillaESState, fitnesses: chex.Array) -> tuple[evorl.types.PyTreeDict, evorl.ec.optimizers.vanilla_es.VanillaESState] :canonical: evorl.ec.optimizers.vanilla_es.VanillaES.tell ```` ````` `````{py:class} VanillaESMod :canonical: evorl.ec.optimizers.vanilla_es.VanillaESMod Bases: {py:obj}`evorl.ec.optimizers.vanilla_es.VanillaES` ```{autodoc2-docstring} evorl.ec.optimizers.vanilla_es.VanillaESMod :parser: autodoc2_docstrings_parser ``` ````{py:attribute} external_size :canonical: evorl.ec.optimizers.vanilla_es.VanillaESMod.external_size :type: int :value: > None ```{autodoc2-docstring} evorl.ec.optimizers.vanilla_es.VanillaESMod.external_size :parser: autodoc2_docstrings_parser ``` ```` ````{py:attribute} mix_strategy :canonical: evorl.ec.optimizers.vanilla_es.VanillaESMod.mix_strategy :type: str :value: > 'always' ```{autodoc2-docstring} evorl.ec.optimizers.vanilla_es.VanillaESMod.mix_strategy :parser: autodoc2_docstrings_parser ``` ```` ````{py:method} tell_external(state: evorl.ec.optimizers.vanilla_es.VanillaESState, fitnesses: chex.Array) -> tuple[evorl.types.PyTreeDict, evorl.ec.optimizers.vanilla_es.VanillaESState] :canonical: evorl.ec.optimizers.vanilla_es.VanillaESMod.tell_external ```{autodoc2-docstring} evorl.ec.optimizers.vanilla_es.VanillaESMod.tell_external :parser: autodoc2_docstrings_parser ``` ```` ````` `````{py:class} VanillaESState :canonical: evorl.ec.optimizers.vanilla_es.VanillaESState Bases: {py:obj}`evorl.types.PyTreeData` ```{autodoc2-docstring} evorl.ec.optimizers.vanilla_es.VanillaESState :parser: autodoc2_docstrings_parser ``` ````{py:attribute} key :canonical: evorl.ec.optimizers.vanilla_es.VanillaESState.key :type: chex.PRNGKey :value: > None ```{autodoc2-docstring} evorl.ec.optimizers.vanilla_es.VanillaESState.key :parser: autodoc2_docstrings_parser ``` ```` ````{py:attribute} mean :canonical: evorl.ec.optimizers.vanilla_es.VanillaESState.mean :type: chex.ArrayTree :value: > None ```{autodoc2-docstring} evorl.ec.optimizers.vanilla_es.VanillaESState.mean :parser: autodoc2_docstrings_parser ``` ```` ````{py:attribute} noise :canonical: evorl.ec.optimizers.vanilla_es.VanillaESState.noise :type: None | chex.ArrayTree :value: > None ```{autodoc2-docstring} evorl.ec.optimizers.vanilla_es.VanillaESState.noise :parser: autodoc2_docstrings_parser ``` ```` ````{py:attribute} noise_std :canonical: evorl.ec.optimizers.vanilla_es.VanillaESState.noise_std :type: chex.Array :value: > None ```{autodoc2-docstring} evorl.ec.optimizers.vanilla_es.VanillaESState.noise_std :parser: autodoc2_docstrings_parser ``` ```` `````