Skip to content

dirdr/neural_network_from_scratch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

About

This project is build around nn_lib which is a very basic 'from scratch' neural network library, and serve as an entrypoint for a school project, which was to solve the mnist dataset. There are two mode, benchmark and gui, the first one give metrics and loss for either mnist or xor, and the second one is a drawing GUI around the mnist dataset.

Before we decided to improve the neural network library by adding more features, this was a school project, you check out the report (pdf format) we wrote explaining the basic structure of the library and the maths behind our implementation. The latex sources of the report are also available

Exemple

Launch the mnist gui with data augmentation:

RUST_LOG=trace cargo run --release -- gui --augment

Usage

A simple neural network library written in rust

Usage: nn_from_scratch <COMMAND>

Commands:
  gui        Run in GUI mode
  benchmark  Run benchmarks
  help       Print this message or the help of the given subcommand(s)

Options:
  -h, --help     Print help
  -V, --version  Print version

Network performance benchmark

The project can be run to benchmark the network performances, see the help command

Run benchmarks

Usage: nn_from_scratch benchmark [OPTIONS]

Options:
  -r, --run <RUN>            [default: xor] [possible values: mnist, xor]
  -e, --epochs <EPOCHS>
  -n, --net-type <NET_TYPE>  [default: mlp] [possible values: mlp, conv]
  -h, --help                 Print help

Interactive usage

You can also play with an interactive gui for the mnist exemple, drawing your own number and see what the trained model guess.

Run in GUI mode

Usage: nn_from_scratch gui [OPTIONS]

Options:
  -a, --augment
  -h, --help     Print help

About

Simple "from scratch" deep neural network library

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published