Skip to main content

Nequix source code

Project description

Nequix

See more information in our preprint.

Usage

Installation

pip install nequix

or for torch

pip install nequix[torch]

ASE calculator

Using nequix.calculator.NequixCalculator, you can perform calculations in ASE with a pre-trained Nequix model.

from nequix.calculator import NequixCalculator

atoms = ...
atoms.calc = NequixCalculator("nequix-mp-1", backend="jax")

or if you want to use the faster PyTorch + kernels backend

...
atoms.calc = NequixCalculator("nequix-mp-1", backend="torch")
...

NequixCalculator

Arguments

  • model_name (str, default "nequix-mp-1"): Pretrained model alias to load or download.
  • model_path (str | Path, optional): Path to local checkpoint; overrides model_name.
  • backend ({"jax", "torch"}, default "jax"): Compute backend.
  • capacity_multiplier (float, default 1.1): JAX-only; padding factor to limit recompiles.
  • use_compile (bool, default True): Torch-only; on GPU, uses torch.compile().
  • use_kernel (bool, default True): Torch-only; on GPU, use OpenEquivariance kernels.

Training

Models are trained with the nequix_train command using a single .yml configuration file:

nequix_train <config>.yml

or for Torch

# Single GPU
uv sync --extra torch
uv run nequix/torch/train.py <config>.yml
# Multi-GPU
uv run torchrun --nproc_per_node=<gpus> nequix/torch/train.py <config>.yml

To reproduce the training of Nequix-MP-1, first clone the repo and sync the environment:

git clone https://github.com/atomicarchitects/nequix.git
cd nequix
uv sync

Then download the MPtrj data from https://figshare.com/files/43302033 into data/ then run the following to extract the data:

bash data/download_mptrj.sh

Preprocess the data into .aselmdb files:

uv run scripts/preprocess_data.py data/mptrj-gga-ggapu data/mptrj-aselmdb

Then start the training run:

nequix_train configs/nequix-mp-1.yml

This will take less than 125 hours on a single 4 x A100 node (<25 hours using the torch + kernels backend). The batch_size in the config is per-device, so you should be able to run this on any number of GPUs (although hyperparameters like learning rate are often sensitive to global batch size, so keep in mind).

Citation

@article{koker2025training,
  title={Training a foundation model for materials on a budget},
  author={Koker, Teddy and Kotak, Mit and Smidt, Tess},
  journal={arXiv preprint arXiv:2508.16067},
  year={2025}
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nequix-0.3.3.tar.gz (32.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nequix-0.3.3-py3-none-any.whl (37.0 kB view details)

Uploaded Python 3

File details

Details for the file nequix-0.3.3.tar.gz.

File metadata

  • Download URL: nequix-0.3.3.tar.gz
  • Upload date:
  • Size: 32.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.9 {"installer":{"name":"uv","version":"0.9.9"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for nequix-0.3.3.tar.gz
Algorithm Hash digest
SHA256 efac542ba8141935f52fdb71fcf1197b418358abb2fa8dcf8407db284599234b
MD5 1af73a6949a47603058919db547e8f71
BLAKE2b-256 e7b42d694ac5d8267a1ef3c61f9e9ada00c8956ae33f5347d4ba7296bb77a9f0

See more details on using hashes here.

File details

Details for the file nequix-0.3.3-py3-none-any.whl.

File metadata

  • Download URL: nequix-0.3.3-py3-none-any.whl
  • Upload date:
  • Size: 37.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.9 {"installer":{"name":"uv","version":"0.9.9"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for nequix-0.3.3-py3-none-any.whl
Algorithm Hash digest
SHA256 88d9a7abed5a70608f8068f61ab1b703fda8a7fbf5206d914d4974d21d1835b2
MD5 2b08d025330e2d0d8feab5990782a532
BLAKE2b-256 03398c98a221107f5eda7d1ca8bcbc43ce71c10d1212760e48710aa8272d0e68

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page