Skip to content
This repository was archived by the owner on Aug 22, 2026. It is now read-only.

Latest commit

 

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Neural Network

A feedforward multithreaded neural network written from scratch in C++26.

Requirements

  • GCC 13+, Clang 17+, or MSVC 19.36+
  • CMake 3.20 or newer

Building

cmake -S . -B build
cmake --build build -j

Tests

ctest --test-dir build --output-on-failure

Running

./build/NeuralNetwork
Available data:
- car.data
- mnist
- Randomly Generated Data
  • car.data - the UCI Car Evaluation set, bundled in datasets/car/. 1,728 samples, six categorical attributes one-hot encoded into 21 inputs, four output classes. Trains to ~100% test accuracy very quickly.
  • mnist - handwritten digits. The CSVs are not included. Download mnist_train.csv and mnist_test.csv from pjreddie.com/projects/mnist-in-csv and place them in datasets/mnist/.
  • Randomly Generated Data - synthetic samples whose target is the index of the largest input feature. Useful for smoke-testing a topology without any data on disk.

Trained weights are written to nn_data/ as binary files.

License

MIT LICENSE.

By MattFor

About

Multithreaded neural network c++26 personal project; submitted as the final project for the algorithms & data structures class.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages