MiniTorch is a teaching library for machine learning engineers who wish to learn about the internal concepts underlying deep learning systems. Specifically, 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 with minimal changes (at some efficiency cost). The project was developed for the course Machine Learning Engineering at Cornell Tech.
The project is organized into 5 modules. Each module is build upon the precedents.
This is Module-4 and it takes advantage of the fully working deep learning library build through Module-0 to Module-3 and build an image recognition system.
-
Overview: https://minitorch.github.io/module4.html
This module requires fast_ops.py
, cuda_ops.py
, scalar.py
, tensor_functions.py
, tensor_data.py
, tensor_ops.py
, operators.py
, module.py
, and autodiff.py
from Module 3.
Additionally you will need to install and download the MNist library.
(On Mac, this may require installing the wget
command)
pip install python-mnist
mnist_get_data.sh
- Tests:
python run_tests.py