Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add algorithm CMA-ME #86

Merged
merged 50 commits into from
Nov 24, 2022
Merged

Add algorithm CMA-ME #86

merged 50 commits into from
Nov 24, 2022

Conversation

felixchalumeau
Copy link
Collaborator

@felixchalumeau felixchalumeau commented Sep 6, 2022

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 and sphere
  • even outperforming with other params
  • update documentation
  • add tests

Future improvements:

  • pytree genotype compatibility (add the moment, CMAES and CMAME only works for jnp.ndarray)
  • check random direction performance
  • check CMAMEGA performance

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).

@felixchalumeau felixchalumeau self-assigned this Sep 6, 2022
@felixchalumeau felixchalumeau added this to the v0.2.0 milestone Sep 6, 2022
@codecov-commenter
Copy link

codecov-commenter commented Sep 6, 2022

Codecov Report

Merging #86 (d44dc76) into develop (d7c6dc7) will increase coverage by 0.46%.
The diff coverage is 97.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%) ⬆️
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

📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more

@felixchalumeau felixchalumeau changed the title Feat/add algo cma me Feat/add algo CMA ME Oct 4, 2022
@felixchalumeau felixchalumeau changed the title Feat/add algo CMA ME Add algorithm CMA-ME Oct 7, 2022
@felixchalumeau felixchalumeau marked this pull request as ready for review October 31, 2022 12:47
qdax/core/emitters/cma_emitter.py Outdated Show resolved Hide resolved
qdax/core/emitters/cma_emitter.py Outdated Show resolved Hide resolved
tests/baselines_test/cmame_test.py Show resolved Hide resolved
tests/core_test/cmaes_test.py Show resolved Hide resolved
@felixchalumeau felixchalumeau merged commit a5c19a2 into develop Nov 24, 2022
@limbryan limbryan deleted the feat/add-algo-cma-me branch November 30, 2022 15:39
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.

3 participants