tonykero / SNN

(Development discontinued see https://github.com/tonykero/Moe )

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Simple Neural Networks

SNN is a lightweight C++ library which focus on artificial neural Networks, Aiming to be intuitive, fast & complete.

Why ?

As a person who gets interested in a lot of things in Computer Science, i always try to understand principles and then code the correspondings algorithms. But the thing is that sometimes i get limited by libraries, or i am either disapointed, by the complexity and the lack of features of some.

So i decided to make my own library, for artificial neural networks, Actually creating a 2 Layers-Deep FeedForward Neural Network and training it with a Genetic Algorithm using my library, is about writing 7 lines of code.

Status

This library is still in development However some core features work.

Compiling

You can use CMake to compile SNN. the script supports MSVC, Clang & GCC

3 options are defined:

BUILD_SHARED    (default: ON)
BUILD_EXAMPLES  (default: OFF)
DEBUG           (default: OFF)

Core Features:

- Net                   (done)
- Activations Functions (done)
- Layer/Neuron/Link     (done)
- FFNet                 (done)
- Genetic Algorithm     (done)
- Backpropagation
- SOM
- Convolutional
- Recurrent

Planned implementations:

  • Neural Network Types:

    • Self-Organizing Maps
    • FeedForward
    • Convolutional
    • Recurrent
  • Activations Functions:

    • Linear
    • Step
    • Sigmoid
    • Hyperbolic Tangent
    • Rectified Linear Unit
  • Training Algorithms:

    • Backpropagation
    • Resilient Propagation
    • Genetic Algorithm
  • Model Selection:

    • Pruning
    • Regularization & Dropout
    • Grid search (brute force)

Documentation

Documentation is planned.

About

SNN is developed by me :] as a french autodidact/hobbyist nerd

License

This library is licensed under GNU GPL 3.0

About

(Development discontinued see https://github.com/tonykero/Moe )

License:GNU General Public License v3.0


Languages

Language:C++ 80.9%Language:Batchfile 11.0%Language:CMake 8.0%