-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Updated support for CMA-ES minimizer based on libcmaes #507
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
Conversation
…ce + added control of fixed variables and auto-maxiter stopping criteria
…for default cmaes initial value
Can one of the admins verify this patch? |
@beniz, could you address the coding conventions issues reported by travis? About the error, it seems you are missing |
@vgvassilev FYI I'm pretty busy over the next couple of weeks, if you can test before I fix the coding conventions, please do. It'd be best to fix major issues first. Thanks. |
Can one of the admins verify this patch? |
I will try to look at it. I am quite busy, too. |
@beniz @lmoneta @vgvassilev, what would you like to do with this PR? |
@etejedor Hi, I'd be happy to help get the PR into trunk, I just couldn't find time to struggle with coding conventions. As of today, I can propose the following:
My time is unfortunately scarce, but I'm willing to allocate time to bring this into production. |
@beniz, can you rebase please? |
@oshadura Hi, I can, though it will not be immediate, stay tuned, thanks. |
@oshadura , we don't need to rebase this one now. We need first to test well this PR first. |
@lmoneta @oshadura hi, let me know whether I can help you test the PR thoroughly. I'd understand that rebasing could make it easier, depending of the additional tools / testbeds you'd like to use for the testing phase. |
1 similar comment
This PR is now replaced by #7044 |
This is an update to PR #40 that includes:
As a reminder, this PR fetches, builds and wraps https://github.com/beniz/libcmaes/ with ROOT.
This PR builds ROOT with CMA-ES support and I've been able to run some of the tests, indicating that it is working fine.
Issues
However, some caveats remain, on which help is required, at the moment
build/include/libcmaes/cmaes.h
andbuild/include/Eigen
are not properly passed to the compiler at build time. I cannot find how to do it properly. At the moment I am using symlinks as a temporary hack (see how to build below)To access the inner option of the CMA-ES Minimizer, I was using code similar to
ROOT::Math::IOptions &opts = ROOT::Math::MinimizerOptions::Default(fitter); opts.SetIntValue("lambda",lambda);
Code above now appears to fail with errors such as:
Help is needed to fix the above.
How to build
The build will fail because of the header issue mentioned above, so do:
You can then use the newly built ROOT and test that CMA-ES is working:
Please see instructions and links from PR #40 for more tests, performance checks, etc...
Once everything is fine, I'll be able to squash all commits into a single one if needed.