This project demonstrates building and experimenting with Convolutional Neural Networks (CNNs) using the Fashion-MNIST dataset. The notebook explores how different architectural choices impact model performance, including variations in filter counts, kernel sizes, and network depth.
The baseline CNN achieves approximately 91% accuracy on Fashion-MNIST, significantly outperforming traditional feedforward networks (~88% accuracy). Through systematic experimentation, the project investigates:
- Filter Count Variations: Testing 16, 32, 64, and 128 filters to understand the capacity-performance tradeoff
- Kernel Size Experiments: Comparing 3×3, 5×5, and mixed kernel configurations
- Network Depth: Evaluating shallow (1 layer), baseline (2 layers), and deeper (3 layers) architectures
Each experiment includes training time measurements and test accuracy comparisons, along with visualizations of training progress and learned filters.
DSMII-Image-CNN/
├── cnn-practice.ipynb # Main notebook with CNN implementations and experiments
└── README.md # Project documentation
- Open the notebook
cnn-practice.ipynbin VS Code - Select a Python kernel with TensorFlow installed
- Run cells sequentially or use "Run All" to execute the entire notebook
Dependencies: tensorflow, matplotlib, numpy, pandas
The notebook can be executed from top to bottom. Training times vary from 30 seconds to 2 minutes per model depending on architecture complexity.