Custom CNN Training — SVHN Digit Recognition
A deep-learning image-classification project: custom-built and trained neural networks that recognize street-view house numbers, with a full preprocessing → training → evaluation pipeline.
- TensorFlow
- Keras
- Python
- NumPy
- Pandas
- scikit-learn
- OpenCV
- CNN
Overview
A supervised deep-learning project that trains neural networks to recognize handwritten and street-view digits (0–9) from the SVHN (Street View House Numbers) dataset — the same class of problem mapping services use to transcribe addresses from street-level photos. It classifies 32×32-pixel images into ten digit classes.
Training pipeline
The pipeline covers the full workflow: images normalized (÷255) and reshaped, labels one-hot encoded, and models built in TensorFlow/Keras. Training used the Adam optimizer (lr 0.001), categorical cross-entropy, a batch size of 128, and a 20% validation split, with fixed random seeds across NumPy/Python/TensorFlow for reproducibility and H5 storage for efficient dataset loading.
I built and compared multiple ANN and CNN configurations, plotting training/validation accuracy curves across epochs to select the best performer — a hands-on study of architecture, capacity, and generalization on a balanced 42k-image training set.