Evosax

Latest version: v0.1.6

Safety actively analyzes 682457 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 3

0.1.6

Added

- Implemented Hill Climbing strategy as a simple baseline.
- Adds `use_antithetic_sampling` option to OpenAI-ES.
- Added `EvoTransformer` and `EvoTF_ES` strategy with example trained checkpoint.

Fixed

- Gradientless Descent best member replacement.

Changed

- SNES import DES weights directly and reuses code
- Made Sep_CMA_ES and OpenAI-ES use vector sigmas for EvoTransformer data collection.

0.1.5

Added

- Adds string `fitness_trafo` option to `FitnessShaper` (e.g. `z_score`, etc.).
- Adds `sigma_meta` as kwarg to `SAMR_GA` and `GESMR_GA`.
- Adds `sigma_init` as kwarg to `LGA` and `LES`.
- Adds Noise-Reuse ES - `NoiseReuseES` - ([Li et al., 2023](https://arxiv.org/pdf/2304.12180.pdf)) as a generalization of PES.
- Fix LES evolution path calculation and re-ran meta-training for checkpoint.

Fixed

- Fixed error in LGA resulting from `elite_ratio=0.0` in sampling operator logit squeeze.
- Fixed range normalization in fitness transformation - `range_norm_trafo` - Thank you yudonglee

Changed

- Refactored core modules and utilities. Learned evolution utilities now in subdirectory.

0.1.4

Added

- Adds LGA checkpoint and optimizer class from [Lange et al. (2023b)](https://arxiv.org/abs/2304.03995).
- Adds optional `init_mean` to `strategy.initialize` to warm start strategy from e.g. pre-trained checkpoint.
- Adds `n_devices` option to every strategy to control reshaping for pmap in `ParameterReshaper` (if desired) explicitly.
- Adds `mean_decay` optional kwarg to LES for regularization.

Fixed

- Fix missing matplotlib requirement for BBOB Visualizer.
- Fix squeezing of sampled solutions in order to enable 1D optimization.
- Fix `ESLog` to work with `ParameterReshaper` reshaping of candidate solutions.
- Fix overflow errors in CMA-ES style ES when `num_dims ** 2` is too large.

Changed

- Changed default gradient descent optimizer of ARS to Adam.

0.1.3

- Finally solved checkpoint loading LES problem (needed `MANIFEST.in`)
- Fixed PGPE bug with regards to scaled noise.

0.1.2

- Fix LES checkpoint loading from package data via `pkgutil`.

0.1.1

Added

- Adds exponential decay of mean/weight regularization to ES that update mean (FD-ES and CMA variants). Simply provide `mean_decay` != 0.0 argument at strategy instantiation to strategy. Note that covariance estimates may be a bit off, but this circumvents constant increase of mean norm due to stochastic process nature.

- Adds experimental distributed ES, which sample directly on all devices (no longer only on host). Furthermore, we use `pmean`-like all reduce ops to construct z-scored fitness scores and gradient accumulations to update the mean estimate. So far only FD-gradient-based ES are supported. Major benefits: Scale with the number of devives and allow for larger populations/number of dimensions.
- Supported distributed ES:
- `DistributedOpenES`
- Import via: `from evosax.experimental.distributed import DistributedOpenES`

- Adds `RandomSearch` as basic baseline.

- Adds `LES` (Lange et al., 2023) and a retrained trained checkpoint.

- Adds a separate example notebook for how to use the `BBOBVisualizer`.

Changed

- `Sep_CMA_ES` automatic hyperparameter calculation runs into `int32` problems, when `num_dims` > 40k. We therefore clip the number to 40k for this calculation.

Fixed

- Fixed DES to also take flexible `fitness_kwargs`, `temperature`, `sigma_init` as inputs.
- Fixed PGPE exponential decay option to account for `sigma` update.

Page 1 of 3

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.