https://github.com/vanderhe/fortnet
Fortnet is a Behler-Parrinello-Neural-Network implementation, written in modern Fortran.
https://github.com/vanderhe/fortnet
fortran machine-learning neural-networks open-source scientific-computing
Last synced: 3 months ago
JSON representation
Fortnet is a Behler-Parrinello-Neural-Network implementation, written in modern Fortran.
- Host: GitHub
- URL: https://github.com/vanderhe/fortnet
- Owner: vanderhe
- License: other
- Created: 2021-04-09T20:49:35.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2025-02-03T08:34:04.000Z (over 1 year ago)
- Last Synced: 2026-01-28T07:55:37.889Z (4 months ago)
- Topics: fortran, machine-learning, neural-networks, open-source, scientific-computing
- Language: Fortran
- Homepage: https://github.com/vanderhe/fortnet
- Size: 2.58 MB
- Stars: 33
- Watchers: 1
- Forks: 6
- Open Issues: 1
-
Metadata Files:
- Readme: README.rst
- Contributing: CONTRIBUTING.rst
- License: COPYING
- Citation: CITATION.cff
- Authors: AUTHORS.rst
Awesome Lists containing this project
README
**********************************************************
Fortnet: A Behler-Parrinello-Neural-Network Implementation
**********************************************************
|license|
|latest version|
|doi|
|issues|
Fortnet is a Behler-Parrinello-Neural-Network implementation, written in modern
Fortran. Using atom-centered symmetry functions to characterize local atomic
environments, Fortnet provides easy access to the famous BPNN neural network
architecture to predict atomic or global properties of your physical system,
featuring powerful but optional MPI parallelism.
|logo|
Installation
============
|build status|
Building from source
--------------------
**Note:** This section describes the building with default settings in a typical
Linux environment. For more detailed information on the build customization and
the build process, consult the **detailed building instructions** in
`INSTALL.rst `_.
Download the latest stable source code from `GitHub
`_::
git clone https://github.com/vanderhe/fortnet.git
You need CMake (>= 3.16) to build and h5py to test Fortnet. If your environment
offers no CMake/h5py or only older versions, you can easily install the latest
software via Python's ``pip`` command::
pip install cmake h5py
Start CMake by passing your compilers environment variables ``FC``, ``CC`` and
the location where the code should be installed and the build directory
(``_build``) as options::
FC=mpifort CC=gcc cmake -DCMAKE_INSTALL_PREFIX=$HOME/opt/fnet -B _build .
If the configuration was successful, start the build with::
cmake --build _build -- -j
After successful build, you should test the code by running::
pushd _build
ctest -j
popd
If the tests were successful, install the package via::
cmake --install _build
For further details see the `detailed building instructions `_.
Obtaining via Conda
-------------------
An alternative way of obtaining Fortnet is to install it via the conda package
management framework using `Miniconda
`_ or `Anaconda
`_. Make sure to add/enable the
``conda-forge`` channel in order to be able to access Fortnet::
conda config --add channels conda-forge
We recommend to set up a dedicated conda environment and to use the
`mamba installer `_::
conda create --name fortnet
conda activate fortnet
conda install mamba
There are several build variants available, choose the one suiting your needs.
For example, by issuing ::
mamba install 'fortnet=*=nompi_*'
or ::
mamba install 'fortnet=*=mpi_mpich_*'
or ::
mamba install 'fortnet=*=mpi_openmpi_*'
to get the last stable release of Fortnet with, respectively, serial build or
with MPI-parallelized build using either the MPICH or the OpenMPI framework.
Depending on whether you decided for a serial or parallel version, you may
issue ::
fnet
or ::
mpirun -np ${NPROCS} fnet
to start Fortnet. ${NPROCS} is to be substituted by the number of MPI tasks (in
general number of CPU cores) available.
Documentation
=============
|docs status|
Consult following resources for documentation:
* `Step-by-step instructions with selected examples (Fortnet Recipes)
`_
Citing
======
When publishing results obtained with Fortnet, please cite the following
article:
* `Fortnet, a software package for training Behler-Parrinello neural
networks; Computer Physics Communications 284, 108580 (2023)
`_
Contributing
============
New features, bug fixes, documentation, tutorial examples and code testing is
welcome during the ongoing Fortnet development!
The project is `hosted on github `_.
Please check `CONTRIBUTING.rst `_ for guide lines.
I am looking forward to your pull request!
License
=======
Fortnet is released under the GNU Lesser General Public License. See the
included `LICENSE `_ file for the detailed licensing conditions.
.. |logo| image:: ./utils/art/logo.svg
:alt: Fortnet logo
:width: 90
:target: https://github.com/vanderhe/fortnet/
.. |license| image:: ./utils/art/gnu-lgplv3.svg
:alt: LGPL v3.0
:scale: 100%
:target: https://opensource.org/licenses/LGPL-3.0
.. |latest version| image:: https://img.shields.io/github/v/release/vanderhe/fortnet
:target: https://github.com/vanderhe/fortnet/releases/latest
.. |doi| image:: https://img.shields.io/badge/DOI-10.1016%2Fj.cpc.2022.108580-blue
:target: https://doi.org/10.1016/j.cpc.2022.108580
.. |docs status| image:: https://readthedocs.org/projects/fortnet/badge/?version=latest
:alt: Documentation Status
:scale: 100%
:target: https://fortnet.readthedocs.io/en/latest/
.. |issues| image:: https://img.shields.io/github/issues/vanderhe/fortnet.svg
:target: https://github.com/vanderhe/fortnet/issues/
.. |build status| image:: https://img.shields.io/github/actions/workflow/status/vanderhe/fortnet/build.yml
:target: https://github.com/vanderhe/fortnet/actions/