Fashion MNIST Image Classification
This repo shows a set of Jupyter Notebooks demonstrating a variety of Convolutional Neural Networks models I built to classify images for the Fashion MNIST dataset. It is a dataset of Zalando's article images — consisting of a training set of 60,000 examples and a test set of 10,000 examples. Each example is a 28x28 grayscale image, associated with a label from 10 classes. The dataset serves as a direct drop-in replacement for the original MNIST dataset for benchmarking machine learning algorithms. It shares the same image size and structure of training and testing splits.
Here's an accompanied blog post: The 4 Convolutional Neural Network Models That Can Classify Your Fashion Images
Here are the different notebooks:
- 1-Convolution Layer CNN: Trained a simple CNN classifier with 1 convolution layer, 1 max-pooling layer, 2 dense layers, and 1 dropout layer. Achieved 92.29% accuracy.
- 3-Convolution Layer CNN: Trained a deeper CNN classifier with 3 convolution layers, 2 max-pooling layers, 2 dense layers, and 4 dropout layers. Achieved 91.17% accuracy.
- 4-Convolution Layer CNN: Trained an even deeper CNN classifier with 4 convolution layers, 2 max-pooling layers, 3 dense layers, 5 dropout layers, and 6 batch normalization layers. Achieved 93.52% accuracy.
- VGG19: Used transfer learning with the VGG19 pre-trained model. Achieved 76.64% accuracy.
- TensorBoard Visualization: Visualized Fashion MNIST data using Tensorboard with t-SNE and PCA dimensionality reduction techniques.
Here's a visualization of Fashion MNIST data on TensorBoard:
Requirements
Dependencies
Choose the latest versions of any of the dependencies below:
License
MIT. See the LICENSE file for the copyright notice.