QDax
QDax copied to clipboard
Add algorithm CMA-ME
Related to issue #80
Done:
- implement the improvment emitter
- implement the random emitter
- implement the opt emitter
- implement the pool of emitters
- example notebook
- check perfs of the CMA ES optimizer
- fix bug in CMA-MEGA (issue in improvment computation due to bad repertoire use)
- getting similar perfs for the improv emitter on ragistrin :tada:
- even outperforming with other params that seems to me more appropriate to the dimensions
- cannot get comparable perfs of opt for same params but got better perfs with other params
- non comparable for rnd emitter
Remaining tasks:
- double check perfs (cannot get them atm)
- perfs on sphere
- perfs of rnd and opt
- compare to pyribs implementation
- refactor CMA-ES
- refactor CMA-MEGA
- refactor CMA-ME
- add tests
- clean notebooks
- update documentation
Notes:
- About the pool of homogeneous emitters and the scheduling rule "the emitter with the less emissions emits": quite soon, only one emitter is used, because at each reinit event, it's used until it reached the others number of emission. Plus, it's not supposed to provide any difference with having just one (considering this particular emitting rule).
Codecov Report
Merging #86 (d44dc76) into develop (d7c6dc7) will increase coverage by
0.46%
. The diff coverage is97.92%
.
@@ Coverage Diff @@
## develop #86 +/- ##
===========================================
+ Coverage 91.27% 91.74% +0.46%
===========================================
Files 90 97 +7
Lines 5101 5403 +302
===========================================
+ Hits 4656 4957 +301
- Misses 445 446 +1
Impacted Files | Coverage Δ | |
---|---|---|
tests/baselines_test/cmamega_test.py | 98.36% <ø> (ø) |
|
tests/core_test/cmaes_test.py | 93.10% <93.10%> (ø) |
|
qdax/core/emitters/cma_emitter.py | 95.89% <95.89%> (ø) |
|
qdax/core/emitters/cma_pool_emitter.py | 97.77% <97.77%> (ø) |
|
tests/baselines_test/cmame_test.py | 98.46% <98.46%> (ø) |
|
qdax/core/cmaes.py | 98.19% <100.00%> (+8.58%) |
:arrow_up: |
qdax/core/emitters/cma_improvement_emitter.py | 100.00% <100.00%> (ø) |
|
qdax/core/emitters/cma_mega_emitter.py | 98.63% <100.00%> (ø) |
|
qdax/core/emitters/cma_opt_emitter.py | 100.00% <100.00%> (ø) |
|
qdax/core/emitters/cma_rnd_emitter.py | 100.00% <100.00%> (ø) |
|
... and 2 more |
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more