Skip to content

IdealNN is a simple Neural Network framework written in C++ that aims to provide pytorch-like APIs. The library is mainly intended for educational purposes to demystify the complexities.

License

Notifications You must be signed in to change notification settings

cesare-montresor/idealNN

Repository files navigation

idealNN

IdealNN is a simple Neural Network framework written in C++ that aims to provide pytorch-like APIs.
The library is mainly intended for educational purposes to demistify the complexities behind neural network frameworks.
NOTE: The framework is called IdealNN in the same sense of 'ideal filters' in the frequency domain.

Setup & Build

In order to simplify setup and build and install bash scripts have been provided.

Setup

Install all dependencies and create the build directories.

./setup_env.sh

Release

Build the project in release, build the docs and run make install.

./make_test.sh

Test

Build the project in debug and run tests.

./make_test.sh

Valgrind

Build the project in debug and run valgrind on tests to check for memory leaks.

./make_valgrind.sh

Debug

Build the project for debugging purposes.

./make_debug.sh

Dependencies

Here the breakdown of dependencies based on the task.

Required

sudo apt install libeigen3-dev 

Test, Coverage & Analysis

sudo apt install valgrind
sudo apt install gcovr
sudo apt install cloc

Documentation

sudo apt install doxygen 
sudo apt install texlive texlive-font-utils
sudo apt install graphviz

Documentation

API: https://cesare-montresor.github.io/idealNN/
Writeup: https://github.com/cesare-montresor/idealNN/blob/main/README.pdf

Resources and Articles

Project

Neural Network

About

IdealNN is a simple Neural Network framework written in C++ that aims to provide pytorch-like APIs. The library is mainly intended for educational purposes to demystify the complexities.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published