atomistic-machine-learning / Schnetpack

Licence: other
SchNetPack - Deep Neural Networks for Atomistic Systems

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Schnetpack

sGDML
sGDML - Reference implementation of the Symmetric Gradient Domain Machine Learning model
Stars: ✭ 86 (-70.95%)
Mutual labels:  molecular-dynamics, quantum-chemistry
Awesome Python Chemistry
A curated list of Python packages related to chemistry
Stars: ✭ 410 (+38.51%)
Mutual labels:  molecular-dynamics, quantum-chemistry
libra-code
quantum-dynamics-hub.github.io/libra/index.html
Stars: ✭ 33 (-88.85%)
Mutual labels:  molecular-dynamics, quantum-chemistry
Molecular Design Toolkit
Notebook-integrated tools for molecular simulation and visualization
Stars: ✭ 123 (-58.45%)
Mutual labels:  molecular-dynamics, quantum-chemistry
isicle
In silico chemical library engine for high-accuracy chemical property prediction
Stars: ✭ 31 (-89.53%)
Mutual labels:  molecular-dynamics, quantum-chemistry
tinker9
Tinker9: Next Generation of Tinker with GPU Support
Stars: ✭ 31 (-89.53%)
Mutual labels:  molecular-dynamics
ls1-mardyn
ls1-MarDyn is a massively parallel Molecular Dynamics (MD) code for large systems. Its main target is the simulation of thermodynamics and nanofluidics. ls1-MarDyn is designed with a focus on performance and easy extensibility.
Stars: ✭ 17 (-94.26%)
Mutual labels:  molecular-dynamics
perses
Experiments with expanded ensembles to explore chemical space
Stars: ✭ 99 (-66.55%)
Mutual labels:  molecular-dynamics
Aboria
Enables computations over a set of particles in N-dimensional space
Stars: ✭ 83 (-71.96%)
Mutual labels:  molecular-dynamics
Openfermion Cirq
Quantum circuits for simulations of quantum chemistry and materials.
Stars: ✭ 258 (-12.84%)
Mutual labels:  quantum-chemistry
OpenFermion-PySCF
OpenFermion plugin to interface with the electronic structure package PySCF.
Stars: ✭ 76 (-74.32%)
Mutual labels:  quantum-chemistry
pyemma tutorials
How to analyze molecular dynamics data with PyEMMA
Stars: ✭ 49 (-83.45%)
Mutual labels:  molecular-dynamics
pytraj
Python interface of cpptraj
Stars: ✭ 106 (-64.19%)
Mutual labels:  molecular-dynamics
simple-dftd3
reimplementation of the DFT-D3 program
Stars: ✭ 13 (-95.61%)
Mutual labels:  quantum-chemistry
AdaptivePELE
AdaptivePELE is a Python package aimed at enhancing the sampling of molecular simulations
Stars: ✭ 14 (-95.27%)
Mutual labels:  molecular-dynamics
Haskell-abinitio
contains a package in Haskell to calculate the electronic structure properties of molecules using the Hartree-Fock method
Stars: ✭ 14 (-95.27%)
Mutual labels:  quantum-chemistry
uf3
UF3: a python library for generating ultra-fast interatomic potentials
Stars: ✭ 19 (-93.58%)
Mutual labels:  molecular-dynamics
QCFractal
A distributed compute and database platform for quantum chemistry.
Stars: ✭ 107 (-63.85%)
Mutual labels:  quantum-chemistry
hoomd-examples
HOOMD-blue example scripts.
Stars: ✭ 15 (-94.93%)
Mutual labels:  molecular-dynamics
tinker
Tinker: Software Tools for Molecular Design
Stars: ✭ 79 (-73.31%)
Mutual labels:  molecular-dynamics

SchNetPack - Deep Neural Networks for Atomistic Systems

Build Status codecov Code style: black

SchNetPack aims to provide accessible atomistic neural networks that can be trained and applied out-of-the-box, while still being extensible to custom atomistic architectures.

