1 Introduction
“If you wish to make an apple pie from scratch, you must first invent the universe.”
— Carl Sagan
In this book, we will build a PyTorch-like deep learning library using Python and NumPy. We will then use this library to build and train few models. You can find these implementations in the examples section.
1.1 Prerequisites
- Python: a basic familiarity with the language
- Mathematics: Some linear algebra, calculus, and probability
(or the ability to pick these up on the fly)
- Problem-solving : G. Polya’s How to Solve It is highly recommended.
Even a light skim of its strategy will help.
1.2 What We are not doing
- No CUDA kernels or custom Backend library: We will rely exclusively on the NumPy library for all heavy numerical computation.
- The Complex stuff.