Skip to content

tstr/libnn

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Libnn

A simple Neural Network library implemented using CUDA. This project was developed for my final year project at university.

Features:

  • Dense layers
  • Sigmoid, tanh, relu and softmax activation functions
  • Dropout
  • SGD and Adam optimizers
  • Cross Entropy and Mean Squared Error loss functions

There are two main sample programs:

Project Layout:

The top level directories are organized as follows:

  • demo/ - code for the visualization demo
  • deps/ - 3rd party dependencies, included as submodules
  • imgs/ - image samples
  • include/ - public interface of the library
  • pretrained/ - pretrained models (trained with this library + Keras)
  • samples/ - sample programs
  • scripts/ - scripts used for testing/evaluation, shouldn't be used directly
  • src/ - private implementation of the library

Compiling

Requires CMake and the CUDA SDK. All other dependencies are included as git submodules in the deps/ folder.

For the visualization demo and python bindings it requires python to be installed.

This program has only been tested on windows but will work on other operating systems in theory.

An example on windows:

git clone --recursive https://github.com/BrotherhoodOfHam/libnn.git
mkdir libnn/build
cd libnn/build
cmake .. -G "Visual Studio 16 2019" -A "x64"
cmake --build . --config Release
cd samples
./Release/mnist_classifier.exe

Result samples

alt

About

A simple CUDA based neural network implementation

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors