Overview
GemNet is a geometric message-passing neural network designed to predict a molecule’s overall energy and the forces acting on its atoms. This repository provides the PyTorch reference implementation, rather than the original TensorFlow 2 implementation, which the README links separately. The project connects the model to its NeurIPS 2021 publication and a subsequent paper examining graph neural network potentials in molecular dynamics.
The repository supports a workflow from model training to molecular prediction and simulation examples. Users configure their work through config.yaml or config_seml.yaml. Training is illustrated in train.ipynb, while predict.ipynb demonstrates predictions for a molecule loaded through ASE. The documented outputs are molecular energy and atomic forces; the source excerpts do not specify the complete input schema, supported chemical coverage or training-data requirements. For cluster workflows, train_seml.py integrates training with Sacred and SEML, and ase_example.ipynb illustrates molecular dynamics use.
An additional preparation step concerns activation scaling at initialization. Users can choose the supplied scaling_factors.json or compute factors with fit_scaling.py; the README states that these factors are shared across GemNet variants. The excerpts establish these workflow components but provide no numerical accuracy results, runtime measurements or demonstrated simulation-stability limits. Prospective users should therefore evaluate suitability for their own molecules and simulation conditions rather than treating the examples as validation of a particular application.
Key Features
- Predicts overall molecular energy and forces on individual atoms using a geometric message-passing neural network.
- Provides a PyTorch reference implementation, with the original TensorFlow 2 implementation linked separately.
- Includes `train.ipynb` for training and `predict.ipynb` for predictions on a molecule loaded through ASE.
- Supports cluster-training workflows through `train_seml.py` with Sacred and SEML.
- Includes `ase_example.ipynb` to demonstrate using GemNet in molecular dynamics simulations.
- Offers precomputed activation-scaling factors in `scaling_factors.json` and a calculation workflow through `fit_scaling.py`.
Use Cases
- Intended evaluation: assess energy and atomic-force predictions for representative molecules using the ASE-based prediction notebook and suitable reference results.
- Intended evaluation: adapt the training notebook and configuration files to a molecular energy-and-force learning study.
- Intended evaluation: explore GemNet’s role in an ASE molecular dynamics workflow, checking behavior under the intended simulation conditions.
- Intended evaluation: assess the Sacred and SEML training workflow for organizing model-training experiments on a cluster.
How to Use
- Read the repository README to identify the PyTorch workflow and its distinction from the separately linked TensorFlow 2 implementation. Review the code licence before adoption.
- Inspect the package setup and the repository’s dependency requirements. The setup declares Python
>=3.8; the source excerpts do not establish a tested environment. - Adjust
config.yamlfor the notebook workflow, orconfig_seml.yamlfor the documented cluster-training route. Consulttrain.ipynbortrain_seml.pyin the repository. - Choose the provided
scaling_factors.jsonor followfit_scaling.pyto compute initialization scaling factors, as described in the README. - Use
predict.ipynbto examine predictions for an ASE-loaded molecule. If simulation is your goal, inspectase_example.ipynbnext. As an intended evaluation step, compare outputs with appropriate reference data before relying on them.