Eqnorm
Introduction
We propose a novel E(3)-equivariant GNN-based MLIP eqnorm, which employs a dual-branch design: one branch updates high-order tensor features to capture geometric symmetries, while the other one refines scalar embeddings by extracting information from the tensor branch.
Figure 1. Eqnorm architecture.
Trained on the MPtrj dataset, eqnorm ranks second among state-of-the-art models on the Matbench Discovery leaderboard for physical property prediction.
Figure 2. Matbench discovery compliant models leaderboard. See Matbench Discovery.
We used the exact benchmark code found in mace_benchmark with mace-torch v0.3.12 (PyPi) to test MD simulation using different MLIPs. To create a fair comparison, all models are benchmarked using the standard Python (3.10) runtime with Pytorch v2.6.0 and CUDA 11.8. No compile/torchscript was used. Notably, eqnorm achieves a fivefold improvement in inference speed over the leading model, eSEN, while enabling simulations of systems threefold larger in size.
Table 1. Inference efficiency test of MD simulation with 1 fs/step on a single Nvidia A40-48G GPU (speed in ns per day / consumed GPU memory).
| Model | 64 atoms | 216 atoms | 512 atoms | 1000 atoms | 1728 atoms |
|---|---|---|---|---|---|
| Eqnorm MPtrj | 0.6729 / 2.0 G | 0.2382 / 5.8 G | 0.1028 / 13.2 G | 0.05311 / 25.3 G | 0.02999 / 44.8 G |
| eSEN-30M-MP | 0.1489 / 12.0 G | 0.04941 / 38.5 G | OOM | OOM | OOM |
| MACE-MP-0 | 2.3171 / 1.3 G | 0.9178 / 3.6 G | 0.4054 / 7.9 G | 0.2130 / 15.2 G | 0.1244 / 25.8 G |
Installation
Requirement
python>=3.10
torch>=2.6.0
torch_scatter
for example, install torch-2.6 with cuda 11.8 and torch_scatter:
conda create -n eqnorm python=3.10
conda activate eqnorm
pip install torch==2.6.0 torchvision==0.21.0 torchaudio==2.6.0 --index-url https://download.pytorch.org/whl/cu118
pip install torch_scatter -f https://data.pyg.org/whl/torch-2.6.0+cu118.html
After installation of PyTorch, run the following command:
pip install git+https://github.com/yzchen08/eqnorm.git
Usage
ase calculator
from eqnorm.calculator import EqnormCalculator
calc = EqnormCalculator(model_name='eqnorm', model_variant='eqnorm-mptrj', device='cuda')
you can check all available ckpt, for now only eqnorm-mptrj is available:
from eqnorm.calculator import EqnormCalculator
print(EqnormCalculator.url_dict)
Metadata
Release files for eqnorm 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| eqnorm-0.1.1.tar.gz | 15.1 kB | Without provenance | Details for eqnorm-0.1.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| eqnorm-0.1.1-py3-none-any.whl | Python 3 | none | any | Details for eqnorm-0.1.1-py3-none-any.whl |
Total release size: 39.9 kB
Release files / eqnorm-0.1.1.tar.gz
| Download URL | eqnorm-0.1.1.tar.gz |
|---|---|
| Size | 15.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
115363b2a6a917a22ebd6c4c044d0f6edee34c4eb736e8a56c8d7e25f8d664f4
|
|
BLAKE2b-256 checksum How to use checksums |
8aa6db44ba5fd648896b0549aff20b33a5ae3d572ee847649650e60829b77260
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.13
|
Release files / eqnorm-0.1.1-py3-none-any.whl
| Download URL | eqnorm-0.1.1-py3-none-any.whl |
|---|---|
| Size | 24.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
41d81edc09b027a708acec61d1a2de6a35e67cb7ead5934429540d70cfeb1548
|
|
BLAKE2b-256 checksum How to use checksums |
e8b37cf16fa2004b2a857946877862d946449efeb251dc9e6d0a427a2009d11c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.13
|
Security for eqnorm 0.1.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.