v0.16.0
This version introduces 3 exciting changes! (1) The all new ModelAdjusters submodule automates tuning and can fetch data directly from OPTIMADE API; (2) A new manuscript detailing advantages of our featurization tools has been put on arXiv:2404.02849; and (3) the name of the software was updated to python toolset for Structure-Informed Property and Feature Engineering with Neural Networks to retain the pySIPFENN acronym but better reflect our strengths and development direction.
Major Changes:
- Submodule of
ModelAdjustershas been set up for all kinds of model adjusting efforts. - The
LocalAdjusterimplements local model tuning, plotting of results, and hyperparameter matrix search. - The
OPTIMADEAdjusterclass combines it with the powerfulOPTIMADE APIto automate data fetching. Now, you can quicklyor to perform a hyperparameter search, replace thefrom pysipfenn import Calculator, OPTIMADEAdjuster c = Calculator(autoLoad=False) c.loadModels("SIPFENN_Krajewski2022_NN30") ma = OPTIMADEAdjuster(c, model="SIPFENN_Krajewski2022_NN30", provider="mp", targetPath=("attributes", "_mp_stability", "gga_gga+u", "formation_energy_per_atom"), device="mps" # MPS is for Apple M-series GPU ) ma.fetchAndFeturize( 'elements HAS "Hf" AND elements HAS "Mo" AND NOT elements HAS ANY "O","C","F","Cl","S"', parallelWorkers=4) ma.adjust() ma.plotStarting() # See the starting performance ma.plotAdjusted() # See the adjusted performance
ma.adjust()with:ma.matrixHyperParameterSearch() ma.adjust(learningRate=0.0001, optimizer='AdamW', weightDecay=1e-05, epochs=37)
- The new manuscript on Efficient Structure-Informed Featurization and Property Prediction of Ordered, Dilute, and Random Atomic Structures has been uploaded to arXiv:2404.02849 and will be submitted to journal in a couple days after comments from collaborators.
Minor Changes:
- Added
writeDescriptorsToNPYfunction to streamline persisting feature data into NumPy for our end-users. Appropriate tests were added. Thanks @rdamaral for making this contribution! - Improved numerous docstrings.
- Random solution featurizer now exits gently on
KeyboardInterrupt - The
LocalAdjusterandOPTIMADEAdjusterwere (optionally) connected to ClearML for neat tracking of ML training histories. - Minor bugfixes in several spots.
New Contributors
- @rdamaral made their first contribution in #15
Full Changelog: v0.15.1...v0.16.0