-
Notifications
You must be signed in to change notification settings - Fork 0
Home
nuNN is a compact C++20 machine learning library built for study, experimentation, and small practical demos. The project intentionally keeps the algorithms visible: forward passes, gradients, training loops, serialization, and example applications are implemented in readable C++ instead of being hidden behind a large framework.
This wiki complements the README:
- the README is the quick project overview;
- NEWS is the release history;
- the wiki is the guided documentation layer, with theory notes, diagrams, and links back to the implementation.
- Getting Started
- Neural Networks
- MNIST and OCR
- Recurrent Networks
- Convolutional Networks and Transformer
- Classical and Unsupervised Models
- Reinforcement Learning
- Training and Diagnostics
- Examples Gallery
- Theory Notes
- Implementation Map
nuNN includes feedforward neural networks, recurrent networks, unsupervised models, convolutional components, a small decoder-only transformer, tabular reinforcement learning, DQN, classical ML helpers, model serialization, Graphviz topology export, MNIST parsing, OCR demos, and package/install helpers.
The current implementation includes:
PerceptronMlpNNMlpMatrixNNVanillaRnnGruLstmHopfieldNNAutoencoderRbfRbmVaeSom-
Conv1DLayer,MaxPool1DLayer,ConvNet MiniTransformerLinearRegressionKMeansPca- tabular
QLearn/Sarsa -
Dqnwith replay buffer and target network
Some diagrams and explanations in this wiki are adapted from the accompanying book material and stored as PNG assets under assets/. They are used here to connect the theory to the corresponding nuNN classes and demo programs.
The companion book is Fundamentals of Machine Learning: Algorithms and Applications in C++:
- English Kindle: https://read.amazon.com/sample/B0GY9L7N22?clientId=share
- English paperback: https://read.amazon.com/sample/B0H7KQCFJY?clientId=share
- Italian Kindle: https://read.amazon.com/sample/B0H6Q12LVJ?clientId=share
- Italian paperback: https://read.amazon.com/sample/B0DF69MPZF?clientId=share
Start with Getting Started if you want to build and run the examples. Use Theory Notes as the compact conceptual bridge from the book to the code. Use Training and Diagnostics when a model does not converge or behaves differently after reload. Then use Implementation Map when you want to jump from a concept to the relevant header, source file, or demo.