forked from adaptive-intelligent-robotics/QDax
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request adaptive-intelligent-robotics#126 from adaptive-in…
…telligent-robotics/develop Version 0.2.0 of QDax
- Loading branch information
Showing
106 changed files
with
10,125 additions
and
778 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -168,5 +168,4 @@ cython_debug/ | |
.gitignore | ||
Makefile | ||
mypy.ini | ||
README.md | ||
dev.Dockerfile |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
Related issues: [refer to issues] | ||
|
||
[Introduce the overall change made in the PR and list the associated modifications below] | ||
|
||
This PR introduces: | ||
- [modification 1] | ||
- [modification 2] | ||
|
||
|
||
## Checks | ||
|
||
- [ ] a clear description of the PR has been added | ||
- [ ] sufficient tests have been written | ||
- [ ] relevant section added to the documentation | ||
- [ ] example notebook added to the repo | ||
- [ ] clean docstrings and comments have been written | ||
- [ ] if any issue/observation has been discovered, a new issue has been opened | ||
|
||
## Future improvements | ||
|
||
[List here potential observations made and/or improvements that could be made in the future. If relevant, open issues for those.] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -93,6 +93,7 @@ FROM cuda-image as run-image | |
|
||
COPY qdax qdax | ||
COPY setup.py ./ | ||
COPY README.md ./ | ||
|
||
RUN pip install . | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
# Covariance Matrix Adaptation MAP Elites (CMAME) | ||
|
||
To create an instance of CMAME, one need to use an instance of [MAP-Elites](map_elites.md) with the desired CMA Emitter - optimizing, random direction, improvement - detailed below.To use the pool of emitter mechanism, use the CMAPoolEmitter. | ||
|
||
Three emitter types: | ||
|
||
::: qdax.core.emitters.cma_emitter.CMAEmitter | ||
::: qdax.core.emitters.cma_rnd_emitter.CMARndEmitter | ||
::: qdax.core.emitters.cma_opt_emitter.CMAOptimizingEmitter | ||
|
||
Pool of homogeneous emitters: | ||
|
||
::: qdax.core.emitters.cma_pool_emitter.CMAPoolEmitter |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
# MAP Elites with Evolution Strategies (ME-ES) | ||
|
||
To create an instance of ME-ES, one need to use an instance of [MAP-Elites](map_elites.md) with the MEESEmitter, detailed below. | ||
|
||
::: qdax.core.emitters.mees_emitter.MEESEmitter |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
# Quality Diversity Policy Gradient (QDPG) | ||
|
||
To create an instance of QDPG, one need to use an instance of [MAP-Elites](map_elites.md) with the QDPGEmitter, detailed below. | ||
|
||
::: qdax.core.emitters.qdpg_emitter.QDPGEmitter |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
# QDax Caveats | ||
|
||
Here is a few caveats one should be aware of when using QDax. | ||
|
||
## Use of auto reset for Brax environments | ||
The use of `auto_reset` can be tricky and lead to problems and/or unwanted behaviors. By defaults in our examples, we set auto reset equals True, so the samples collected in the Replay Buffer are good quality samples and stay within the distribution of interest. This is particularly important in the case of PGAME, where putting auto reset to False could lead to important decrease in data efficiency and final performance. | ||
|
||
## In-place replacement of state descriptors in QDTransition | ||
The state descriptor from Brax environments is stored in a dictionary. The retrievement of this data when building the QDTransition in a step is hence tricky. The state descriptor must be stored in a variable before applying a environment step, because an in-place replacement is going to occur during the step function of Brax. | ||
|
||
One should take inspiration from the `play_step` function from our examples. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
../examples/ |
File renamed without changes
Binary file not shown.
File renamed without changes
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.