-
Notifications
You must be signed in to change notification settings - Fork 24
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
Restructure examples directory #282
Comments
Hey @BradyPlanden, I'd want to work on this one and am happy to discuss more about -
Do you want to maybe sub-group notebooks & scripts as well or just give to give them more clearer names? For reference & a sample example, please have a look at a1eaa84 |
Hi @arjxn-py, excellent, thanks! In terms of structure, I'm thinking we probably need to do a larger structural change with more curated examples. Currently, we have quite a few example scripts that have duplicate functionality with only an optimiser change. A first step would be to update to the below structure (open to other suggestions @NicolaCourtier @martinjrobins @agriyakhetarpal), then we can start populating the examples directory. It's worth noting that this issue cross-links to #173.
|
Thanks @BradyPlanden and @arjxn-py for getting started on this issue! My suggestion would be to group the examples as follows - focusing more on workflows rather than specific costs/models/optimisers since we have designed these objects to be fairly interchangeable. Getting Started (focused around objects that can be visualised)
Comparison Examples (demonstrating the choices available and range of performance)
Battery Parameterisation (moving toward workflows that are appropriate for the type of data available)
Design Optimisation
It would be great to have the same key examples included as both scripts and notebooks. We should probably try to get a full set of Getting Started examples together first before moving to the following sections. Happy to discuss further. |
Hi, while commenting on this issue first I thought it was more about restructuring the directory instead of notebooks i.e. Renaming & segregating the notebooks. As I do not have much experience with battery modelling, I might not be the best person writing these notebooks from scratch. Although I tried deriving one notebook i.e. |
Thanks for having a go @arjxn-py! Looks like you were on the right track 👍 The reason for the import issue is the PyBOP version - the DFN model is not included in the current release (v24.3), but it is on the develop branch and will be in the next release. To work with the current version, try (temporarily) replacing the line To get your example working, simply change the last line from
Some of our current examples could also just be renamed to tick off many of my suggestions above, as follows: getting_started
comparison_examples
battery_parameterisation
design_optimisation
Further examples can be added in future (some are already other open issues, such as OCP_balance). |
Thanks a tonn @NicolaCourtier, this comment of yours was really very helpful 🚀 Though i'd need to mention that as I created a fresh %pip install plotly -q
%pip install kaleido -q
%pip install nbformat>=4.2.0 -q Should I also install them in notebook too? |
Looks great @arjxn-py, thanks! I think these dependencies should all be included in the latest version of pybop, so there's no need to add these lines to the notebook. To check that it works with the upcoming release, please try running |
…//github.com/arjxn-py/PyBOP into pybop-team#282-restructure-example-directory
…://github.com/f-g-r-i-m-m/PyBOP into Try-Example-for-model-creation-pybop-team#282
Feature description
The current examples directory includes a variety of unordered workflows. This should be restructured to provide a clearer entry point for users looking for specific functionality. I propose we do something like:
{model}_{cost function}.py
For both
examples/notebooks/
andexamples/scripts/
. In this restructure we can reduce the total number of examples by using multipler optimisers for each{model}_{cost function}.py
. This would look something like our integration testtest_parameterisation.py
.Motivation
No response
Possible implementation
No response
Additional context
No response
The text was updated successfully, but these errors were encountered: