This project implements a completely functional engine for tracking operations between Tensors, by dynamically building a Directed Acyclic Graph (DAG), and an automatic backpropagation algorithm (reverse-mode autodiff) over this DAG. Built on top of the engine, the deep learning library implements the most common functions, layers, losses and optimizers in order to create AI models able to solve real problems. This project comes with 3 jupyter notebooks that solve 3 beginner’s problems in AI and is compared with other existing engines such as torch and micrograd.
