Releases: mir-group/flare
Releases · mir-group/flare
Pre-release 1.3.3 - Dot product kernel, per-data relative noise, wandb
What's Changed
- Fixed variables in flare/dft_interface/cp2k_util.py to be consistent by @niklundgren in #316
- Compilers and libraries from conda instead of module load by @YuuuXie in #318
- change calculate_efs and calculate_energy to instance variables by @aaronchen0316 in #319
- Cjo - documentation by @cjowen1 in #317
- add checks for ase calculators with no stress tensor property impleme… by @juliayang in #324
- Single atom energy dict for issue #326 by @YuuuXie in #327
- 1.3.1 Bug fixings - stress, pair_style cutsq, offline preprocess, sanity check by @YuuuXie in #328
- 1.3.2 Non normalized dot product kernel by @YuuuXie in #322
- 1.3.3 Relative noise for each training data point by @YuuuXie in #323
- Development by @YuuuXie in #303
- Add broadcast of kernel string length by @anjohan in #334
- add MPI for lammps in the unit test
New Contributors
- @niklundgren made their first contribution in #316
- @cjowen1 made their first contribution in #317
- @juliayang made their first contribution in #324
Full Changelog: 1.3.0...1.3.3
Pre-release 1.0.0 - Merge Flare++ & Use yaml for training & On-the-fly with Lammps
Pre-release
What's Changed
This version includes major changes in the code structure and interfaces (More details are in the pull request #303)
- Rearrange modules
- Clean up unused code
- Merge flare++ into flare
- Use yaml file for training (same command, different config files for on-the-fly training, offline training, restarting, combine multiple dataset/models)
(see flare/examples for the format and parameters for yaml)
flare-otf config.yaml
- Add on-the-fly training by LAMMPS and offline training (fake MD/DFT)
Backward compatibility notices
freeze_hyps
is replaced bytrain_hyps
, where an interval(a, b)
is specified, and the hyps will only be trained when the GP model has number of training data in this interval
Release notes (auto-generated)
- Subtree for flare_pp repo by @YuuuXie in #304
Full Changelog: 0.2.4...1.0.0
v1.3.0-zenodo
Pre-release 1.2.0 - Kokkos acceleration & Lammps syntax change
What's Changed
- Kokkos multispecies acceleration with type-sorting and matrix-matrix products by @anjohan in #310
- Change syntax of flare pair style code to fit the 2022 release of lammps
Backward compatibility
- Due to the new syntax, the lammps plugins of flare have to be installed with the Stable release 23 June 2022. No longer compatible with the 29Sep2021 version.
- The 2022 version of Lammps changes the thermostat dumping format a bit in the log.lammps file, such that the latest ASE version 3.22.1 lammps parser fails. If you need to use ASE's lammps calculator or you need to use our PyLAMMPS for on the fly training, you need to install the master branch of ASE
Full Changelog: 1.1.2...1.2.0
Pre-release 1.1.2
What's Changed
Full Changelog: 1.0.0...1.1.2
Offline training
- Compute and print mean absolute error at each step (frame), not only at steps where a frame is added to SGP.
- Add data distribution statistics at the end of the training, summarizing how many frames are picked up from each dataset
Bug fixing
- Fix a lammps calculator bug of prism cell
- Fix the on-the-fly MAE calculation and logging when any of energy/forces/stress is excluded for training.
- Allow DFT calculator to be saved as json in the checkpoint, in case some can be non-pickable
- Add atom_indices into the dict of dumped SGP
Other features and tutorials
- Add timer for each part in OTF training log
- Add mapped uncertainty to the
build_map
method inSGP_Calculator
- Add python interface to support customized descriptors. Check the tutorial here
- Add a tutorial for computing thermal conductivity from flare + Phoebe. Check the tutorial here
Backward compatibility notices
- In the yaml file for offline training, the parameters in
FakeDFT
can be removed since they are redundant
dft_calc:
name: FakeDFT
kwargs:
filename: fake_dft.xyz
format: extxyz
index: ":"
io_kwargs: {}
change to
dft_calc:
name: FakeDFT
kwargs: {}
params: {}
- In the yaml file for offline training, the
filename
changes tofilenames
, allowing user to list multiple files as datasets.
otf:
md_engine: Fake
md_kwargs:
filename: fake_dft.xyz
change to
otf:
md_engine: Fake
md_kwargs:
filenames: [fake_dft_1.xyz, fake_dft_2.xyz]
Then at the end of the training, the log file will report how many frames are selected to add to SGP from fake_dft_1.xyz
, fake_dft_2.xyz
, respectively.
- In the yaml file for online or offline training, set up a lower bound of DFT calls for training hyperparameters
otf:
freeze_hyps: 10
change to
otf:
train_hyps: [1, 10] # [a, b] represents training hyps when the number of DFT frames SGP has collected is between a and b
Compatible LAMMPS version
Stable 0.2.4 - Flare active learning & 2+3 body kernel
This is the stable version of flare, which is compatible with the flare_pp v0.1.3
Below are the auto-generated release notes
What's Changed
- Add punchout-related files, methods, and functions by @stevetorr in #1
- Mapped gp by @jonpvandermause in #2
- Mapped gp by @jonpvandermause in #3
- remove untested modules by @jonpvandermause in #4
- Docs by @jonpvandermause in #5
- Gitignore by @jonpvandermause in #6
- add additional information about pushing a forked repo by @jonpvandermause in #7
- add direct push guidelines by @jonpvandermause in #8
- Close #9 by @jonpvandermause in #11
- update mff in development branch by @jonpvandermause in #12
- Code standards by @jonpvandermause in #33
- Added Z_to_element function, tested, tightened up unit tests by @stevetorr in #32
- GP from AIMD + Serialization by @stevetorr in #27
- Edit lammps calculator by @jonpvandermause in #25
- Shorten/fix gp aimd test by @stevetorr in #44
- fix import in mff test by @jonpvandermause in #46
- new output class and add configuration output in ".xyz" format by @nw13slx in #42
- Now skips tests with QE if PWSCF_COMMAND is not found by @stevetorr in #48
- changed mff name #29 & tested update_L_alpha #23 by @YuuuXie in #50
- automatically write lmp file when mgp constructed #28 by @YuuuXie in #51
- CI with coverage by @anjohan in #60
- Merging master onto Serialization branch by @stevetorr in #65
- GP from AIMD Bugfix by @stevetorr in #68
- Bug/jon/gp update by @jonpvandermause in #71
- Added flexibility to user to frequency of output writing by @stevetorr in #69
- OTF will always flush buffer when writing Output by @stevetorr in #74
- create dft_interface module to interface with multiple DFT software. by @nw13slx in #61
- Serialization and representation GP + Small fixes by @stevetorr in #64
- Added to / from PMG methods, with pymatgen as an optional import by @stevetorr in #67
- Add setup.py for easy installation by @anjohan in #80
- change coverage report to only flare dir by @anjohan in #79
- Register on pypi, more badges by @anjohan in #81
- Feature/jon/npool by @jonpvandermause in #76
- Ase interface by @YuuuXie in #77
- Feature/lixin/gp from aimd by @nw13slx in #88
- Added draft of vasp_util.py for VASP trajectories and OTF by @kylebystrom in #82
- Quick fix to suppress pymatgen warnings by @kylebystrom in #93
- Bugfix/lixin/multiprocessing by @nw13slx in #90
- Fix: NP training labels now set for from_dict GPs by @stevetorr in #96
- Feature/steven/gpfa checkpoints by @stevetorr in #99
- WIP: GP now takes opt_params argument by @stevetorr in #92
- STD Species refactor + 100% coverage by @stevetorr in #104
- Yu/parallelize - close #83 & changed MGP by @YuuuXie in #105
- GP_FROM_AIMD change by @nw13slx in #103
- GPFA now has train by error option by @stevetorr in #106
- GPFA Output now prints gp forces, stds, dft forces by @stevetorr in #111
- Allow passing of kwargs to vasprun object by @stevetorr in #114
- WIP: vasp util compatibility with OTF by @stevetorr in #117
- WIP: Docstrings and typehints by @stevetorr in #118
- Ase interface - add stress & tested OTF parser by @YuuuXie in #107
- GP algebra docstring by @nw13slx in #120
- Ase interface by @YuuuXie in #121
- Added & unit tested store_dft_output by @stevetorr in #123
- Move store_dft_output logic to run_dft method by @stevetorr in #125
- Fix n_cpu in gpfa docstrings and logic by @stevetorr in #126
- Bugfix: OTF ignores structure species, when using pre-trained GP by @stevetorr in #130
- WIP: Merge development since merge onto branch by @stevetorr in #138
- WIP: merge multihyperparameters into energy_mgp by @nw13slx in #140
- Ase interface - close #133 by @YuuuXie in #136
- merge features/lixin/share_memory to yu/energy_mgp by @nw13slx in #141
- Merge/mc simple+development by @nw13slx in #146
- give the option to print hyperparameters to console by @jonpvandermause in #149
- Add custom force module and otf helper functions; remove xyz logs by @jonpvandermause in #152
- WIP: enable multiple hyperparameter groups and improve mp performance by @nw13slx in #139
- remove extraneous print statements by @jonpvandermause in #156
- Add space between floats in the output file by @jonpvandermause in #157
- fix manybody kernel etype issue by @nw13slx in #166
- [WIP] Development branch with many body feature and energy mapping by @nw13slx in #162
- Training on energy labels by @jonpvandermause in #128
- Added GPFA parser function to gp_from_aimd by @stevetorr in #173
- Jon/feature/auto sweep by @jonpvandermause in #174
- Enable multiple cutoff for two-, three- and manybody kernel by @nw13slx in #170
- fix predict by @jonpvandermause in #177
- Fixes minor typo in doc-string for gp by @dmclark17 in #179
- Predict.py now has 100% coverage by @stevetorr in #182
- Add, test method to remove force data from a gp by @stevetorr in #183
- Attempt to solve unit tests failing due to pytest by @stevetorr in #186
- Better user interface and consistency check through out env/gp/kernel modules by @nw13slx in #184
- Steven/feature/gp write choice by @stevetorr in #188
- [WIP]Add backwards compatibility for pickled envs by @stevetorr in #189
- fix optimization flag in ParameterHelper class by @nw13slx in #191
- Steven/bugfix/mgp predict by @stevetorr in #192
- Stress kernels and other kernel related changes by @jonpvandermause in #187
- Feature/lixin/gpfa improvement by @nw13slx in #195
- Clarify how to adjust GP hyp masks and cutoffs by @stevetorr in #200
- Steven/bugfix/cherrypicked bugfix by @stevetorr in #203
- Quality of life method: Structure valid method by @stevetorr in #204
- MGP - var upper bound & ASE Atoms by @YuuuXie in #198
- Merge development into master by @jonpvandermause in #199
- GPFA now has 'training plan' feature by @stevetorr in #207
- Fix MGP issues & Add LAMMPS pair styles by @YuuuXie in #215
- Bugfix: OTF parser, ASE md step, OTF checkpoint by @YuuuXie in #214
- Merge Development to master by @YuuuXie in #218
- Apply black formatting to flare and tests directories by @jonpvandermause in #226
- Env now has force attribute by @stevetorr in #229
- nose-hoover thermostat by @simonbatzner in https://github...