/fashion-mnist

4 different image classification ConvNets models for Fashion-MNIST dataset

Primary LanguageJupyter NotebookMIT LicenseMIT

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:

Custom-TensorBoard

Requirements

Dependencies

Choose the latest versions of any of the dependencies below:

License

MIT. See the LICENSE file for the copyright notice.