ConvNet - C++ library for convolutional neural networks

The goal of creating ConvNet is to provide researchers and developers with an efficient and easy to use C++ implementation of convolutional neural networks.

The library is supposed to be easily compiled both in Linux (gcc) and in Windows (MS Visual Studio) natively!

The library is concerned mostly with efficient forward-propagation (fprop) of data through network. The actual training of the networks (bprop) is not emphasized at the moment, since it is usually very researcher-dependent: different researchers prefer to use their own tools to train their networks.

Training will be implemented later according to [LeCun 98] paper.

Note:

The library is in a pre-alpha version, hence features will be added extensively.

Natively compilable and executable both in Linux (gcc) and in Windows (MS VisualStudio).

Arbitrary network topology. The library can import any possible network configuration. The complete description of the network is provided by a single and easy to read XML-style file. For an example configuration file see sample::xml.

OpenCV compatibility. The library is intended to be a contribution to OpenCV project, hence I use OpenCV internal data type like CvMat for matrices and IplImage for images.

Very permissive LICENSE. The library is posted under BSD-style license, which is much much less restrictive than GPL. It allows many things including proprietary commercial use subject to some minor conditions described in LICENSE.

doxygen. This is a famous C++ documentation tool that automatically creates documentation from comments of source files, almost like javadoc. For more information, visit http://doxygen.sourceforge.net/

All of the required software is available both for Linux and for Windows platforms.