-
Notifications
You must be signed in to change notification settings - Fork 46
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
Replacing custom CMA-ES with Evosax in CMA-ME. #160
base: develop
Are you sure you want to change the base?
Replacing custom CMA-ES with Evosax in CMA-ME. #160
Conversation
…#149) fix: dependencies in notebook examples
QDaxReshaper to interface Evosax with QDax ANN. CMA-ME for ANN optimization. 2 Example notebooks for evosax CMA-ME: arm and pointmaze (ANN). Import without evosax warns but doesn't fail.
Hi @TemplierPaul, Thanks for the PR. This is a feature we have wanted for awhile so its great to see some work on this! I have some questions.
Thanks! |
Hi @limbryan, I added evosax as requirement, checks are now passing. I'm not sure if I should directly update other parts of the doc to add it. When creating the For the algorithm I'd like to make a CMA-MAE version in the future, but that will probably impact the |
Added docstrings
Thanks @TemplierPaul ! Do you think a more general EvosaxEmitter would be better then? And then the current EvosaxCMAMEEmitter can inherit from this and use all the related cma emitter tools in qdax that you are currently using. This way the EvosaxEmitter can be more generally used, independent and also not reliant on some specific cma tools from qdax. What do you think? |
I would say the evosax |
Hi @TemplierPaul, thank you very much for this PR! I have just changed the target branch from Regarding the code architecture, I think @limbryan is right, there should be a way to make the overall code more modular. I think it would be great to avoid having 2 implementations of all the |
Evosax in CMA-ME:
imp
,opt
andrnd
__init__
argumentcma_criterion
for CMAES restart criterionCMA-ME for policies:
jax.disable_jit()
when created because of list issues with Jaximp
,opt
andrnd
emitters2 example notebooks for evosax CMA-ME:
evosax_cmame.ipynb
: arm (vector)es_type = "custom"
uses the original QDax CMAES for comparison.policy_cma_me.ipynb
: pointmaze (ANN)Import without evosax warns but shouldn't fail.