diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index a60c9fd81..298c37b89 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -5,7 +5,7 @@ ci: repos: - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.3.5 + rev: v0.4.4 hooks: - id: ruff args: [ --fix ] diff --git a/README.md b/README.md index 817b7ce15..018325a58 100644 --- a/README.md +++ b/README.md @@ -35,6 +35,33 @@ pip install -e packages/fairchem-{fairchem-package-name} `fairchem.core` requires you to first create your environment - [Installation Guide](https://fair-chem.github.io/core/install.html) +### Quick Start +Pretrained models can be used directly with ASE through our `OCPCalculator` interface: + +```python +from ase.build import fcc100, add_adsorbate, molecule +from ase.optimize import LBFGS +from fairchem.core import OCPCalculator + +# Set up your system as an ASE atoms object +slab = fcc100('Cu', (3, 3, 3), vacuum=8) +adsorbate = molecule("CO") +add_adsorbate(slab, adsorbate, 2.0, 'bridge') + +calc = OCPCalculator( + model_name="EquiformerV2-31M-S2EF-OC20-All+MD", + local_cache="pretrained_models", + cpu=False, +) +slab.calc = calc + +# Set up LBFGS dynamics object +dyn = LBFGS(slab) +dyn.run(0.05, 100) +``` + +If you are interested in training your own models or fine-tuning on your datasets, visit the [documentation](https://fair-chem.github.io/) for more details and examples. + ### Why a single repository? Since many of our repositories rely heavily on our other repositories, a single repository makes it really easy to test and ensure consistency across repositories. This should also help simplify the installation process for users who are interested in integrating many of the efforts into one place. diff --git a/docs/core/model_checkpoints.md b/docs/core/model_checkpoints.md index df825dcb5..de78a414d 100644 --- a/docs/core/model_checkpoints.md +++ b/docs/core/model_checkpoints.md @@ -1,81 +1,92 @@ -# Pretrained model checkpoints +# Pretrained FAIRChem models This page summarizes all the pretrained models released as part of the [Open Catalyst Project](https://opencatalystproject.org/). All models were trained using this codebase. + +* [Open Catalyst 2020 (OC20)](#open-catalyst-2020-oc20) + * [S2EF models optimized for EFwT](#s2ef-models-optimized-for-efwt) + * [S2EF models optimized for force](#s2ef-models-optimized-for-force-only) + * [IS2RE models](#is2re-models) +* [Open Catalyst 2022 (OC22)](#open-catalyst-2022-oc22) + * [S2EF total models](#s2ef-total-models) +* [Open Direct Air Capture 2023 (ODAC23)](#open-direct-air-capture-2023-odac23) + * [S2EF models](#s2ef-models) + * [IS2RE Direct models](#is2re-direct-models) + * * * -## Open Catalyst 2020 (OC20) +# Open Catalyst 2020 (OC20) -* All configurations for these models are available in the [`configs/`](https://github.com/FAIR-Chem/fairchem/tree/main/src/fairchem/core/configs) directory. +* All configurations for these models are available in the [`configs/`](https://github.com/FAIR-Chem/fairchem/tree/main/configs) directory. * All of these models are trained on various splits of the OC20 S2EF / IS2RE datasets. For details, see [https://arxiv.org/abs/2010.09990](https://arxiv.org/abs/2010.09990) and https://github.com/FAIR-Chem/fairchem/blob/main/DATASET.md. -* All OC20 models are trained on adsorption energies, i.e. the DFT total energies minus the clean surface and gas phase adsorbate energies. For details on how to train models on OC20 total energies, please read the [referencing section here](https://github.com/FAIR-Chem/fairchem/blob/main/DATASET.md#oc20-reference-information). - -### S2EF models: optimized for EFwT - -|Model |Split |Download |val ID force MAE (eV / Å) |val ID EFwT | -|--- |--- |--- |--- |--- | -|CGCNN |200k |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2020_11/s2ef/cgcnn_200k.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/src/fairchem/core/configs/s2ef/200k/cgcnn/cgcnn.yml) |0.08 |0% | -|CGCNN |2M |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2020_11/s2ef/cgcnn_2M.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/src/fairchem/core/configs/s2ef/2M/cgcnn/cgcnn.yml) |0.0673 |0.01% | -|CGCNN |20M |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2020_11/s2ef/cgcnn_20M.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/src/fairchem/core/configs/s2ef/20M/cgcnn/cgcnn.yml) |0.065 |0% | -|CGCNN |All |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2020_11/s2ef/cgcnn_all.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/src/fairchem/core/configs/s2ef/all/cgcnn/cgcnn.yml) |0.0684 |0.01% | -|DimeNet |200k |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2020_11/s2ef/dimenet_200k.pt) |0.0693 |0.01% | -|DimeNet |2M |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2020_11/s2ef/dimenet_2M.pt) |0.0576 |0.02% | -|SchNet |200k |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2020_11/s2ef/schnet_200k.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/src/fairchem/core/configs/s2ef/200k/schnet/schnet.yml) |0.0743 |0% | -|SchNet |2M |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2020_11/s2ef/schnet_2M.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/src/fairchem/core/configs/s2ef/2M/schnet/schnet.yml) |0.0737 |0% | -|SchNet |20M |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2020_11/s2ef/schnet_20M.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/src/fairchem/core/configs/s2ef/20M/schnet/schnet.yml) |0.0568 |0.03% | -|SchNet |All |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2020_11/s2ef/schnet_all_large.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/src/fairchem/core/configs/s2ef/all/schnet/schnet.yml) |0.0494 |0.12% | -|DimeNet++ |200k |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2021_02/s2ef/dimenetpp_200k.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/src/fairchem/core/configs/s2ef/200k/dimenet_plus_plus/dpp.yml) |0.0741 |0% | -|DimeNet++ |2M |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2021_02/s2ef/dimenetpp_2M.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/src/fairchem/core/configs/s2ef/2M/dimenet_plus_plus/dpp.yml) |0.0595 |0.01% | -|DimeNet++ |20M |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2021_02/s2ef/dimenetpp_20M.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/src/fairchem/core/configs/s2ef/20M/dimenet_plus_plus/dpp.yml) |0.0511 |0.06% | -|DimeNet++ |All |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2021_02/s2ef/dimenetpp_all.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/src/fairchem/core/configs/s2ef/all/dimenet_plus_plus/dpp.yml) |0.0444 |0.12% | -|SpinConv |2M |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2021_12/s2ef/spinconv_force_centric_2M.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/src/fairchem/core/configs/s2ef/2M/spinconv/spinconv_force.yml) |0.0329 |0.18% | -|SpinConv |All |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2021_08/s2ef/spinconv_force_centric_all.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/src/fairchem/core/configs/s2ef/all/spinconv/spinconv_force.yml) |0.0267 |1.02% | -|GemNet-dT |2M |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2021_12/s2ef/gemnet_t_direct_h512_2M.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/src/fairchem/core/configs/s2ef/2M/gemnet/gemnet-dT.yml) |0.0257 |1.10% | -|GemNet-dT |All |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2021_08/s2ef/gemnet_t_direct_h512_all.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/src/fairchem/core/configs/s2ef/all/gemnet/gemnet-dT.yml) |0.0211 |2.21% | -|PaiNN |All |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2022_05/s2ef/painn_h512_s2ef_all.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/src/fairchem/core/configs/s2ef/all/painn/painn_h512.yml) \| [scale file](https://github.com/FAIR-Chem/fairchem/blob/main/src/fairchem/core/configs/s2ef/all/painn/painn_nb6_scaling_factors.pt) |0.0294 |0.91% | -|GemNet-OC |2M |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2022_07/s2ef/gemnet_oc_base_s2ef_2M.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/src/fairchem/core/configs/s2ef/2M/gemnet/gemnet-oc.yml) \| [scale file](https://github.com/FAIR-Chem/fairchem/blob/481f3a5a92dc787384ddae9fe3f50f5d932712fd/configs/s2ef/all/gemnet/scaling_factors/gemnet-oc.pt) |0.0225 |2.12% | -|GemNet-OC |All |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2022_07/s2ef/gemnet_oc_base_s2ef_all.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/src/fairchem/core/configs/s2ef/all/gemnet/gemnet-oc.yml) \| [scale file](https://github.com/FAIR-Chem/fairchem/blob/481f3a5a92dc787384ddae9fe3f50f5d932712fd/configs/s2ef/all/gemnet/scaling_factors/gemnet-oc.pt) |0.0179 |4.56% | -|GemNet-OC |All+MD |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2023_03/s2ef/gemnet_oc_base_s2ef_all_md.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/src/fairchem/core/configs/s2ef/all/gemnet/gemnet-oc.yml) \| [scale file](https://github.com/FAIR-Chem/fairchem/blob/481f3a5a92dc787384ddae9fe3f50f5d932712fd/configs/s2ef/all/gemnet/scaling_factors/gemnet-oc.pt) |0.0173 |4.72% | -|GemNet-OC-Large |All+MD |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2022_07/s2ef/gemnet_oc_large_s2ef_all_md.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/src/fairchem/core/configs/s2ef/all/gemnet/gemnet-oc-large.yml) \| [scale file](https://github.com/FAIR-Chem/fairchem/blob/481f3a5a92dc787384ddae9fe3f50f5d932712fd/configs/s2ef/all/gemnet/scaling_factors/gemnet-oc-large.pt) |0.0164 |5.34% | -|SCN |2M |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2023_03/s2ef/scn_t1_b1_s2ef_2M.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/src/fairchem/core/configs/s2ef/2M/scn/scn-t1-b1.yml) |0.0216 |1.68% | -|SCN-t4-b2 |2M |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2023_03/s2ef/scn_t4_b2_s2ef_2M.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/src/fairchem/core/configs/s2ef/2M/scn/scn-t4-b2.yml) |0.0193 |2.68% | -|SCN |All+MD |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2023_03/s2ef/scn_all_md_s2ef.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/src/fairchem/core/configs/s2ef/all/scn/scn-all-md.yml) |0.0160 |5.08% | -|eSCN-L4-M2-Lay12 |2M |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2023_03/s2ef/escn_l4_m2_lay12_2M_s2ef.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/src/fairchem/core/configs/s2ef/2M/escn/eSCN-L4-M2-Lay12.yml) |0.0191 |2.55% | -|eSCN-L6-M2-Lay12 |2M |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2023_03/s2ef/escn_l6_m2_lay12_2M_s2ef.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/src/fairchem/core/configs/s2ef/2M/escn/eSCN-L6-M2-Lay12.yml) |0.0186 |2.66% | -|eSCN-L6-M2-Lay12 |All+MD |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2023_03/s2ef/escn_l6_m2_lay12_all_md_s2ef.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/src/fairchem/core/configs/s2ef/all/escn/eSCN-L6-M2-Lay12-All-MD.yml) |0.0161 |4.28% | -|eSCN-L6-M3-Lay20 |All+MD |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2023_03/s2ef/escn_l6_m3_lay20_all_md_s2ef.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/src/fairchem/core/configs/s2ef/all/escn/eSCN-L6-M3-Lay20-All-MD.yml) |0.0139 |6.64% | -|EquiformerV2 (83M) |2M |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2023_06/oc20/s2ef/eq2_83M_2M.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/src/fairchem/core/configs/s2ef/2M/equiformer_v2/equiformer_v2_N@12_L@6_M@2.yml) |0.0167 |4.26% | -|EquiformerV2 (31M) |All+MD |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2023_06/oc20/s2ef/eq2_31M_ec4_allmd.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/src/fairchem/core/configs/s2ef/all/equiformer_v2/equiformer_v2_N@8_L@4_M@2_31M.yml) |0.0142 |6.20% | -|EquiformerV2 (153M) |All+MD |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2023_06/oc20/s2ef/eq2_153M_ec4_allmd.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/src/fairchem/core/configs/s2ef/all/equiformer_v2/equiformer_v2_N@20_L@6_M@3_153M.yml) |0.0126 |8.90% | - -### S2EF models: optimized for force only - -|Model |Split |Download |val ID force MAE | -|--- |--- |--- |--- | -|SchNet |All |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2020_11/s2ef/schnet_all_forceonly.pt) |0.0443 | -|DimeNet++ |All |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2020_11/s2ef/dimenetpp_all_forceonly.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/src/fairchem/core/configs/s2ef/all/dimenet_plus_plus/dpp_forceonly.yml) |0.0334 | -|DimeNet++-Large |All |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2021_02/s2ef/dimenetpp_large_all_forceonly.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/src/fairchem/core/configs/s2ef/all/dimenet_plus_plus/dpp10.7M_forceonly.yml) |0.02825 | -|DimeNet++ |20M+Rattled |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2021_02/s2ef/dimenetpp_20M_rattled_forceonly.pt) |0.0614 | -|DimeNet++ |20M+MD |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2021_02/s2ef/dimenetpp_20M_md_forceonly.pt) |0.0594 | - -### IS2RE models - -|Model |Split |Download |val ID energy MAE | -|--- |--- |--- |--- | -|CGCNN |10k |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2021_02/is2re/cgcnn_10k.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/src/fairchem/core/configs/is2re/10k/cgcnn/cgcnn.yml) |0.9881 | -|CGCNN |100k |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2021_02/is2re/cgcnn_100k.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/src/fairchem/core/configs/is2re/100k/cgcnn/cgcnn.yml) |0.682 | -|CGCNN |All |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2021_02/is2re/cgcnn_all.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/src/fairchem/core/configs/is2re/all/cgcnn/cgcnn.yml) |0.6199 | -|DimeNet |10k |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2020_11/is2re/dimenet_10k.pt) |1.0117 | -|DimeNet |100k |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2020_11/is2re/dimenet_100k.pt) |0.6658 | -|DimeNet |All |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2020_11/is2re/dimenet_all.pt) |0.5999 | -|SchNet |10k |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2021_02/is2re/schnet_10k.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/src/fairchem/core/configs/is2re/10k/schnet/schnet.yml) |1.059 | -|SchNet |100k |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2021_02/is2re/schnet_100k.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/src/fairchem/core/configs/is2re/100k/schnet/schnet.yml) |0.7137 | -|SchNet |All |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2021_02/is2re/schnet_all.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/src/fairchem/core/configs/is2re/all/schnet/schnet.yml) |0.6458 | -|DimeNet++ |10k |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2021_02/is2re/dimenetpp_10k.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/src/fairchem/core/configs/is2re/10k/dimenet_plus_plus/dpp.yml) |0.8837 | -|DimeNet++ |100k |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2021_02/is2re/dimenetpp_100k.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/src/fairchem/core/configs/is2re/100k/dimenet_plus_plus/dpp.yml) |0.6388 | -|DimeNet++ |All |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2021_02/is2re/dimenetpp_all.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/src/fairchem/core/configs/is2re/all/dimenet_plus_plus/dpp.yml) |0.5639 | -|PaiNN |All |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2022_05/is2re/painn_h1024_bs4x8_is2re_all.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/src/fairchem/core/configs/is2re/all/painn/painn_h1024_bs8x4.yml) \| [scale file](https://github.com/FAIR-Chem/fairchem/blob/main/src/fairchem/core/configs/s2ef/all/painn/painn_nb6_scaling_factors.pt) |0.5728 | +* All OC20 models are trained on adsorption energies, i.e. the DFT total energies minus the clean surface and gas phase adsorbate energies. For details on how to train models on OC20 total energies, please read the [referencing section here](https://fair-chem.github.io/core/datasets/oc20.html). + +## S2EF models: optimized for EFwT + +| Model Name | Model | Split |Download |val ID force MAE (eV / Å) |val ID EFwT | +|-------------------------------------|---------------------|--------|--- |--- |--- | +| CGCNN-S2EF-OC20-200k | CGCNN | 200k |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2020_11/s2ef/cgcnn_200k.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/configs/s2ef/200k/cgcnn/cgcnn.yml) |0.08 |0% | +| CGCNN-S2EF-OC20-2M | CGCNN | 2M |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2020_11/s2ef/cgcnn_2M.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/configs/s2ef/2M/cgcnn/cgcnn.yml) |0.0673 |0.01% | +| CGCNN-S2EF-OC20-20M | CGCNN | 20M |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2020_11/s2ef/cgcnn_20M.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/configs/s2ef/20M/cgcnn/cgcnn.yml) |0.065 |0% | +| CGCNN-S2EF-OC20-All | CGCNN | All |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2020_11/s2ef/cgcnn_all.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/configs/s2ef/all/cgcnn/cgcnn.yml) |0.0684 |0.01% | +| DimeNet-S2EF-OC20-200k | DimeNet | 200k |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2020_11/s2ef/dimenet_200k.pt) |0.0693 |0.01% | +| DimeNet-S2EF-OC20-2M | DimeNet | 2M |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2020_11/s2ef/dimenet_2M.pt) |0.0576 |0.02% | +| SchNet-S2EF-OC20-200k | SchNet | 200k |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2020_11/s2ef/schnet_200k.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/configs/s2ef/200k/schnet/schnet.yml) |0.0743 |0% | +| SchNet-S2EF-OC20-2M | SchNet | 2M |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2020_11/s2ef/schnet_2M.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/configs/s2ef/2M/schnet/schnet.yml) |0.0737 |0% | +| SchNet-S2EF-OC20-20M | SchNet | 20M |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2020_11/s2ef/schnet_20M.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/configs/s2ef/20M/schnet/schnet.yml) |0.0568 |0.03% | +| SchNet-S2EF-OC20-All | SchNet | All |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2020_11/s2ef/schnet_all_large.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/configs/s2ef/all/schnet/schnet.yml) |0.0494 |0.12% | +| DimeNet++-S2EF-OC20-200k | DimeNet++ | 200k |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2021_02/s2ef/dimenetpp_200k.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/configs/s2ef/200k/dimenet_plus_plus/dpp.yml) |0.0741 |0% | +| DimeNet++-S2EF-OC20-2M | DimeNet++ | 2M |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2021_02/s2ef/dimenetpp_2M.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/configs/s2ef/2M/dimenet_plus_plus/dpp.yml) |0.0595 |0.01% | +| DimeNet++-S2EF-OC20-20M | DimeNet++ | 20M |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2021_02/s2ef/dimenetpp_20M.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/configs/s2ef/20M/dimenet_plus_plus/dpp.yml) |0.0511 |0.06% | +| DimeNet++-S2EF-OC20-All | DimeNet++ | All |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2021_02/s2ef/dimenetpp_all.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/configs/s2ef/all/dimenet_plus_plus/dpp.yml) |0.0444 |0.12% | +| SpinConv-S2EF-OC20-2M | SpinConv | 2M |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2021_12/s2ef/spinconv_force_centric_2M.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/configs/s2ef/2M/spinconv/spinconv_force.yml) |0.0329 |0.18% | +| SpinConv-S2EF-OC20-All | SpinConv | All |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2021_08/s2ef/spinconv_force_centric_all.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/configs/s2ef/all/spinconv/spinconv_force.yml) |0.0267 |1.02% | +| GemNet-dT-S2EF-OC20-2M | GemNet-dT | 2M |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2021_12/s2ef/gemnet_t_direct_h512_2M.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/configs/s2ef/2M/gemnet/gemnet-dT.yml) |0.0257 |1.10% | +| GemNet-dT-S2EF-OC20-All | GemNet-dT | All |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2021_08/s2ef/gemnet_t_direct_h512_all.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/configs/s2ef/all/gemnet/gemnet-dT.yml) |0.0211 |2.21% | +| PaiNN-S2EF-OC20-All | PaiNN | All |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2022_05/s2ef/painn_h512_s2ef_all.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/configs/s2ef/all/painn/painn_h512.yml) \| [scale file](https://github.com/FAIR-Chem/fairchem/blob/main/configs/s2ef/all/painn/painn_nb6_scaling_factors.pt) |0.0294 |0.91% | +| GemNet-OC-S2EF-OC20-2M | GemNet-OC | 2M |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2022_07/s2ef/gemnet_oc_base_s2ef_2M.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/configs/s2ef/2M/gemnet/gemnet-oc.yml) \| [scale file](https://github.com/FAIR-Chem/fairchem/blob/481f3a5a92dc787384ddae9fe3f50f5d932712fd/configs/s2ef/all/gemnet/scaling_factors/gemnet-oc.pt) |0.0225 |2.12% | +| GemNet-OC-S2EF-OC20-All | GemNet-OC | All |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2022_07/s2ef/gemnet_oc_base_s2ef_all.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/configs/s2ef/all/gemnet/gemnet-oc.yml) \| [scale file](https://github.com/FAIR-Chem/fairchem/blob/481f3a5a92dc787384ddae9fe3f50f5d932712fd/configs/s2ef/all/gemnet/scaling_factors/gemnet-oc.pt) |0.0179 |4.56% | +| GemNet-OC-S2EF-OC20-All+MD | GemNet-OC | All+MD |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2023_03/s2ef/gemnet_oc_base_s2ef_all_md.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/configs/s2ef/all/gemnet/gemnet-oc.yml) \| [scale file](https://github.com/FAIR-Chem/fairchem/blob/481f3a5a92dc787384ddae9fe3f50f5d932712fd/configs/s2ef/all/gemnet/scaling_factors/gemnet-oc.pt) |0.0173 |4.72% | +| GemNet-OC-Large-S2EF-OC20-All+MD | GemNet-OC-Large | All+MD |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2022_07/s2ef/gemnet_oc_large_s2ef_all_md.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/configs/s2ef/all/gemnet/gemnet-oc-large.yml) \| [scale file](https://github.com/FAIR-Chem/fairchem/blob/481f3a5a92dc787384ddae9fe3f50f5d932712fd/configs/s2ef/all/gemnet/scaling_factors/gemnet-oc-large.pt) |0.0164 |5.34% | +| SCN-S2EF-OC20-2M | SCN | 2M |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2023_03/s2ef/scn_t1_b1_s2ef_2M.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/configs/s2ef/2M/scn/scn-t1-b1.yml) |0.0216 |1.68% | +| SCN-t4-b2-S2EF-OC20-2M | SCN-t4-b2 | 2M |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2023_03/s2ef/scn_t4_b2_s2ef_2M.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/configs/s2ef/2M/scn/scn-t4-b2.yml) |0.0193 |2.68% | +| SCN-S2EF-OC20-All+MD | SCN | All+MD |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2023_03/s2ef/scn_all_md_s2ef.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/configs/s2ef/all/scn/scn-all-md.yml) |0.0160 |5.08% | +| eSCN-L4-M2-Lay12-S2EF-OC20-2M | eSCN-L4-M2-Lay12 | 2M |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2023_03/s2ef/escn_l4_m2_lay12_2M_s2ef.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/configs/s2ef/2M/escn/eSCN-L4-M2-Lay12.yml) |0.0191 |2.55% | +| eSCN-L6-M2-Lay12-S2EF-OC20-2M | eSCN-L6-M2-Lay12 | 2M |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2023_03/s2ef/escn_l6_m2_lay12_2M_s2ef.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/configs/s2ef/2M/escn/eSCN-L6-M2-Lay12.yml) |0.0186 |2.66% | +| eSCN-L6-M2-Lay12-S2EF-OC20-All+MD | eSCN-L6-M2-Lay12 | All+MD |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2023_03/s2ef/escn_l6_m2_lay12_all_md_s2ef.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/configs/s2ef/all/escn/eSCN-L6-M2-Lay12-All-MD.yml) |0.0161 |4.28% | +| eSCN-L6-M3-Lay20-S2EF-OC20-All+MD | eSCN-L6-M3-Lay20 | All+MD |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2023_03/s2ef/escn_l6_m3_lay20_all_md_s2ef.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/configs/s2ef/all/escn/eSCN-L6-M3-Lay20-All-MD.yml) |0.0139 |6.64% | +| EquiformerV2-83M-S2EF-OC20-2M | EquiformerV2 (83M) | 2M |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2023_06/oc20/s2ef/eq2_83M_2M.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/configs/s2ef/2M/equiformer_v2/equiformer_v2_N@12_L@6_M@2.yml) |0.0167 |4.26% | +| EquiformerV2-31M-S2EF-OC20-All+MD | EquiformerV2 (31M) | All+MD |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2023_06/oc20/s2ef/eq2_31M_ec4_allmd.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/configs/s2ef/all/equiformer_v2/equiformer_v2_N@8_L@4_M@2_31M.yml) |0.0142 |6.20% | +| EquiformerV2-153M-S2EF-OC20-All+MD | EquiformerV2 (153M) | All+MD |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2023_06/oc20/s2ef/eq2_153M_ec4_allmd.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/configs/s2ef/all/equiformer_v2/equiformer_v2_N@20_L@6_M@3_153M.yml) |0.0126 |8.90% | + +## S2EF models: optimized for force only + +| Model Name |Model |Split |Download |val ID force MAE | +|--------------------------------------|--- |--- |--- |--- | +| SchNet-S2EF-force-only-OC20-All |SchNet |All |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2020_11/s2ef/schnet_all_forceonly.pt) |0.0443 | +| DimeNet++-force-only-OC20-All | DimeNet++ |All |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2020_11/s2ef/dimenetpp_all_forceonly.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/configs/s2ef/all/dimenet_plus_plus/dpp_forceonly.yml) |0.0334 | +| DimeNet++-Large-S2EF-force-only-OC20-All | DimeNet++-Large |All |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2021_02/s2ef/dimenetpp_large_all_forceonly.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/configs/s2ef/all/dimenet_plus_plus/dpp10.7M_forceonly.yml) |0.02825 | +| DimeNet++-S2EF-force-only-OC20-20M+Rattled | DimeNet++ |20M+Rattled |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2021_02/s2ef/dimenetpp_20M_rattled_forceonly.pt) |0.0614 | +| DimeNet++-S2EF-force-only-OC20-20M+MD | DimeNet++ |20M+MD |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2021_02/s2ef/dimenetpp_20M_md_forceonly.pt) |0.0594 | + +## IS2RE models + +| Model Name | Model | Split |Download |val ID energy MAE | +|---------------------------|------------|--------|--- |--- | +| CGCNN-IS2RE-OC20-10k | CGCNN | 10k |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2021_02/is2re/cgcnn_10k.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/configs/is2re/10k/cgcnn/cgcnn.yml) |0.9881 | +| CGCNN-IS2RE-OC20-100k | CGCNN | 100k |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2021_02/is2re/cgcnn_100k.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/configs/is2re/100k/cgcnn/cgcnn.yml) |0.682 | +| CGCNN-IS2RE-OC20-All | CGCNN | All |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2021_02/is2re/cgcnn_all.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/configs/is2re/all/cgcnn/cgcnn.yml) |0.6199 | +| DimeNet-IS2RE-OC20-10k | DimeNet | 10k |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2020_11/is2re/dimenet_10k.pt) |1.0117 | +| DimeNet-IS2RE-OC20-100k | DimeNet | 100k |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2020_11/is2re/dimenet_100k.pt) |0.6658 | +| DimeNet-IS2RE-OC20-all | DimeNet | All |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2020_11/is2re/dimenet_all.pt) |0.5999 | +| SchNet-IS2RE-OC20-10k | SchNet | 10k |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2021_02/is2re/schnet_10k.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/configs/is2re/10k/schnet/schnet.yml) |1.059 | +| SchNet-IS2RE-OC20-100k | SchNet | 100k |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2021_02/is2re/schnet_100k.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/configs/is2re/100k/schnet/schnet.yml) |0.7137 | +| SchNet-IS2RE-OC20-All | SchNet | All |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2021_02/is2re/schnet_all.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/configs/is2re/all/schnet/schnet.yml) |0.6458 | +| DimeNet++-IS2RE-OC20-10k | DimeNet++ | 10k |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2021_02/is2re/dimenetpp_10k.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/configs/is2re/10k/dimenet_plus_plus/dpp.yml) |0.8837 | +| DimeNet++-IS2RE-OC20-100k | DimeNet++ | 100k |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2021_02/is2re/dimenetpp_100k.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/configs/is2re/100k/dimenet_plus_plus/dpp.yml) |0.6388 | +| DimeNet++-IS2RE-OC20-All | DimeNet++ | All |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2021_02/is2re/dimenetpp_all.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/configs/is2re/all/dimenet_plus_plus/dpp.yml) |0.5639 | +| PaiNN-IS2RE-OC20-All | PaiNN | All |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2022_05/is2re/painn_h1024_bs4x8_is2re_all.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/configs/is2re/all/painn/painn_h1024_bs8x4.yml) \| [scale file](https://github.com/FAIR-Chem/fairchem/blob/main/configs/s2ef/all/painn/painn_nb6_scaling_factors.pt) |0.5728 | The Open Catalyst 2020 (OC20) dataset is licensed under a [Creative Commons Attribution 4.0 License](https://creativecommons.org/licenses/by/4.0/legalcode). @@ -92,23 +103,23 @@ OC20 dataset or pretrained models, as well as the original paper for each model: } ``` -## Open Catalyst 2022 (OC22) +# Open Catalyst 2022 (OC22) -* All configurations for these models are available in the [`configs/oc22`](https://github.com/FAIR-Chem/fairchem/tree/main/src/fairchem/core/configs/oc22) directory. +* All configurations for these models are available in the [`configs/oc22`](https://github.com/FAIR-Chem/fairchem/tree/main/configs/oc22) directory. * All of these models are trained on various splits of the OC22 S2EF / IS2RE datasets. For details, see [https://arxiv.org/abs/2206.08917](https://arxiv.org/abs/2206.08917) and https://github.com/FAIR-Chem/fairchem/blob/main/DATASET.md. * All OC22 models released here are trained on DFT total energies, in contrast to the OC20 models listed above, which are trained on adsorption energies. -### S2EF-Total models +## S2EF-Total models -|Model |Training |Download |val ID force MAE |val ID energy MAE | -|--- |--- |--- |--- |--- | -|GemNet-dT | OC22 |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2022_09/oc22/s2ef/gndt_oc22_all_s2ef.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/src/fairchem/core/configs/oc22/s2ef/gemnet-dt/gemnet-dT.yml) |0.032 |1.127 | -|GemNet-OC | OC22 |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2022_09/oc22/s2ef/gnoc_oc22_all_s2ef.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/src/fairchem/core/configs/oc22/s2ef/gemnet-oc/gemnet_oc.yml) |0.030 |0.563 | -|GemNet-OC | OC20+OC22 |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2022_09/oc22/s2ef/gnoc_oc22_oc20_all_s2ef.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/src/fairchem/core/configs/oc22/s2ef/gemnet-oc/gemnet_oc_oc20_oc22.yml) |0.027 |0.483 | -|GemNet-OC
(trained with `enforce_max_neighbors_strictly=False`, [#467](https://github.com/FAIR-Chem/fairchem/pull/467)) | OC20+OC22 |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2023_05/oc22/s2ef/gnoc_oc22_oc20_all_s2ef.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/src/fairchem/core/configs/oc22/s2ef/gemnet-oc/gemnet_oc_oc20_oc22_degen_edges.yml) |0.027 |0.458 | -|GemNet-OC | OC20->OC22 |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2022_09/oc22/s2ef/gnoc_finetune_all_s2ef.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/src/fairchem/core/configs/oc22/s2ef/gemnet-oc/gemnet_oc_finetune.yml) |0.030 |0.417 | -|EquiformerV2 ($\lambda_E$=4, $\lambda_F$=100) | OC22 | [checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2023_10/oc22/s2ef/eq2_121M_e4_f100_oc22_s2ef.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/src/fairchem/core/configs/oc22/s2ef/equiformer_v2/equiformer_v2_N@18_L@6_M@2_e4_f100_121M.yml) | 0.023 | 0.447 +| Model Name |Model |Training |Download |val ID force MAE |val ID energy MAE | +|-----------------------------------|--- |--- |--- |--- |--- | +| GemNet-dT-S2EFS-OC22 |GemNet-dT | OC22 |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2022_09/oc22/s2ef/gndt_oc22_all_s2ef.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/configs/oc22/s2ef/gemnet-dt/gemnet-dT.yml) |0.032 |1.127 | +| GemNet-OC-S2EFS-OC22 | GemNet-OC | OC22 |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2022_09/oc22/s2ef/gnoc_oc22_all_s2ef.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/configs/oc22/s2ef/gemnet-oc/gemnet_oc.yml) |0.030 |0.563 | +| GemNet-OC-S2EFS-OC20+OC22 | GemNet-OC | OC20+OC22 |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2022_09/oc22/s2ef/gnoc_oc22_oc20_all_s2ef.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/configs/oc22/s2ef/gemnet-oc/gemnet_oc_oc20_oc22.yml) |0.027 |0.483 | +| GemNet-OC-S2EFS-nsn-OC20+OC22 | GemNet-OC
(trained with `enforce_max_neighbors_strictly=False`, [#467](https://github.com/FAIR-Chem/fairchem/pull/467)) | OC20+OC22 |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2023_05/oc22/s2ef/gnoc_oc22_oc20_all_s2ef.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/configs/oc22/s2ef/gemnet-oc/gemnet_oc_oc20_oc22_degen_edges.yml) |0.027 |0.458 | +| GemNet-OC-S2EFS-OC20->OC22 | GemNet-OC | OC20->OC22 |[checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2022_09/oc22/s2ef/gnoc_finetune_all_s2ef.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/configs/oc22/s2ef/gemnet-oc/gemnet_oc_finetune.yml) |0.030 |0.417 | +| EquiformerV2-lE4-lF100-S2EFS-OC22 | EquiformerV2 ($\lambda_E$=4, $\lambda_F$=100) | OC22 | [checkpoint](https://dl.fbaipublicfiles.com/opencatalystproject/models/2023_10/oc22/s2ef/eq2_121M_e4_f100_oc22_s2ef.pt) \| [config](https://github.com/FAIR-Chem/fairchem/blob/main/configs/oc22/s2ef/equiformer_v2/equiformer_v2_N@18_L@6_M@2_e4_f100_121M.yml) | 0.023 | 0.447 The Open Catalyst 2022 (OC22) dataset is licensed under a [Creative Commons Attribution 4.0 License](https://creativecommons.org/licenses/by/4.0/legalcode). @@ -126,31 +137,31 @@ OC22 dataset or pretrained models, as well as the original paper for each model: ## Open Direct Air Capture 2023 (ODAC23) -* All config files for the ODAC23 models are available in the [`configs/odac`](https://github.com/FAIR-Chem/fairchem/tree/main/src/fairchem/core/configs/odac) directory. +* All config files for the ODAC23 models are available in the [`configs/odac`](https://github.com/FAIR-Chem/fairchem/tree/main/configs/odac) directory. -### S2EF models +## S2EF models -|Model |Checkpoint | Config | -|--- |--- |--- | -|SchNet | [checkpoint](https://dl.fbaipublicfiles.com/dac/checkpoints_20231018/Schnet.pt) | [config](https://github.com/FAIR-Chem/fairchem/tree/main/src/fairchem/core/configs/odac/s2ef/schnet.yml) | -|DimeNet++ | [checkpoint](https://dl.fbaipublicfiles.com/dac/checkpoints_20231018/DimenetPP.pt) | [config](https://github.com/FAIR-Chem/fairchem/tree/main/src/fairchem/core/configs/odac/s2ef/dpp.yml) | -|PaiNN | [checkpoint](https://dl.fbaipublicfiles.com/dac/checkpoints_20231018/PaiNN.pt) | [config](https://github.com/FAIR-Chem/fairchem/tree/main/src/fairchem/core/configs/odac/s2ef/painn.yml) | -|GemNet-OC | [checkpoint](https://dl.fbaipublicfiles.com/dac/checkpoints_20231018/Gemnet-OC.pt) | [config](https://github.com/FAIR-Chem/fairchem/tree/main/src/fairchem/core/configs/odac/s2ef/gemnet-oc.yml) | -|eSCN | [checkpoint](https://dl.fbaipublicfiles.com/dac/checkpoints_20231018/eSCN.pt) | [config](https://github.com/FAIR-Chem/fairchem/tree/main/src/fairchem/core/configs/odac/s2ef/eSCN.yml) | -|EquiformerV2 | [checkpoint](https://dl.fbaipublicfiles.com/dac/checkpoints_20231116/eqv2_31M.pt) | [config](https://github.com/FAIR-Chem/fairchem/tree/main/src/fairchem/core/configs/odac/s2ef/eqv2_31M.yml) | -|EquiformerV2 (Large) | [checkpoint](https://dl.fbaipublicfiles.com/dac/checkpoints_20231018/Equiformer_V2_Large.pt) | [config](https://github.com/FAIR-Chem/fairchem/tree/main/src/fairchem/core/configs/odac/s2ef/eqv2_153M.yml) | +| Model Name |Model |Checkpoint | Config | +|------------------------------|--- |--- |--- | +| SchNet-S2EF-ODAC | SchNet | [checkpoint](https://dl.fbaipublicfiles.com/dac/checkpoints_20231018/Schnet.pt) | [config](https://github.com/FAIR-Chem/fairchem/tree/main/configs/odac/s2ef/schnet.yml) | +| DimeNet++-S2EF-ODAC | DimeNet++ | [checkpoint](https://dl.fbaipublicfiles.com/dac/checkpoints_20231018/DimenetPP.pt) | [config](https://github.com/FAIR-Chem/fairchem/tree/main/configs/odac/s2ef/dpp.yml) | +| PaiNN-S2EF-ODAC | PaiNN | [checkpoint](https://dl.fbaipublicfiles.com/dac/checkpoints_20231018/PaiNN.pt) | [config](https://github.com/FAIR-Chem/fairchem/tree/main/configs/odac/s2ef/painn.yml) | +| GemNet-OC-S2EF-ODAC | GemNet-OC | [checkpoint](https://dl.fbaipublicfiles.com/dac/checkpoints_20231018/Gemnet-OC.pt) | [config](https://github.com/FAIR-Chem/fairchem/tree/main/configs/odac/s2ef/gemnet-oc.yml) | +| eSCN-S2EF-ODAC | eSCN | [checkpoint](https://dl.fbaipublicfiles.com/dac/checkpoints_20231018/eSCN.pt) | [config](https://github.com/FAIR-Chem/fairchem/tree/main/configs/odac/s2ef/eSCN.yml) | +| EquiformerV2-S2EF-ODAC | EquiformerV2 | [checkpoint](https://dl.fbaipublicfiles.com/dac/checkpoints_20231116/eqv2_31M.pt) | [config](https://github.com/FAIR-Chem/fairchem/tree/main/configs/odac/s2ef/eqv2_31M.yml) | +| EquiformerV2-Large-S2EF-ODAC | EquiformerV2 (Large) | [checkpoint](https://dl.fbaipublicfiles.com/dac/checkpoints_20231018/Equiformer_V2_Large.pt) | [config](https://github.com/FAIR-Chem/fairchem/tree/main/configs/odac/s2ef/eqv2_153M.yml) | -### IS2RE Direct models +## IS2RE Direct models -|Model |Checkpoint | Config | -|--- |--- | --- | -|Gemnet-OC (Direct) | [checkpoint](https://dl.fbaipublicfiles.com/dac/checkpoints_20231018/Gemnet-OC_Direct.pt) | [config](https://github.com/FAIR-Chem/fairchem/tree/main/src/fairchem/core/configs/odac/is2re/gemnet-oc.yml) | -|eSCN (Direct) | [checkpoint](https://dl.fbaipublicfiles.com/dac/checkpoints_20231018/eSCN_Direct.pt) | [config](https://github.com/FAIR-Chem/fairchem/tree/main/src/fairchem/core/configs/odac/is2re/eSCN.yml) | -|EquiformerV2 (Direct) | [checkpoint](https://dl.fbaipublicfiles.com/dac/checkpoints_20231018/Equiformer_V2_Direct.pt) | [config](https://github.com/FAIR-Chem/fairchem/tree/main/src/fairchem/core/configs/odac/is2re/eqv2_31M.yml) | +| Model Name | Model |Checkpoint | Config | +|-------------------------|--------------|--- | --- | +| Gemnet-OC-IS2RE-ODAC | Gemnet-OC | [checkpoint](https://dl.fbaipublicfiles.com/dac/checkpoints_20231018/Gemnet-OC_Direct.pt) | [config](https://github.com/FAIR-Chem/fairchem/tree/main/configs/odac/is2re/gemnet-oc.yml) | +| eSCN-IS2RE-ODAC | eSCN | [checkpoint](https://dl.fbaipublicfiles.com/dac/checkpoints_20231018/eSCN_Direct.pt) | [config](https://github.com/FAIR-Chem/fairchem/tree/main/configs/odac/is2re/eSCN.yml) | +| EquiformerV2-IS2RE-ODAC | EquiformerV2 | [checkpoint](https://dl.fbaipublicfiles.com/dac/checkpoints_20231018/Equiformer_V2_Direct.pt) | [config](https://github.com/FAIR-Chem/fairchem/tree/main/configs/odac/is2re/eqv2_31M.yml) | The models in the table above were trained to predict relaxed energy directly. Relaxed energies can also be predicted by running structural relaxations using the S2EF models from the previous section. -### IS2RS +## IS2RS The IS2RS is solved by running structural relaxations using the S2EF models from the prior section. diff --git a/src/fairchem/core/__init__.py b/src/fairchem/core/__init__.py index fb631c62f..5886431f6 100644 --- a/src/fairchem/core/__init__.py +++ b/src/fairchem/core/__init__.py @@ -9,6 +9,10 @@ from importlib.metadata import PackageNotFoundError, version +from fairchem.core.common.relaxation.ase_utils import OCPCalculator + +__all__ = ["OCPCalculator"] + try: __version__ = version("fairchem.core") except PackageNotFoundError: diff --git a/src/fairchem/core/common/relaxation/ase_utils.py b/src/fairchem/core/common/relaxation/ase_utils.py index a5dd38966..518cc6308 100644 --- a/src/fairchem/core/common/relaxation/ase_utils.py +++ b/src/fairchem/core/common/relaxation/ase_utils.py @@ -89,6 +89,11 @@ def __init__( Path to yaml config or could be a dictionary. checkpoint_path (str): Path to trained checkpoint. + model_name (str): + Model name to use. Pretrained model checkpoint will be + downloaded if not found in your local_cache. + local_cache (str): + Directory to save pretrained model checkpoints. trainer (str): OCP trainer to be used. "forces" for S2EF, "energy" for IS2RE. cutoff (int): @@ -103,9 +108,14 @@ def __init__( Calculator.__init__(self) if model_name is not None: + if checkpoint_path is not None: + raise RuntimeError( + "model_name and checkpoint_path were both specified, please use only one at a time" + ) if local_cache is None: - logging.error("Local cahce must be set when using model name") - return + raise NotImplementedError( + "Local cache must be set when specifying a model name" + ) checkpoint_path = model_name_to_local_file( model_name=model_name, local_cache=local_cache )