Skip to content

Latest commit

 

History

History
57 lines (43 loc) · 1.78 KB

File metadata and controls

57 lines (43 loc) · 1.78 KB

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