Skip to content

πŸš€ Indirect Encodings, EvoState/EvoParams, gymnax backend

Compare
Choose a tag to compare
@RobertTLange RobertTLange released this 15 Jun 18:03
· 99 commits to main since this release

[v0.0.9] - 15/06/2022

Added
  • Base indirect encoding methods in experimental. Sofar support for:
    • Random projection-based decodings
    • Hypernetworks for MLP architectures
  • Example notebook for infirect encodings.
  • Example notebook for Brax control tasks and policy visualizations.
  • Adds option to restart wrappers to copy_mean and only reset other parts of EvoState.
Changed
  • Change problem wrappers to work with {"params": ...} dictionary. No longer need to define ParameterReshaper(net_params["params"]) to work without preselecting "params". Changed tests and notebooks accordingly.
  • Restructured all strategies to work with flax structured dataclass and EvoState/EvoParams. Note that this will require different specification of hyperparameter settings e.g. via es_params = es_params.replace(cross_over_rate=0.9).
from flax import struct
@struct.dataclass
class EvoState:
    ...
  • The core strategy API now also works without es_params being supplied in call. In this case we simply use the default settings.
  • Moved all gym environment to (still private but soon to be released) gymnax.
  • Updated all notebooks accordingly.
Fixed
  • Makes ParameterReshaper work also with dm-haiku-style parameter dictionaries. Thanks to @vuoristo.