Skip to content

IshwarKulkarni/NeuralNetworks

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

81 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Neural Networks Project

The repo is organized as

/
|- data
    |- Scripts to fetch CIFAR and MNSIT data
	|- Network configuration file(s)

|- src  < source >
	|- neuralnets  <files concerning neural networks >
    |- data <reading and writing data from above dir >
    
	|- utils < other sundry utilities >

|-build
	| - VS2015 <Visual Studio 2015/2013 build files>
	| - GCC <GCC 5.3 build files>


Common Steps:
cd data;
./GetMNISTDATA.sh ;
	
Linux/GCC: 
cd NeuralNetworks/GCC 
make # or
make debug

Windows/Visual Studio 2015:
->Open NeuralNetworks/VS015
->double click to open the sln file
->Build and run 

Windows/Visual Studio 2013:
->Replace "v140" to "v120" in NeuralNetworks.vcxproj
->double click to open the sln file
->Build and run 

Currently supports: 1. Configurable Layers a. Fully connected layer b. Convolution layer : can have partial connection ^1 c. Average pooling layer d. Max pooling layer e. Drop Connect layer f. Attenuation layer 2. Read network config from file with simple syntax 3. Configurable activation function (Sigmoid/TanH/RELU)

^1: This achieves some 97%+ accuracy in classifying MNIST data (found at DATA_LOCATION macro in GCC and VS) in test1.config.

I have deliberately left out several features specifically to keep this implementation as simple as possible; such features include parallelization.

My aim has been to keep the implementation as close to, say, a textbook description of neural network.

I learnt a lot from these two sources: MIT OCW: https://www.youtube.com/watch?v=uXt8qF2Zzfo, and http://neuralnetworksanddeeplearning.com/

The main motication behind this project is to add CUDA support and use CPU implementation as an architectural template and verification base for CUDA.

Ultimately I want to classify Leeds Butterfly set on GPU.

Copyright (c) Ishwar R. Kulkarni All rights reserved.

This file is part of NeuralNetwork Project by Ishwar Kulkarni , see https://github.com/IshwarKulkarni/NeuralNetworks

If you so desire, you can copy, redistribute and/or modify this source along with rest of the project. However any copy/redistribution, including but not limited to compilation to binaries, must carry this header in its entirety. A note must be made about the origin of your copy.

NeuralNetwork is being distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of FITNESS FOR A PARTICULAR PURPOSE.

Releases

No releases published

Packages

No packages published

Languages