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.
$ svn checkout https://conv-net.svn.sourceforge.net/svnroot/conv-net/trunk
The binaries for both Linux and Windows will be available later at http://www.sourceforge.net/projects/conv-net/
The class usage is as simple as this
// Create empty net object CvConvNet net; // Load the network from XML representation. net.fromString(xmlstring); // 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
Recommended software for development:
All of the required software is available both for Linux and for Windows platforms.