Releases: ACEsuit/mace
Releases · ACEsuit/mace
v0.3.12
MACE 0.3.12 Release Notes
Versions support updates
- Hot fix for test files that are not lists.
- Standard variation is now extracted from the head config.
Please see our documentation for complete details on features and usage. If you encounter any issues, please report them on our GitHub Issues page.
v0.3.11
MACE 0.3.11 Release Notes
Versions support updates
- Added support for new version of cuEquivariance 0.2.0 and 0.3.0 (breaking support for 0.1.0). (See https://mace-docs.readthedocs.io/en/latest/guide/cuda_acceleration.html)
- Added support for Pytorch 2.6.0.
Enhanced Dataset Processing
- Added support for LMDB data format for efficient large dataset handling (like fairchem datasets). Supports folders of .aselmdb or .aselmdb files. (See https://mace-docs.readthedocs.io/en/latest/guide/multipreprocessing.html#lmdb-files-preprocessing).
# Example configuration for LMDB
train_file: "/path/data1/:/path/data2/:/path/data3/"
valid_file: "/path/valid1.lmdb:/path/valid2.lmdb"
- Streamlined workflow for training on multiple datasets simultaneously. Can now add lists of different datastream (ASE, lmdb and xyz). (See https://mace-docs.readthedocs.io/en/latest/guide/heterogeneous_data.html).
# Example configuration for different datasets
heads:
QM7:
train_file: ["data/qm7/train.xyz", "data/qm7/train.h5", "data/qm7/database/"]
valid_file: ["data/qm7/valid.xyz", "data/qm7_h5/valid/"]
test_file: ["data/qm7/test.xyz", "data/qm7/test.h5"]
New Foundation Models
- MACE-MPA-0: Improved accuracy for materials. New default foundation model when calling
mace_mp()
. - MACE-OMAT-0: New model trained on the OMAT dataset with DFT (PBE+U) VASP 54.
Plotting training
- Add automatic plotting of training, validation and test statistics after a training run. Two arguments added to mace_run_train command line interface:
--plot # activate or not the plotting, default True
--plot_frequency # If zero only at the end, else, each N epoch
Support for higher L and max_ell
- Switch to cuequivariance generalized CG for L, max_ell or correlation that needs to use CG that were not pre computed in e3nn 0.4.4. Now can train models with arbitrary L and max_ell.
Installation
pip install --upgrade mace-torch
# For CUDA acceleration (CUDA 12)
pip install cuequivariance cuequivariance-torch cuequivariance-ops-torch-cu12
# For CUDA 11, use cuequivariance-ops-torch-cu11 instead
Please see our documentation for complete details on features and usage. If you encounter any issues, please report them on our GitHub Issues page.
Full Changelog: v0.3.10...v0.3.11
v0.3.10
What's Changed
- now actually download the new models by @alinelena in #721
- Evaluate test sets separately for different heads by @ThomasWarford in #681
- Add pre-processing config file option by @ElliottKasoar in #664
- Add mace_mp medium performance benchmark by @hatemhelal in #647
- change learning rate for multihead ft by @ilyes319 in #727
- add option to rescale number of ft sample by @ilyes319 in #736
- Clean up unused Polynomial Cutoff Class from ZBLBasis, remove r_max argument. by @CompRhys in #569
- allow custom cache based on XDG_CACHE_HOME env variable, addresses #724 by @alinelena in #755
- Fix default outpout_file in select_head, and add argument to list heads by @bernstei in #772
- change default mp model to mpa model+bump version by @ilyes319 in #758
- solve jit backward compatibility by @ilyes319 in #778
- fix the reshape irreps for jit backward by @ilyes319 in #779
- fix formatting by @ilyes319 in #780
- Develop by @ilyes319 in #781
- Develop by @ilyes319 in #785
- make cueq optional dep and add special test by @ilyes319 in #786
Full Changelog: v0.3.9...v0.3.10
v0.3.9
What's Changed
- Enable swa if start_swa was given by @vue1999 in #697
- Update foundations models to contain 0b by @alinelena in #691
- extract_invariant now correctly extracts first layer when num_layers=1 by @RokasEl in #695
- Add cuequivariance support by @ilyes319 in #704
- Add cuequivariance support by @ilyes319 in #709
- Fix-extract-equivariant-features-with-num-layers-1 by @RokasEl in #703
- add stress to the cueq test by @ilyes319 in #712
- add option pt_train_file == "mp" by @ilyes319 in #716
- bum version by @ilyes319 in #719
Full Changelog: v0.3.8...v0.3.9
v0.3.8
What's Changed
- Fix compile_mode in MACECalculator by @hatemhelal in #632
- Update README.md using bibtex by @jcwang587 in #628
- Fix multihead prediction for eval_configs.py by @beckobert in #642
- Updating compiler support and test cases by @hatemhelal in #634
- Turn json keys representing elements into ints by @ThomasWarford in #652
- Fix file name of swa checkpoints by @beckobert in #648
- Increasing loss output digits by @vue1999 in #658
- Fix model paths by @ElliottKasoar in #654
- Density normalization by @ilyes319 in #667
- Bug fix and density normalization by @ilyes319 in #668
- List default arguments with --help by @vue1999 in #670
- Fixing multihead finetuning with density normalization by @CheukHinHoJerry in #682
- Add default argparser to main by @ilyes319 in #671
- fix case with multihead foundation model by @ilyes319 in #687
- Add DOI badge by @ilyes319 in #688
- fix name in foundation head args by @ilyes319 in #689
- bump version by @ilyes319 in #690
New Contributors
- @jcwang587 made their first contribution in #628
- @beckobert made their first contribution in #642
- @ThomasWarford made their first contribution in #652
- @CheukHinHoJerry made their first contribution in #682
Full Changelog: v0.3.7...v0.3.8
v0.3.7
Main new features
- Finetuning with multiheads : https://mace-docs.readthedocs.io/en/latest/guide/finetuning.html
- Training with multiheads: https://mace-docs.readthedocs.io/en/latest/guide/multihead_training.html
What's Changed
- Add Intel XPU device by @jharrymoore in #340
- Intel by @ilyes319 in #356
- Fix logic that deals with IsolatedAtom and 1-atom configuration by @bernstei in #393
- Fix bug that overwrote REF_* keys when those were the explicitly specified keys for the training reference quantities by @bernstei in #403
- Fix check for patience that fails if swa start was not specified by @bernstei in #405
- fix incorrect conversion of forces from calculator to atoms.arrays for finetuning pbe mp replay head by @bernstei in #409
- Better fix for PR #405, fix patience check when swa is not active by @bernstei in #411
- fix np.random.choice issue when subselecting from pre-trained configs for multihead fine tune by @bernstei in #448
- validation loss printed during training is not actually for the specific head by @bernstei in #449
- get rid of all stress/n_atoms by @bernstei in #443
- Stage two weights by @vue1999 in #522
- remove mypy from checks by @ilyes319 in #529
- Fix MAE table for universal loss by @ilyes319 in #548
- Create py.typed by @Andrew-S-Rosen in #554
- Improve Log Details by @vue1999 in #553
- Backward the log changes by @ilyes319 in #571
- Merge develop, pylint + log changes by @ilyes319 in #572
- Multihead finetuning and training by @ilyes319 in #575
- multihead finetuning by @ilyes319 in #578
- Fix bug about undefined swa by @Hongyu-yu in #584
- Fix for Issue 596 by @stenczelt in #597
- Split
download_mace_mp_checkpoint
out ofmace_mp
by @janosh in #602 - Allow creation of MACECalculator without needing to write a checkpoint to disk. by @CompRhys in #535
- fix swa bug and remove e3nn fixed version by @ilyes319 in #589
- Change type hint syntax in MACECalculator to work with python39 by @bernstei in #618
- fix swa bigger than epoch by @ilyes319 in #616
- add option to return raw model in mace_mp by @ilyes319 in #619
New Contributors
- @Hongyu-yu made their first contribution in #584
- @CompRhys made their first contribution in #535
Full Changelog: v0.3.6...v0.3.7
v0.3.6
What's Changed
- bugfix for stress loss by @JPDarby in #438
- change stress normalization + setup.cfg with numpy<2.0 by @ilyes319 in #467
- fix universal loss stress by default by @ilyes319 in #472
- Support for schedulefree optimizer by @RokasEl in #477
- Add Command-Line Argument for Specifying Wandb Directory by @nqhq-lou in #466
- Add DOI badge and automated release by @ElliottKasoar in #404
- Merge latest develop by @ilyes319 in #480
- remove DOI from badge by @ilyes319 in #482
- add finetuning to readme TOC by @ilyes319 in #485
- add support for hessian in calculator by @ilyes319 in #486
- prepare the model for hessian by @ilyes319 in #490
- BUG: Single atoms not isolated incorrectly removed from training set by @jameskermode in #492
- Fix bug with isolated atoms by @ilyes319 in #493
- correct pbc extension by @ilyes319 in #506
- change dynamo to optional by @ilyes319 in #510
- Simplify installation steps by @vue1999 in #514
- Develop by @ilyes319 in #515
- remove Literal for python >3.9 by @ilyes319 in #516
New Contributors
- @JPDarby made their first contribution in #438
- @nqhq-lou made their first contribution in #466
- @ElliottKasoar made their first contribution in #404
- @jameskermode made their first contribution in #492
Full Changelog: v0.3.5...v0.3.6
v0.3.5
What's Changed
- on the fly data loading by @davkovacs in #73
- On the fly dataloading by @davkovacs in #81
- Make matscipy default neighbour list by @ilyes319 in #64
- Multi gpu by @ilyes319 in #99
- Slight modification to HDF5Dataset by @sivonxay in #117
- Multi-node, multi-GPU data parallel training. by @samwaltonnorwood in #105
- Multi-processing by @mavaylon1 in #133
- Develop by @ilyes319 in #207
- load_foundations support for max_L other than 2 by @bernstei in #273
- print validation error before any training by @bernstei in #288
- update foundations with develop by @ilyes319 in #299
- Ilyes319 patch 3 by @ilyes319 in #305
- Warning on float64 training with PyTorch 2.1 by @ilyes319 in #306
- Foundations by @ilyes319 in #307
- initial torch.compile support (inference only) by @hatemhelal in #300
- Handle a wider range of possible slurm env vars by @bernstei in #332
- Update plot_train.py by @zhubonan in #352
- add note on mp corrections on energies by @chiang-yuan in #342
- Update compile test case to use larger test system by @hatemhelal in #310
- Adding pre-commit checks and github action runners by @hatemhelal in #302
- Add torch.compile compatiblity by @ilyes319 in #354
- Add an option to set the D3 damping function, which defaults to D3(BJ) by @Andrew-S-Rosen in #268
- Use HTTPS for MACE MP checkpoint URLs by @janosh in #318
- Add multi-GPU, data parallelisation, pair repulsion and distance transforms. by @ilyes319 in #359
- Add multi-GPU dataparallel by @ilyes319 in #74
- Add mutli-GPU training, data parrallelisation, pair repulsion, distance transform and other features by @ilyes319 in #363
- Add metadata saving to compiled model and hot fix stress extraction by @ilyes319 in #387
- Fix workflows check by @ilyes319 in #388
- add GitPython to deps by @ilyes319 in #389
- add pylint to pre-commit by @ilyes319 in #391
- fixed readme typos, and commit by @ilyes319 in #399
- make cli scripts importable from python by @alinelena in #398
- Develop by @ilyes319 in #418
- Improve warning for "energy", "forces" key by @ilyes319 in #419
- log errors and handle checkpoint io on rank 0 only by @jharrymoore in #420
- Fix checkpoint for multi-GPU by @ilyes319 in #421
- removed wront argument parsing in preprocess_data by @VondrakMar in #423
- Fix preprocess data and pylint by @ilyes319 in #424
- fix atom e0s being subtracted twice in mace calculator by @RokasEl in #425
- fix atom e0s being subtracted twice in mace calculator by @ilyes319 in #426
- fix bug test set stress key by @ilyes319 in #428
New Contributors
- @samwaltonnorwood made their first contribution in #105
- @mavaylon1 made their first contribution in #133
- @hatemhelal made their first contribution in #300
- @zhubonan made their first contribution in #352
- @Andrew-S-Rosen made their first contribution in #268
- @alinelena made their first contribution in #398
- @VondrakMar made their first contribution in #423
- @RokasEl made their first contribution in #425
Full Changelog: v0.3.4...v0.3.5
v0.3.4
What's Changed
- update license info of mace-off by @davkovacs in #284
- update mace-off printing info by @ilyes319 in #285
- Add link to github models by @janosh in #290
- Update mace_mp links to include github links by @ilyes319 in #291
- Update readme for foundation models by @ilyes319 in #292
- edit readme example for foundation models by @ilyes319 in #293
- Change stress input + update version by @ilyes319 in #296
Full Changelog: v0.3.3...v0.3.4
0.3.3
What's Changed
- Add small model and warning for float32 accuracy in mace_mp by @ilyes319 in #257
- update the small model to energy model by @ilyes319 in #263
- Add MACE-OFF23 models by @davkovacs in #275
- Add MACE-OFF2023 by @ilyes319 in #277
- Change package name in setup.cfg for PyPI by @ilyes319 in #281
- Change package name in setup.cfg for PyPI by @ilyes319 in #282
- update installation with PyPI by @ilyes319 in #283
Full Changelog: v0.3.2...v0.3.3