Skip to content

Latest commit

 

History

History
43 lines (30 loc) · 1.63 KB

README.md

File metadata and controls

43 lines (30 loc) · 1.63 KB

DOI

NNAD

NNAD stands for Neural Network Analytic Derivatives and is a C++ implementation of the analytic derivatives of a feed-forward neural network with arbitrary architecture with respect to its free parameters. We implemented the back-propagation method using three strategies: analytic, automatic (when interfaced with ceres-solver) and numeric differentiation.

Installation

The NNAD library only relies on cmake for configuration and installation. This is done by following the standar procedure:

mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=SOME_PATH
make

Conda Installation

Alternatively, one can use Conda:

conda create -n nnad
conda install gxx_linux-64 (see https://docs.conda.io/projects/conda-build/en/latest/resources/compiler-tools.html)
cd NNAD
mkdir build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX=$CONDA_PREFIX
make && make install

Documentation

A detailed documentation of the code generated with Doxygen can be found here.

Examples

A simple example of the usage of NNAD, where analytic derivatives are compared to a numerical evaluation, can be found in tests/main.cc. More elaborate examples, where NNAD is used in minimisation problems, are instead collected here.

Reference

  • Rabah Abdul Khalek, Valerio Bertone, On the derivatives of feed-forward neural networks, arXiv:2005.07039

Contacts