Skip to content

Refactor QDax, add Policy Gradient Assisted MAP Elites, add CI and doc

Created by: felixchalumeau

This pull request aims at applying all the changes that have been discussed by the Adaptative Intelligent Robotics Lab and the research team of InstaDeep to come up with a research package for Quality Diversity and NeuroEvolution in Jax.

In this pull request:

  • the structure of the package has been modified
  • the algorithm of MAP-Elites is the same but the style has been changed: MAP-Elites is implemented as a class
  • the Policy Gradient Emitter is introduced: using the Policy Gradient Emitter with MAP-Elites enables to run Policy Gradient Map-Elites
  • wrappers have been introduced to get informations necessary to build behavior and state descriptors
  • the pointmaze environment has been added
  • tests have been introduced, to check behavior of the MapElitesRepertoire, as well as a training script of MAP-Elites and PGA MAP-Elites, that checks that the code is running (no performance test)
  • a documentation has been added, using mkdocs and readthedocs
  • pre-commits have been applied and added
  • support for docker and conda envs have been added, while keeping singularity available as well
  • a CI has been introduced, it checks that the docker image can be build, it checks that the doc can be build, it checks that the code respects style rules and finally, it checks that the tests pass.
  • the example notebook of MAP-Elites has been updated
  • an example notebook of PGA MAP Elites has been added
  • README has been updated
  • an MIT License has been added
  • the setup file has been updated

This would be tagged version 0.0.2 of the QDax package.

Merge request reports