A simple C deep learning library I wrote back in school for a project that I used for experiments with handwriting recognition.
The code hasn't been touched in 10 years and obviously shouldn't be used by anyone; this repository just exists so the code doesn't get lost.
- A simple and easy-to-use interface; creation and training of networks in just 3 lines of code
- Creation of networks via xml-files
- Support for FullyConnected, Convolutional and Pooling layers
- GPU acceleration via cuDNN v5
- Training via backpropagation (although training of Convolutional and Pooling layers is currently only supported with CUDA)
- Momentum
- Committees of networks
- Activation functions: Sigmoid, Softmax, ReLu, leaky ReLu, Softplus
- Cost functions: Quadratic/MSE, Cross Entropy
- Pooling methods: Average and Maximum
- Regularization: L2
- An easy way to load and manage datasets such as the MNIST-database
- GSL (GNU Scientific Library)
- GLib
- libxml2
- CUDA 7.5 and cuDNN v5 if compiled with CUDA support
- Training of Convolutional/Pooling layers without CUDA; better optimized Convolution-forward algorithm
- Dropout regularization
- Recurrent neural networks