Skip to content

0.1.0

Compare
Choose a tag to compare
@Higgcz Higgcz released this 08 Aug 21:06
· 75 commits to master since this release
1691060

We are excited to release the first public version of EvoTorch - an evolutionary computation library created at NNAISENSE.

With EvoTorch, one can solve various optimization problems, without having to worry about whether or not these problems at hand are differentiable. Among the problem types that are solvable with EvoTorch are:

  • Black-box optimization problems (continuous or discrete)
  • Reinforcement learning tasks
  • Supervised learning tasks
  • etc.

Various evolutionary computation algorithms are available in EvoTorch:

  • Distribution-based search algorithms:
    • PGPE: Policy Gradients with Parameter-based Exploration.
    • XNES: Exponential Natural Evolution Strategies.
    • SNES: Separable Natural Evolution Strategies.
    • CEM: Cross-Entropy Method.
  • Population-based search algorithms:
    • SteadyStateGA: A fully elitist genetic algorithm implementation. Also supports multiple objectives, in which case behaves like NSGA-II.
    • CoSyNE: Cooperative Synapse Neuroevolution.

All these algorithms mentioned above are implemented in PyTorch, and therefore, can benefit from the vectorization and GPU capabilities of PyTorch. In addition, with the help of the Ray library, EvoTorch can further scale up these algorithms by splitting the workload across:

  • multiple CPUs
  • multiple GPUs
  • multiple computers over a Ray cluster