Skip to content

chardmeier/adnn

Repository files navigation

adnn

A neural network implementation with automatic compile-time backpropagation

Christian Hardmeier

This is a C++ neural network toolkit that uses template metaprogramming to translate a network specification into Eigen expression templates for both the forward and the backward propagation pass at compile time. It contains a reimplementation of my cross-lingual pronoun prediction network (nn6) whose original Matlab code is found in this repository.

I currently don't intend to extend or maintain this code any further as it just takes too much time and other packages with good support and more features are readily available.

Roughly, the central parts of the code are organised as follows:

nnet.h - core data structures for network specifications and weights

nnopt.h - training algorithm

netops.h - basic network operations

mlp.h - multi-layer perceptron

nn6.h - the nn6 network, equivalent to the original Matlab version

nn6-dev.h - a development version of nn6 with some improvements over the original version

vocmap.h - vocabulary data structure

3layer.cc - a front-end for a 3-layer perceptron, for testing purposes

nn6.cc and nn6-dev.cc - front-ends for the two variants of nn6

About

A neural network implementation with automatic compile-time backpropagation

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published