Transfer learning using energy-only datasets with MACE (see ChemRxiv)
Legacy implementation of a simple transfer learning approach using MACE. An more extensive and up-to-date version will be released soon.
Transfer learning can be used to augment the accuracy of a given baseline MACE model to a higher level of theory using a small additional readout layer.
To achieve this, you only need a baseline model.pth
and a dataset of atomic geometries in XYZ format that is labeled with the energy difference between the target level of theory and the baseline level of theory used to train model.pth
.
The train script in scripts/run_train.py
is similar to the original MACE training script except that it takes two additional arguments:
-
base_model
: path to your baseline model which will be modified with an additional energy readout. In this example:--base_model=model.pth
-
delta_MLP
: layer sizes for the additional readout. This follows a similar input format asradial_MLP
and should be a string representation of a list of layer sizes:--delta_MLP="[8, 8]"
Via pip
:
pip install git+https://github.com/molmod/transfermace
Make sure you are using mace v0.3.0
and ase<3.23
.