Skip to content

SchNetPack

Kristof T. Schuett, Michael Gastegger, Stefaan Hessmann, Niklas Gebauer, Jonas Lederer

SchNetPack is a Python toolkit for building and training atomistic neural networks, with SchNet and PaiNN representations, quantum-chemical property outputs, and molecular dynamics components.

Catalog updated ·

Overview

SchNetPack supports the development and application of neural networks for potential energy surfaces and other quantum-chemical properties of molecules and materials. It is a toolkit rather than a single pretrained predictive model: researchers combine atomistic representations, output modules and training configurations to construct models for their chosen tasks. The project README documents SchNet continuous-filter networks and PaiNN equivariant message passing as available representations.

Its workflow connects benchmark data, model configuration, training and logging. The documented QM9 example trains an atomwise property model and downloads the dataset if it is not already available. The MD17 example uses reference energies and forces for a selected molecule. Configurations specify the representation, prediction outputs, losses and metrics; potential-energy models can produce energies and corresponding derivatives for forces and stress. Additional output modules cover dipole moments, polarizability and general response properties.

The training interface uses Hydra configuration groups with PyTorch Lightning, allowing users to change datasets, representations and individual parameters. Run directories store trained models, while supported logging options include Tensorboard, CSV and Aim. Beyond training, the toolbox includes electrostatic and repulsion modules, GPU-accelerated molecular dynamics components, and a documented LAMMPS interface.

The excerpts establish these components and example workflows, but do not provide measured accuracy, runtime results or validated transfer to new chemical systems. The project metadata declares Python >=3.12; this is a dependency requirement, not evidence of tested compatibility. Applying trained models to a new dataset or simulation therefore remains an evaluation task.

Key Features

  • SchNet continuous-filter and PaiNN equivariant message-passing representations for atomistic models of molecules and materials.
  • Property output modules for dipole moments, polarizability, stress and general responses, including energy derivatives used to obtain forces and stress tensors.
  • Hydra-configured training through spktrain, with documented QM9 and MD17 experiments and configurable property-loss weights.
  • Physics-related modules for electrostatics, Ewald summation and ZBL repulsion.
  • GPU-accelerated molecular dynamics components covering path-integral MD, thermostats and barostats, plus a LAMMPS interface.
  • Training logs through PyTorch Lightning, with Tensorboard as the default and supplied configurations for CSV and Aim.

Use Cases

  • Suggested evaluation: compare SchNet and PaiNN representations on the documented QM9 property-prediction workflow using consistent data splits and metrics.
  • Suggested evaluation: train an MD17 model for uracil and examine energy and force errors while varying the documented loss weights.
  • Suggested evaluation: assess a trained potential for a molecular dynamics workflow using SchNetPack components or its LAMMPS interface.
  • Suggested evaluation: develop a custom atomistic prediction task by combining representation and output modules through hierarchical configurations.

How to Use

  1. Consult the repository README and documentation to choose between the QM9 property example and the MD17 energy-and-force example. Check the supplied project requirements before preparing an environment; Python >=3.12 is declared, not independently tested here.
  2. Follow the README's pip or source-installation route. Prepare a working directory for data and training runs, as described in its getting-started workflow.
  3. Select the documented experiment configuration: qm9_atomwise for the QM9 example, or md17 with data.molecule set to uracil for the molecular potential example. QM9 data are downloaded automatically when absent.
  4. Review the configuration guide. Choose SchNet or PaiNN, inspect output definitions, and set appropriate energy and force loss weights where relevant.
  5. Train through spktrain and inspect the stored model and selected logging output. As an intended evaluation, assess prediction errors before using the model in simulations; consult the LAMMPS guide if that integration is needed.

Related resources

DimeNet

Model

DimeNet provides reference implementations of DimeNet and DimeNet++ for directional message passing on molecular graphs, with training notebooks, test-set prediction workflows and pretrained models.

Python

Molecular Property Prediction · Quantum Chemistry

PhysNet

Model

PhysNet is a TensorFlow implementation of a neural network for predicting molecular energies, forces, dipole moments and partial charges, with a configurable training workflow and an example dataset.

Open sourcePython

Molecular Property Prediction · Quantum Chemistry

QML

Open Source

QML is an archived Python toolkit for quantum machine learning with Fortran-backed representation, kernel and solver modules. Further development has moved to qmllib.

Open sourcePython

Molecular Property Prediction · Quantum Chemistry

SpookyNet is a Python research package described as learning force fields with electronic degrees of freedom and nonlocal effects, with a cited publication and MIT-licensed repository code.

Open sourcePython

Molecular Property Prediction · Quantum Chemistry

TorchANI is a PyTorch library for developing, training and using ANI-style neural network interatomic potentials, with optional C++ and CUDA extensions for descriptors and inference.

Open sourcePythonC++

Molecular Property Prediction · Quantum Chemistry

ANI-1

Dataset

ANI-1 provides calculated off-equilibrium molecular conformations, with Python readers for accessing HDF5 files containing coordinates and energies for organic molecules.

Open sourcePython

Quantum Chemistry

Related guides

Models

Evaluating Molecular Property Prediction Models

A practical guide to choosing molecular property workflows, checking representations and evaluation evidence, and planning a local assessment with explicit domain boundaries and component-level licence checks.