Learning Projects to Get Started with Deep Learning
This notebook implements in Python the essential modules required to build and train a multilayer perceptron that classifies garment images. In particular, it delves into the fundamentals of approximation
, non-linearity
, regularization
, gradients
, and backpropagation
. Additionally, it explores the significance of random parameter initialization
and the benefits of training in mini-batches
.
By the end, you will be able to construct the building blocks of a neural network from scratch, understand how it learns, and deploy it to HuggingFace Spaces to classify real-world garment images.
Garment Classifier deployed to HuggingFace Spaces
Quantization is a method used to reduce the computational complexity and memory footprint of a model by representing their weights and activations with low-precision data types like 8-bit integer, instead of the usual 32-bit floating point. This optimization results in less memory storage, and faster operations like matrix multiplication, which is a fundamental operation in the inference process.
The intuition behind quantization is that we can represent floating-point values in a tensor by mapping their range [max, min] into a smaller range [-128, 127], and then linearly distribute all values in between.