Git Product home page Git Product logo

viix-co / deeplearningframeworkfromscratchcpp Goto Github PK

View Code? Open in Web Editor NEW

This project forked from apiquet/deeplearningframeworkfromscratchcpp

0.0 0.0 0.0 3.34 MB

Deep Learning framework implementation with MSE loss, ReLU, softmax, linear layer, a feature/label generator and a mini-batch training function. The main goal of this repository is to show how to develop a project in C++ by using key concepts of the language: abstract class/interface and inheritance, memory management, smart-pointers, iterator, con

Home Page: https://foundationsofdl.com/2021/12/12/neural-network-from-scratch-part-5-c-deep-learning-framework-implementation/

License: MIT License

C++ 97.42% CMake 2.58%

deeplearningframeworkfromscratchcpp's Introduction

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

deeplearningframeworkfromscratchcpp's People

Contributors

apiquet avatar viix-co avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.