MiniTorch is a diy teaching library
for machine learning engineers who wish to learn about the internal
concepts underlying deep learning systems. It is a pure Python
re-implementation of the Torch API
designed to be simple, easy-to-read, tested, and incremental. The
final library can run Torch code. The project was developed for the
course Machine Learning Engineering
at Cornell Tech.
To get started, first read setup
and contributing
to
build your workspace. Then follow through each of the modules to the
right. Minimal computational resources are required.
Module starting code is available on GitHub, and each proceeds
incrementally from past modules.
Enjoy!
Sasha Rush (@srush_nlp) with Ge Gao and Anton Abilov
Topics covered:
- Basic Neural Networks and Modules
- Autodifferentiation for Scalars
- Tensors, Views, and Strides
- Parallel Tensor Operations
- GPU / CUDA Programming in NUMBA
- Convolutions and Pooling
- Advanced NN Functions