# {py:mod}`evox.algorithms.so.es_variants.nes` ```{py:module} evox.algorithms.so.es_variants.nes ``` ```{autodoc2-docstring} evox.algorithms.so.es_variants.nes :allowtitles: ``` ## Module Contents ### Classes ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`XNES ` - ```{autodoc2-docstring} evox.algorithms.so.es_variants.nes.XNES :summary: ``` * - {py:obj}`SeparableNES ` - ```{autodoc2-docstring} evox.algorithms.so.es_variants.nes.SeparableNES :summary: ``` ```` ### API `````{py:class} XNES(init_mean: torch.Tensor, init_covar: torch.Tensor, pop_size: int | None = None, recombination_weights: torch.Tensor | None = None, learning_rate_mean: float | None = None, learning_rate_var: float | None = None, learning_rate_B: float | None = None, covar_as_cholesky: bool = False, device: torch.device | None = None) :canonical: evox.algorithms.so.es_variants.nes.XNES Bases: {py:obj}`evox.core.Algorithm` ```{autodoc2-docstring} evox.algorithms.so.es_variants.nes.XNES ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} evox.algorithms.so.es_variants.nes.XNES.__init__ ``` ````{py:method} step() :canonical: evox.algorithms.so.es_variants.nes.XNES.step ```{autodoc2-docstring} evox.algorithms.so.es_variants.nes.XNES.step ``` ```` ````{py:method} record_step() :canonical: evox.algorithms.so.es_variants.nes.XNES.record_step ```` ````` `````{py:class} SeparableNES(init_mean: torch.Tensor, init_std: torch.Tensor, pop_size: int | None = None, recombination_weights: torch.Tensor | None = None, learning_rate_mean: float | None = None, learning_rate_var: float | None = None, device: torch.device | None = None) :canonical: evox.algorithms.so.es_variants.nes.SeparableNES Bases: {py:obj}`evox.core.Algorithm` ```{autodoc2-docstring} evox.algorithms.so.es_variants.nes.SeparableNES ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} evox.algorithms.so.es_variants.nes.SeparableNES.__init__ ``` ````{py:method} step() :canonical: evox.algorithms.so.es_variants.nes.SeparableNES.step ```{autodoc2-docstring} evox.algorithms.so.es_variants.nes.SeparableNES.step ``` ```` ````{py:method} record_step() :canonical: evox.algorithms.so.es_variants.nes.SeparableNES.record_step ```` `````