Currently provided models:
  • SchNet - an end-to-end continuous-filter CNN for molecules and materials [1-3]
  • wACSF - weighted atom-centered symmetry functions [4,5]

**Note: This is the last version before a major update. In the next version, we plan to adopt Hydra and PyTorch Lightning, switch to indexing instead of masking and make the networks compatible with TorchScript. Therefore, there will be breaking changes. **

Requirements:
  • python 3
  • ASE
  • numpy
  • PyTorch (>=0.4.1)
  • h5py
  • Optional: tensorboardX

Note: We recommend using a GPU for training the neural networks.

Installation

Install with pip

pip install schnetpack

Install from source

Clone the repository

git clone https://github.com/atomistic-machine-learning/schnetpack.git
cd schnetpack

Install requirements

pip install -r requirements.txt

Install SchNetPack

pip install .

You're ready to go!

Getting started

The best place to start is training a SchNetPack model on a common benchmark dataset. The example scripts provided by SchNetPack are inserted into your PATH during installation.

QM9 example

The QM9 example scripts allows to train and evaluate both SchNet and wACSF neural networks. The training can be started using:

spk_run.py train <schnet/wacsf> qm9 <dbpath> <modeldir> --split num_train num_val [--cuda]

where num_train and num_val need to be replaced by the number of training and validation datapoints respectively.

You can choose between SchNet and wACSF networks and have to provide a path to the database file and a path to a directory which will be used to store the model. If the database path does not exist, the data is downloaded and stored there. Please note that the database path must include the file extension .db. With the --cuda flag, you can activate GPU training. The default hyper-parameters should work fine, however, you can change them through command-line arguments. Please refer to the help at spk_run.py train <schnet/wacsf> --help.

The training progress will be logged in <modeldir>/log, either as CSV (default) or as TensorBoard event files. For the latter, TensorBoard needs to be installed to view the event files. This can be done by installing the version included in TensorFlow

pip install tensorflow

or the standalone version.

To evaluate the trained model with the best validation error, call

spk_run.py eval <modeldir> --split test [--cuda]

which will run on the specified --split and write a result file evaluation.txt into the model directory.

Documentation

For the full API reference, visit our documentation.

If you are using SchNetPack in you research, please cite:

K.T. Schütt, P. Kessel, M. Gastegger, K. Nicoli, A. Tkatchenko, K.-R. Müller. SchNetPack: A Deep Learning Toolbox For Atomistic Systems. J. Chem. Theory Comput. 10.1021/acs.jctc.8b00908 arXiv:1809.01072. (2018)

References

  • [1] K.T. Schütt. F. Arbabzadah. S. Chmiela, K.-R. Müller, A. Tkatchenko.
    Quantum-chemical insights from deep tensor neural networks. Nature Communications 8. 13890 (2017)
    10.1038/ncomms13890

  • [2] K.T. Schütt. P.-J. Kindermans, H. E. Sauceda, S. Chmiela, A. Tkatchenko, K.-R. Müller.
    SchNet: A continuous-filter convolutional neural network for modeling quantum interactions. Advances in Neural Information Processing Systems 30, pp. 992-1002 (2017) link

  • [3] K.T. Schütt. P.-J. Kindermans, H. E. Sauceda, S. Chmiela, A. Tkatchenko, K.-R. Müller.
    SchNet - a deep learning architecture for molecules and materials. The Journal of Chemical Physics 148(24), 241722 (2018) 10.1063/1.5019779

  • [4] M. Gastegger, L. Schwiedrzik, M. Bittermann, F. Berzsenyi, P. Marquetand. wACSF—Weighted atom-centered symmetry functions as descriptors in machine learning potentials. The Journal of Chemical Physics, 148(24), 241709. (2018) 10.1063/1.5019667

  • [5] J. Behler, M. Parrinello. Generalized neural-network representation of high-dimensional potential-energy surfaces. Physical Review Letters, 98(14), 146401. (2007) 10.1103/PhysRevLett.98.146401

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].