Phase 0: Vision Foundations · ~75 minutes · Python
Convolutions from Scratch
A convolution is a tiny dense layer you slide across an image, sharing the same weights at every location.
What you will learn
- Implement 2D convolution from scratch using only NumPy, including the nested-loop version and a vectorised `im2col` version
- Compute output spatial size for any combination of input size, kernel size, padding, and stride, and justify the `(H - K + 2P) / S + 1` formula
- Hand-design kernels (edge, blur, sharpen, Sobel) and explain why each one produces the pattern of activations it does
- Stack convolutions into a feature extractor and connect the depth-of-the-stack to the size of the receptive field
Introduction
- Type: Build
- Languages: Python
- Prerequisites: the Deep Learning from Scratch course
- Time: ~75 minutes
Objective
Learning objectives
- Implement 2D convolution from scratch using only NumPy, including the nested-loop version and a vectorised
im2col version - Compute output spatial size for any combination of input size, kernel size, padding, and stride, and justify the
(H - K + 2P) / S + 1 formula - Hand-design kernels (edge, blur, sharpen, Sobel) and explain why each one produces the pattern of activations it does
- Stack convolutions into a feature extractor and connect the depth-of-the-stack to the size of the receptive field
Unlock the full lesson
You've read the first 2 sections. The rest of this lesson covers The Problem, The Concept, Build, Check Yourself, Key Terms & Next — plus a hands-on lab, quiz, and project artifact.
Create a free account — the opening phases of 29 of 35 courses are free, no credit card.
Browse all courses · View pricing · DeVenture Academy