DeepLearningFrameworkFromScratchCpp
Deep Learning framework implementation with MSE, ReLU, softmax, linear layer, a feature/label generator and a mini-batch training. The main goal of this repository is to show how to develop a project in C++ by using key concepts of C++: abstract class/interface and inheritance, memory management, smart-pointers, iterator, const expression, etc.
Install / Use
/learn @Apiquet/DeepLearningFrameworkFromScratchCppREADME
Deep Learning Framework From Scratch in C++
Full explanation of the projects in this article.
Description
The main goal of this repository is to show how to develop a project in C++ and how to use key concepts of the language: abstract class/interface and inheritance, memory management, pointers, iterator, constexpress, templates, std containers and eigen matrix, static functions, namespace, makefile, etc.
This project will be applied to the development of a simple Deep Learning framework implementing MSE loss, linear layer, ReLU and softmax activation functions, a feature/label generator and a mini-batch learning function.
How to run the demo
Get all the source code
git clone https://github.com/Apiquet/DeepLearningFrameworkFromScratchCpp.git
Download Eigen code from https://gitlab.com/libeigen/eigen/-/releases/3.4.0 Extract downloaded zip file Copy the folder Eigen/ contained in extracted folder (eigen-version/Eigen) to DeepLearningFrameworkFromScratchCpp/include/
How to run the training implemented in tests/main.cpp
The file tests/main.cpp contains an example of implementation of a neural network with the developed library. The model learns to classify 2D data points into 2 classes (inside / outside a circle).
cd DeepLearningFrameworkFromScratchCpp
mkdir bin
cd bin
cmake ..
make
./TestDeepLearningFramework
Related Skills
YC-Killer
2.7kA library of enterprise-grade AI agents designed to democratize artificial intelligence and provide free, open-source alternatives to overvalued Y Combinator startups. If you are excited about democratizing AI access & AI agents, please star ⭐️ this repository and use the link in the readme to join our open source AI research team.
flutter-tutor
Flutter Learning Tutor Guide You are a friendly computer science tutor specializing in Flutter development. Your role is to guide the student through learning Flutter step by step, not to provide d
groundhog
398Groundhog's primary purpose is to teach people how Cursor and all these other coding agents work under the hood. If you understand how these coding assistants work from first principles, then you can drive these tools harder (or perhaps make your own!).
last30days-skill
16.9kAI agent skill that researches any topic across Reddit, X, YouTube, HN, Polymarket, and the web - then synthesizes a grounded summary
