Package: hippynn
We aim to provide a powerful library for the training of atomistic
(or physical point-cloud) machine learning.
We want entry-level users to be able to efficiently train models
to millions of datapoints, and a modular structure for extensions and contribution.While hippynn’s development so-far has centered around the HIP-NN architecture, don’t let that
discourage you if you are performing research with another model.
Get in touch, and let’s work together to provide a high-quality implementation of your work,
either as a contribution or an interface extension to your own package.Features:Modular set of pytorch layers for atomistic operationsAtomistic operations can be tricky to write in native pytorch.
Most operations provided here support linear-scaling models.Model energy, force charge & charge moments, bond orders, and more!nn.Modules are written with minimal reference to the rest of the library;
if you want to use them in your scripts without using the rest of the features
provided here – no problem!Graph level API for simple and flexible construction of models from pytorch components.Build models based on the abstract physics/mathematics of the problem,
without having to think about implementation details.Graph nodes support native python syntax, for example different forms of loss can be directly added.Link predicted values in the model with a database entry to compare predicted and true valuesIndexType logic records metadata about tensor structure, and provides
automatic conversion to compatible structures when possible.Graph API is independent of module implementation.Plot level API for tracking your training.Using the graph API, define quantities to evaluate before, during, or after training as
figures using matplotlib.Training & Experiment APIIntegrated with graph level APIPretty-printing loss metrics, generating plots periodicallyCallbacks and checkpointingCustom Kernels for fast executionCertain operations are not efficiently written in pure pytorch, we provide
alternative implementations withnumbaandcupyThese are directly linked in with pytorch Autograd – use them like native pytorch functions.These provide advantages in memory footprint and speedIncludes CPU and GPU execution for custom kernelsInterfaces to other codesASE: DefineASEcalculators based on the graph-level API.PYSEQM: UsePYSEQMcalculations as nodes in a graph.LAMMPS: Use models fromhippynnin LAMMPS via the MLIAP Unified interface.InstallationClone this repository and navigate into it.Dependencies using conda:Runconda install-cpytorch-cconda-forge--fileconda_requirements.txtDependencies using pip:Runpip install .If you fee like tinkering, do an editable install:pip install-e.You can install using all optional dependencies from pip with:pip install-e.[full]NotesInstall dependencies with pip from requirements.txt .Install dependencies with conda from conda_requirements.txt .If you don’t want pip to install them, conda install from file before installinghippynn.
You may want to use -c pytorch for the pytorch channel.
For ase and cupy, you probably want to use -c conda-forge.Optional dependencies are in optional_dependencies.txtDocumentationPlease seehttps://lanl.github.io/hippynn/for the latest documentation. You can also build
the documentation locally, see /docs/README.txtOther thingsWe are currently under development. At the moment you should be prepared for breaking changes – keep track
of what version you are using if you need to maintain consistency.As we clean up the rough edges, we are preparing a manuscript.
If, in the mean time, you are using hippynn in your work, please cite this repository and the HIP-NN paper:Lubbers, N., Smith, J. S., & Barros, K. (2018).
Hierarchical modeling of molecular energies using a deep neural network.
The Journal of chemical physics, 148(24), 241715.See AUTHORS.txt for information on authors.See LICENSE.txt for licensing information. hippynn is licensed under the BSD-3 license.Triad National Security, LLC (Triad) owns the copyright to hippynn, which it identifies as project number LA-CC-19-093.Copyright 2019. Triad National Security, LLC. All rights reserved.
This program was produced under U.S. Government contract 89233218CNA000001 for Los Alamos
National Laboratory (LANL), which is operated by Triad National Security, LLC for the U.S.
Department of Energy/National Nuclear Security Administration. All rights in the program are
reserved by Triad National Security, LLC, and the U.S. Department of Energy/National Nuclear
Security Administration. The Government is granted for itself and others acting on its behalf a
nonexclusive, paid-up, irrevocable worldwide license in this material to reproduce, prepare
derivative works, distribute copies to the public, perform publicly and display publicly, and to permit
others to do so.