Skip to main content

Atomistic Learned Potential Package in JAX

Project description

apax: Atomistic learned Potentials in JAX!

Read the Docs DOI Code style: black License: MIT

apax[1] is a high-performance, extendable package for training of and inference with atomistic neural networks. It implements the Gaussian Moment Neural Network model [2, 3]. It is based on JAX and uses JaxMD as a molecular dynamics engine.

Installation

Apax is available on PyPI with a CPU version of JAX.

pip install apax

For more detailed instructions, please refer to the documentation.

CUDA Support

If you want to enable GPU support (only on Linux), please overwrite the jaxlib version:

CUDA 12:

pip install --upgrade "jax[cuda12_pip]" -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html

CUDA 11:

pip install --upgrade "jax[cuda11_pip]" -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html

See the Jax installation instructions for more details.

Usage

Your first apax Model

In order to train a model, you need to run

apax train config.yaml

We offer some input file templates to get new users started as quickly as possible. Simply run the following commands and add the appropriate entries in the marked fields

apax template train # use --full for a template with all input options

Please refer to the documentation LINK for a detailed explanation of all parameters. The documentation can convenienty be accessed by running apax docs.

Molecular Dynamics

There are two ways in which apax models can be used for molecular dynamics out of the box. High performance NVT simulations using JaxMD can be started with the CLI by running

apax md config.yaml md_config.yaml

A template command for MD input files is provided as well.

The second way is to use the ASE calculator provided in apax.md.

Input File Auto-Completion

use the following command to generate JSON schemata for training and validation files:

apax schema

If you are using VSCode, you can utilize them to lint and autocomplete your input files by including them in .vscode/settings.json

{
    "yaml.schemas": {

        "/absolute/path/to/apaxtrain.schema.json": [
            "train.yaml"
        ]
        ,
        "/absolute/path/to/apaxmd.schema.json": [
            "md.yaml"
        ]
    }
}

Authors

  • Moritz René Schäfer
  • Nico Segreto

Under the supervion of Johannes Kästner

Contributing

We are happy to receive your issues and pull requests!

Do not hesitate to contact any of the authors above if you have any further questions.

Acknowledgements

The creation of Apax was supported by the Deutsche Forschungsgemeinschaft (DFG, German Research Foundation) in the framework of the priority program SPP 2363, “Utilization and Development of Machine Learning for Molecular Applications - Molecular Machine Learning” Project No. 497249646 and the Ministry of Science, Research and the Arts Baden-Württemberg in the Artificial Intelligence Software Academy (AISA). Further funding though the DFG under Germany's Excellence Strategy - EXC 2075 - 390740016 and the Stuttgart Center for Simulation Science (SimTech) was provided.

References

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

apax-0.4.0.tar.gz (100.0 kB view hashes)

Uploaded Source

Built Distribution

apax-0.4.0-py3-none-any.whl (124.5 kB view hashes)

Uploaded Python 3

Supported by

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