Skip to content

manuelsawade/scratch-nn-dotnet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 

Repository files navigation

Simple neural network implementation in c#

This repository contains a from-scratch implementation of a neural network based on the book 'Neural Networks and Deep Learning' from Michael Nielson. The source code can be found here: (https://github.com/mnielsen/neural-networks-and-deep-learning).

The Solution contains 3 projects and is structured as followed:

  • ScratchNN.App
  • ScratchNN.NeuralNetwork
  • ScratchNN.NeuralNetwork.Tests

This project is the executable program that loads the data and runs the training for the neural network implementations. Before the data is passed to the network, its features are scaled around 0 using the standard deviation of 1 and the lables are one-hot-encoded.

The simple neural network implemenation has fixed initializers, activation- and cost-functions. It uses a random bias initializer, xavier weight initialization, the quadratic cost function and sigmoid activation.

This implementation follows a more generic approach and can be used with various initializers, activation- and cost-functions, as long as the requirements for the interfaces are met.

Since the training with the complete training data takes a lot of time, this implementation uses parallel processing and the tensor primitives library to boost up the training process.

This project contains integration tests securing the functionality of backpropagation and updating the parameters for all neural network implementations.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages