{"id":13699098,"url":"https://github.com/lanl/hippynn","last_synced_at":"2025-04-04T19:07:57.686Z","repository":{"id":38212912,"uuid":"428860719","full_name":"lanl/hippynn","owner":"lanl","description":"python library for atomistic machine learning","archived":false,"fork":false,"pushed_at":"2025-03-21T20:36:28.000Z","size":13266,"stargazers_count":75,"open_issues_count":14,"forks_count":25,"subscribers_count":8,"default_branch":"development","last_synced_at":"2025-03-28T18:08:41.757Z","etag":null,"topics":["atomistic-machine-learning","atomistic-models","graph-neural-networks","interatomic-potentials","library","machine-learning"],"latest_commit_sha":null,"homepage":"https://lanl.github.io/hippynn/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lanl.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGELOG.rst","contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS.txt","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-11-17T00:45:13.000Z","updated_at":"2025-03-25T14:48:57.000Z","dependencies_parsed_at":"2023-10-16T09:15:40.526Z","dependency_job_id":"f8b340be-8589-4c0b-b019-6eea6daa0b5f","html_url":"https://github.com/lanl/hippynn","commit_stats":{"total_commits":104,"total_committers":13,"mean_commits":8.0,"dds":"0.46153846153846156","last_synced_commit":"ceea653af08af8b3133e254b94e307ca80e67360"},"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lanl%2Fhippynn","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lanl%2Fhippynn/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lanl%2Fhippynn/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lanl%2Fhippynn/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lanl","download_url":"https://codeload.github.com/lanl/hippynn/tar.gz/refs/heads/development","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247234921,"owners_count":20905854,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["atomistic-machine-learning","atomistic-models","graph-neural-networks","interatomic-potentials","library","machine-learning"],"created_at":"2024-08-02T19:00:58.154Z","updated_at":"2025-04-04T19:07:57.666Z","avatar_url":"https://github.com/lanl.png","language":"Python","funding_links":[],"categories":["Representation Learning"],"sub_categories":[],"readme":"The hippynn python package - a modular library for atomistic machine learning with pytorch.\n*******************************************************************************************\n\nWe aim to provide a powerful library for the training of atomistic\n(or physical point-cloud) machine learning.\nWe want entry-level users to be able to efficiently train models\nto millions of datapoints, and a modular structure for extensions and contribution.\n\nWhile hippynn's development so-far has centered around the HIP-NN architecture, don't let that\ndiscourage you if you are performing research with another model.\nGet in touch, and let's work together to provide a high-quality implementation of your work,\neither as a contribution or an interface extension to your own package.\n\nFeatures:\n=========\nModular set of pytorch layers for atomistic operations\n----------------------------------------------------------\n- Atomistic operations can be tricky to write in native pytorch.\n  Most operations provided here support linear-scaling models.\n- Model energy, force charge \u0026 charge moments, bond orders, and more!\n- nn.Modules are written with minimal reference to the rest of the library;\n  if you want to use them in your scripts without using the rest of the features\n  provided here -- no problem!\n\nGraph level API for simple and flexible construction of models from pytorch components.\n---------------------------------------------------------------------------------------\n\n- Build models based on the abstract physics/mathematics of the problem,\n  without having to think about implementation details.\n- Graph nodes support native python syntax, for example different forms of loss can be directly added.\n- Link predicted values in the model with a database entry to compare predicted and true values\n- IndexType logic records metadata about tensor structure, and provides\n  automatic conversion to compatible structures when possible.\n- Graph API is independent of module implementation.\n\nPlot level API for tracking your training.\n----------------------------------------------------------\n- Using the graph API, define quantities to evaluate before, during, or after training as\n  figures using matplotlib.\n\nTraining \u0026 Experiment API\n----------------------------------------------------------\n- Integrated with graph level API\n- Pretty-printing loss metrics, generating plots periodically\n- Callbacks and checkpointing\n\nCustom Kernels for fast execution\n----------------------------------------------------------\n- Certain operations are not efficiently written in pure pytorch, we provide\n  alternative implementations with ``numba`` and ``cupy``\n- These are directly linked in with pytorch Autograd -- use them like native pytorch functions.\n- These provide advantages in memory footprint and speed\n- Includes CPU and GPU execution for custom kernels\n\nInterfaces to other codes\n----------------------------------------------------------\n- ASE: Define ``ASE`` calculators based on the graph-level API.\n- PYSEQM: Use ``PYSEQM`` calculations as nodes in a graph.\n- LAMMPS: Use models from ``hippynn`` in LAMMPS via the MLIAP Unified interface.\n\nInstallation Instructions\n^^^^^^^^^^^^^^^^^^^^^^^^^\n\nWe recommend installation from source, although you can also get hippynn\nfrom conda and pypi, see below. A base installation of hippynn only requires\npytorch (`installation instructions \u003cpytorch_install_\u003e`_) and\nnumpy (`installation instructions \u003cnumpy_install_\u003e`_).\nWe recommend you install these first using your package manager of choice,\nthen proceed to install hippynn.\n\n.. _pytorch_install: https://pytorch.org/get-started/locally/\n.. _numpy_install: https://numpy.org/install/\n\n\nInstall hippynn from source:\n----------------------------\n\nFor detailed instructions, see `the documentation section on installation \u003cdoc_install\u003e`_.\n\n.. _doc_install: https://lanl.github.io/hippynn/installation.html\n\nClone the hippynn_ repository and navigate into it, e.g.::\n\n    $ git clone https://github.com/lanl/hippynn.git\n    $ cd hippynn\n    $ pip install -e .\n\nThe ``-e`` specifies an editable install, that is, python will import hippynn from\nthe current directory, which will allow you to tinker with hippynn if you so choose.\n\nIf numpy and pytorch are not currently installed, this command will install them using `pip`.\n\nOnce hippynn is installed, you can proceed to add optional packages as needed for\nvarious extended functionality.\n\nDocumentation\n=============\n\nPlease see https://lanl.github.io/hippynn/ for the latest documentation. You can also build\nthe documentation locally, see /docs/README.txt\n\nOther things\n============\n\nWe are currently under development. At the moment you should be prepared for breaking changes -- keep track\nof what version you are using if you need to maintain consistency.\n\nAs we clean up the rough edges, we are preparing a manuscript.\nIf, in the mean time, you are using hippynn in your work, please cite this repository and the HIP-NN paper:\n\nLubbers, N., Smith, J. S., \u0026 Barros, K. (2018).\nHierarchical modeling of molecular energies using a deep neural network.\nThe Journal of chemical physics, 148(24), 241715.\n\nSee AUTHORS.txt for information on authors.\n\nSee LICENSE.txt for licensing information. hippynn is licensed under the BSD-3 license.\nSee COPYRIGHT.txt for copyright information.\n\nTriad National Security, LLC (Triad) owns the copyright to hippynn, which it identifies as project number LA-CC-19-093.\n\nCopyright 2019. Triad National Security, LLC. All rights reserved.\nThis program was produced under U.S. Government contract 89233218CNA000001 for Los Alamos\nNational Laboratory (LANL), which is operated by Triad National Security, LLC for the U.S.\nDepartment of Energy/National Nuclear Security Administration. All rights in the program are\nreserved by Triad National Security, LLC, and the U.S. Department of Energy/National Nuclear\nSecurity Administration. The Government is granted for itself and others acting on its behalf a\nnonexclusive, paid-up, irrevocable worldwide license in this material to reproduce, prepare\nderivative works, distribute copies to the public, perform publicly and display publicly, and to permit\nothers to do so.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flanl%2Fhippynn","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flanl%2Fhippynn","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flanl%2Fhippynn/lists"}