-
Notifications
You must be signed in to change notification settings - Fork 28
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
Provide interface to the inference package EP-BOLFI #585
Comments
Hi Yannick, Thanks for opening this issue. This sounds like a reasonable path forward, feel free to ping me as you go through the process of integrating the cost/likelihood and parameters. If you can structure this functionality within the |
Hi Brady, |
Drafted a minimal EP-BOLFI interface in YannickNoelStephanKuhn@20dd5a6. |
Hi Brady, Other things I would like to talk about:
|
Feature description
Makes EP-BOLFI available, an optimizer developed specifically for difficulties that are common with battery parameterization, such as, but not limited to:
Motivation
While EP-BOLFI, as in EP plus BOLFI, is expected to be superseded by its implementation within SOBER, its own interface here will serve as the basis of benchmarking the two against each other. Additionally, there are a lot of "self-driving" features within EP-BOLFI, the library, that make week-long runs on HPC resources viable. Finally, it might be the case that EP-BOLFI, the library, works better with limited resources, e.g., your decade-old work laptop.
Possible implementation
I would extend
BaseOptimiser
in a minimal fashion, rather than the way it is done forAdamWImpl
. While EP-BOLFI internally has a lot of similar structure to what is shown inAdamWImpl
, it would require a complete refactor of EP-BOLFI to expose it in this manner.I will also have to extend
OptimisationResult
to aBayesOptimisationResult
to catch parameter correlations and general uncertainty information. I would give it its own file, but I'm open to other suggestions.Next, I need to figure out how to deal with the features in EP as a cost function and the Likelihoods involved as per
pybop.costs
. I'm unsure whether this is necessary; if so, this requires a minor refactor of EP-BOLFI.Optionally, I would look into the way probabilistic
Parameter
s are handled right now, checking if they can handle inherent parameter uncertainties that EP-BOLFI was designed to handle. These are not parameters to fit, but parameters that would be randomly generated in each model evaluation during optimization.Finally, there may need to be some additional plotting routines for the
BayesOptimisationResult
.Additional context
I've been asked to provide an interface to EP-BOLFI in the past, and I'm happy to finally have the resources to oblige.
This will also help me with addressing the SOBER and BASQ interfaces mentioned in #228 afterwards, as I can practice a Bayesian Optimizer interface with something I'm more intimately familiar with.
The text was updated successfully, but these errors were encountered: