Skip to content

Add Dominated Novelty Search#243

Merged
maxencefaldor merged 103 commits into
mainfrom
develop
Oct 30, 2025
Merged

Add Dominated Novelty Search#243
maxencefaldor merged 103 commits into
mainfrom
develop

Conversation

@maxencefaldor
Copy link
Copy Markdown
Member

Add Dominated Novelty Search to QDax.

maxencefaldor and others added 30 commits January 9, 2024 19:03
* a new method for MAP-Elites repertoire, that enables to samples individuals with their corresponding descriptors.
* a new output extra_info for Emitter.emit methods that is similar to the extra_scores of the scoring function, and that enables to pass information from the emit step to the state_update (necessary for DCG-MAP-Elites).
* a new DCGTransition that add desc and desc_prime to the QDTransition.
* descriptor-conditioned TD3 loss, descriptor-conditioned scoring functions, descriptor-conditioned MLP
* two new reward wrappers to clip and offset the reward (necessary for DCG-MAP-Elites).
Fixes the definition of Pareto dominance in pareto_front.py to account for solutions which have the same fitness values along one axis.
- moving to Python 3.10
- Upgrade all library versions in requirements.txt and setup.py
- Remove DM-Haiku cause it is now deprecated.
- all networks now are based on a single MLP class
- jax.tree_map has been replaced with jax.tree_util.tree_map everywhere to avoid Deprecation Warnings.
- types -> custom_types
- add extra_require for jax[cuda12]
- fix all notebooks and update typing extensions (for running notebooks)
- fix dependabot security issues
- added instructions for pip install qdax[cuda12] in README
- fix observation space in jumanji test script
…rtain domains (#186)

* feat: add reevaluation function to compute corrected archives in uncertain domains
* change indexing to retrieve current fitness in intra batch comp

Authored-by: Lisa <lc1021@ic.ac.uk>
* Move cmaes.py from core to baselines
* Change corresponding api docs

---------

Authored-by: Lisa <lc1021@ic.ac.uk>
* fix: Change to new-style-jax-rng-keys.

---------

Co-authored-by: Milton Montero <lleramontero@gmail.com>
* fix: fix typos and add codespell pre-commit hook

---------

Co-authored-by: Jeroen Van Goey <j.vangoey@instadeep.com>
…usage (#190)

* unify descriptor naming
* Stop returning random keys
* Rename all jax.tree_utils.tree_* into jax.tree.*
* Remove Brax scoring function with init_states as arguments
* Add AURORA to notebooks in README
* Remove examples/scripts/ directory
* Rename all arguments named "unused" by "_"
…d the ask_tell.ipynb example (working). Test for ME, MELS, AURORA, MOME
Lisa and others added 25 commits April 2, 2025 14:27
* New Directory Structure: Created a new /tasks/brax directory with clear versioning:

* /tasks/brax/v1/: Contains code compatible with Brax v1 API

* /tasks/brax/v2/: Contains code compatible with Brax v2 API

* Relocated environment-related code from /environments to /tasks/brax/v1/envs and /tasks/brax/v2/envs

* Relocated wrapper code to /tasks/brax/v1/wrappers and /tasks/brax/v2/wrappers

* Moved descriptor extractors to /tasks/brax/descriptor_extractors

* Added base environment classes in both v1 and v2 paths

* Fixed all import statements throughout the codebase to reference the new structure

* Updated all relevant test files to use the new imports

* Moved AuroraExtraInfo: Relocated AuroraExtraInfo and AuroraExtraInfoNormalization classes from descriptor_extractors to custom_types.py

* Stop using task-specific types (e.g. brax.env.State JumanjiState) in the main custom types file
* Removing save and load methods from MapElitesRepertoire and children classes, as they were tiresome to maintain and implement for new types of repertoires.

* Instead, users can use their own custom way to save and load repertoire, such as pickle and orbax.

* fix brax v2 wrapper inheritance causing: _n_frames=1
@Lookatator Lookatator self-requested a review October 30, 2025 08:31
@maxencefaldor maxencefaldor merged commit 46b8fee into main Oct 30, 2025
8 of 9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants