Deep Learning Library: Needle (Necessary Elements of Deep Learning)

Built a complete deep learning library capable of efficient GPU-based operations and automatic differentiation, with support for parameterized layers, loss functions, data loaders, and optimizers. Implemented back-end operations in C++ and Cuda to add both CPU and GPU support. Used the library to implement a transformer, convolutional neural network (CNN), and recurrent neural network (RNN).