-
Notifications
You must be signed in to change notification settings - Fork 63
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
Add MLBuilder
and MLDoc
to record machine learning property predictions
#806
Conversation
…PRelaxationDoc for interatomic potential predictions
runs CHGNet and MEGNet over all structures in the materials store and with every matcalc PropCalc class
I personally don't think each property needs to be a separate doc. Otherwise I don't think I have much to say here |
just model name and package version for now
just adds verbosity
mv emmet-core/tests/test_molecule{,_}metadata.py
pydantic
models for matcalc.PropCalc
classesMLIPBuilder
and pydantic
model MLIPDoc
Other than the small comment I added, this is looking good to me. |
… m3gnet into separate test functions
…-core/emmet/core/{ml_potential,ml}.py convert numpy arrays to lists and fix doc str
I don’t have any stake here, but wouldn’t it be ideal to have a single The motivator here is that any downstream analysis that is built to accept elasticity data should still work regardless of the provenance of that data. |
@mkhorton Good point! I think providing users with a consistent schema across data sources is a huge upside. Afaik, so far there's been a one-to-one mapping from But this might be a non-issue given One thing that probably has to be manually ensured is that equivalent fields in |
Yes, the units question is an important one, and one that we never fully resolved during my time there. One proposal was that we could lay the groundwork for better unit support in future, and that this could start by making sure every field with units in a This would allow for potential future development e.g. during validation, the appropriate type with units could be reconstructed with an appropriate units library. Values with units could be type checked, etc. The MPContribs approach of storing the value with its unit as a string is also possible, but risks losing precision and prevents a lot of indexing/searching operations on that field in the database. An easier option is just requiring one canonical unit, and making sure this is specified in the Overall, not an easy problem and probably out of scope for this PR in any case :) |
|
@janosh might one of these eventually replace the ForceFieldTaskDocument from Atomate2? |
@matthewkuner Good question! Haven't looked at |
@munrojm Tests here are failing due to |
add bulk_modulus and shear_modulus pydantic validators
…dulus which ElasticityDoc expects
* update dependencies for emmet-api (ubuntu-latest/py3.10) * update dependencies for emmet-api (ubuntu-latest/py3.11) * update dependencies for emmet-api (ubuntu-latest/py3.8) * update dependencies for emmet-api (ubuntu-latest/py3.9) * update dependencies for emmet-builders (ubuntu-latest/py3.10) * update dependencies for emmet-builders (ubuntu-latest/py3.11) * update dependencies for emmet-builders (ubuntu-latest/py3.8) * update dependencies for emmet-builders (ubuntu-latest/py3.9) * update dependencies for emmet-core (ubuntu-latest/py3.10) * update dependencies for emmet-core (ubuntu-latest/py3.11) * update dependencies for emmet-core (ubuntu-latest/py3.8) * update dependencies for emmet-core (ubuntu-latest/py3.9) --------- Co-authored-by: github-actions <github-actions@github.com>
Codecov ReportAttention:
Additional details and impacted files@@ Coverage Diff @@
## main #806 +/- ##
===========================================
- Coverage 89.87% 78.97% -10.90%
===========================================
Files 107 75 -32
Lines 9527 4204 -5323
===========================================
- Hits 8562 3320 -5242
+ Misses 965 884 -81
☔ View full report in Codecov by Sentry. |
MLIPBuilder
and pydantic
model MLIPDoc
MLBuilder
and MLDoc
to record machine learning property predictions
This PR implements a new
MLIPBuilder
that generates a complete set ofmatcalc
property predictions using a given machine learning interatomic potential such as M3GNet or CHGNet. This is what a complete set of properties looks like:Next steps
Run the
MLIPBuilder
with M3GNet and CHGNet over every structures in MP Core.