MiniTorch

Completed during my Machine Learning Engineering course, Fall 2023

Overview

This project provided me with a deep understanding of PyTorch and low-level neural network operations by re-implementing the framework from scratch. This included implementing Tensors and their operations (map, zip, reduce) while handling broadcasting, forward and backward passes, optimizing performance on CPU and GPU using Numba and CUDA, implementing auto-differentiation by sorting the computation graph topologically and backpropagating with the chain rule, and much more.

Code

View the full project code on GitHub.