Project Log in to Edit

libcudann is a Neural Networks training library, developed to work on NVIDIA graphic cards via CUDA, exploiting the full power of multiprocessor cards. It has been created to be fast, simple and complete. It has been tested on many different data sets and showed speed ups against standard CPU libraries (like FANN) up to 100 times and more (CUDA 3.2-march 2011). It supports a simple data set format (compatible with most used libraries), and can use different training algorithms (standard and batch backpropagation), with all the needed parameters and some useful additional algorithms. It is very simple to use, and you can train a neural network with as small as 4 or 5 lines of code.

It is a c++ library developed on Linux, but the standard version should be easy to compile on other systems compatible with CUDA. The version of CUDA used was 3.2, anyway it's been tested also on CUDA 4.0.

It's also been developed an easy GUI tool using GTK 2.0 and GTKExtra, to speed up the selection of files and parameters for the training. It also displays a useful data graph to monitor the training process.

As a side project, some genetic algorithms are implemented to dinamically evolve netwwork architectures to find the best solution suitable for a given data set.

The whole library has been created as a Master Degree Thesis in Computer Engineering by Luca Donati at the University of Parma, with the help of relator Professor Stefano Cagnoni and Ibislab.

At this time the project is carried on by other students at the University of Parma, under the supervision of S. Cagnoni.

An example GUI training:
foobar


Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.