LVL 01SK
Back to roadmap
Build a Trainable CNN from Scratch project artworkNumPy
PROJECT 03 · Deep Learning

Build a Trainable CNN from Scratch

Assemble a LeNet-style convolutional network with im2col convolutions, gradients, Adam, and a complete training loop.

Hard4.9 hours59 steps

Overview

Assemble a LeNet-style convolutional network with im2col convolutions, gradients, Adam, and a complete training loop.

What you'll learn

Convolutions Backpropagation Training loops
FULL WALKTHROUGH

Learn every step on its own page

This project is no longer compressed into a few chapters. Open the dedicated learning workspace for a lesson-by-lesson explanation with concepts, MathJax mathematics, code, tests, mistakes, checkpoints, and persistent navigation.

Open 59-step walkthrough →

Build progress

0 / 59 steps0%

Move the tracker as you finish the original Deep-ML steps. Reaching 100% unlocks the completion action and certificate.

Architecture

Work through the system one dependable layer at a time. Each stage feeds the next and remains independently testable.

01im2col
02Pooling
03Adam

Mathematics & visual explanation

Translate the core equations into code, validate intermediate tensors, and compare the implementation with a small numerical reference.

objective(θ) = data_term(θ) + λ · regularization(θ)

The exact objective evolves with each milestone. Keep a notebook of shapes, invariants, and numerical checks.