Skip to content
This repository was archived by the owner on Aug 29, 2025. It is now read-only.

Conversation

moskomule
Copy link

Hi, I'm really amazed by this library.

Currently, CMAES is just a wrapper. I implemented a JAX CMAES based on https://github.com/CyberAgentAILab/cmaes/.

@hardmaru
Copy link
Contributor

Dear @moskomule,

Thanks for the contribution!

As discussed in the README file, can you please test your implementation on the 4 tasks, and report the results?

@moskomule
Copy link
Author

Hi, thank you.

As you may know, CMA-ES includes eigendecomposition of covariance matrices, which makes it too slow for MNIST's CNN policy (at least in my environment). So, can I skip MNIST results?

@lerrytang
Copy link
Contributor

Hi, thank you.

As you may know, CMA-ES includes eigendecomposition of covariance matrices, which makes it too slow for MNIST's CNN policy (at least in my environment). So, can I skip MNIST results?

Do you mind sharing some log to show how slow it is?
If it is due to some legacy hardware, I can run the tests.

@lerrytang lerrytang self-assigned this Feb 17, 2022
from .base import NEAlgorithm
from .cma_wrapper import CMA
from .pgpe import PGPE
from .cmaes import CMAES
Copy link
Contributor

@lerrytang lerrytang Feb 17, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There can be multiple CMA-ES implementations in EvoJAX, we are considering to use the naming rule: {algo_name}_{src_name / contributor}.
For example, we will change ours to something like CMAES_OriginalCPU, and yours may be CMAES_CyberAgent.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK, I will update so.

@moskomule
Copy link
Author

Hi, thank you.
As you may know, CMA-ES includes eigendecomposition of covariance matrices, which makes it too slow for MNIST's CNN policy (at least in my environment). So, can I skip MNIST results?

Do you mind sharing some log to show how slow it is? If it is due to some legacy hardware, I can run the tests.

As for MNIST, I previously run a reduced CNN, but for the original CNN policy, even a single A6000 GPU throws OOM. So it's appreciated if you could run it.

One question: can I modify the examples to select solvers as an option, or do you prefer to keep the examples as is?

@lerrytang
Copy link
Contributor

Thanks for the update.
I'd like to keep the examples as-is and avoid the situation where every new PR pertaining to algos has to change the examples.

@RobertTLange
Copy link
Contributor

RobertTLange commented Feb 21, 2022

@moskomule I put together a small repository for running/logging the tests/benchmarks. Maybe this can be of help to: https://github.com/RobertTLange/evojax-benchmarks.

I have also been thinking of porting the evosax version of CMA-ES to evojax and have previously evolved small All-CNN-C-like networks with CMA-ES. Most of the large dimensionality results from the dense layer after the last convolutional layer. All-CNN architectures circumvent FC layers and perform the readout with a 1x1 convolution with appropriate window size.

Let me know if you would like to work on something like that together.

@lerrytang
Copy link
Contributor

lerrytang commented Feb 21, 2022

@RobertTLange Thanks!

@moskomule
I'm getting an OOM error on CartPole, does this happen to you too?
By the way, can you also fix the missing CLA error below?

@RobertTLange RobertTLange mentioned this pull request Mar 28, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants