Skip to content

gramcracker/neural_network

Repository files navigation

neural_network

This is a realatively simple neural network framework in C++.

I created this because I needed a framework that could be configured in complex and irregular ways for easy experimentation. It has have the following features:

  • -NEW- now outputs a python wrapper module.
  • Layer by layer syntax. ✓
  • Copy and paste of any portion of the net. ✓
  • Ability for network to build or erase connections. x
  • Ability to change structure at runtime. x
  • Realtime input and output. ✓
  • Loading/saving of weight values and structure to file. ✓
  • Spike timing based activation. x
  • Focus on learning strategies for natural language processing and semantic analysis. ✓

As stated above, this is still a work in progress, and I have yet to implement all of these features.

Getting Started

Prerequisites

-cmake -You will need support for c++ >= 11. This works best with g++ >= 11, and the pthread library.

building

cd build
cmake ..
make

Installing

chmod +x install.sh
sudo sh install.sh

this just copies the generated neuralnetwork.so file to your project to /usr/local/lib/ and the header files to /usr/local/include/neuralnetwork/

Usage

Examples on how to use this library can be found in neural_network/examples/. to include:

#include "neuralnetwork/net.h"

to compile:

 g++ main.cpp -lneuralnetwork

About

my personal project to make a simple neural network library.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published