ConvNet - C++ library for convolutional neural networks


ConvNet is a C++ library implementing data propagation throught 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.

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


You are now able to use svn to get the latest sources
$ svn checkout

The binaries for both Linux and Windows will be available later at



Whole convolutional network is contained inside one class: CvConvNet.

The class usage is as simple as this

// Create empty net object
CvConvNet net;

// Load the network from XML representation. 

// Propagate the image through network
// and get the result
int result = (int) net.fprop(img);

cout << "Image is recognized as " << result << endl;

For detailed code see samples: testimg::cpp, testmnist::cpp and sample::xml


Requirements are:

Recommended software for development:

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

Generated on Fri Aug 3 16:17:27 2007 for ConvNet by  doxygen 1.5.0