L2

L2

A deep learning library implemented from scratch in C++

0 followers

L2 is a experimental deep learning library I wrote over the summer, using only the c++17 standard library. It contains a multidimensional numpy-style array class. On top of this, higher level modules allow for easily running machine learning experiments.
L2 gallery image
L2 gallery image
L2 gallery image
Launch Team
Auth0
Auth0
Start building with Auth0 for AI Agents, now generally available.
Promoted

What do you think? …

bkkaggle
I made this over the summer as a way to learn more about C++ and lower-level machine learning concepts. I wanted to see how much I could build myself, without relying on other libraries to handle things like creating multidimensional arrays. Version 1 of this library focuses only supports a cpu backend at the moment since I'm not familiar enough with c++ to start working with CUDA and cudnn. It also primarily uses pass-by-value to reduce complexity at the result of reduced efficiency. Version 2 of the library will focus on making the Tensor class more efficient. Currently, only the Linear and Sigmoid layers, the MSE loss, and the SGD optimizer have been implemented, but I will add more layers and modules in V2. The library contains a multidimensional array class, Tensor, with support for strided arrays, numpy-style array slicing, broadcasting, and most major math operations (including matrix multiplication!). On top of this, the Parameter, Layer, Sequential, Loss, Optimizer, and Trainer classes allow for running high-level machine learning experiments without worrying about the low-level implementations.