Skip to content

This repository includes of a Multi-Tag (acronyms are Multi-Task and Multi-Output as well) Image Classification on Fashion Products Images dataset on Kaggle using EfficientNetB0 with high accuracies

License

Notifications You must be signed in to change notification settings

MMDPROJECT/Multi-Tag-Image-Classification-with-Fashion-Products-Images

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Multi-Tag Image Classification

Overview

This repository includes a notebook that uses fine-tuning for a multi-output image classification task. The data comes from the Fashion Product Images dataset on Kaggle; you can find the dataset at this link.
You can also access my code for this project here, and the trained model here.

Data

Dataset Orientation

When aggregated, the dataset includes 44,446 rows and 12 columns. The columns include: id, image_path, gender, masterCategory, subCategory, articleType, baseColour, season, usage, brandName, variantName, and productDisplayName.
Among these, the last eight columns are considered the target features for our analysis.

Exploratory Data Analysis

The figure below illustrates a severe class imbalance across most target features:

Pie Chart of Target Features

Feature Encoding

We use Label Encoding for all target features due to its simplicity and memory efficiency.

Ideal Configurations for the Model

Pre-trained Model Used

We use EfficientNetB0 (excluding its top layer) as the backbone of our network, followed by a multi-head output—each head being a dense layer with softmax activation.

Fine-Tuning & Hyperparameters

We first train only the top layers for 25 epochs, then fine-tune the entire network (including the backbone) for an additional 50 epochs. The hyperparameters used for fine-tuning are shown below:

Image Size Optimizer & LR Losses Training Epochs Patience for Early Stopping
(224, 224, 3) Adam, LR_phase_1 = 5e-3, LR_phase_2 = 5e-5 Sparse Cross Entropy Loss epochs_phase_1 = 25, epochs_phase_2 = 50 patience_phase_1 = 10, patience_phase_2 = 20

Evaluation

Loss During Training

The following plot shows the training and validation loss over epochs:

Loss During Training

Accuracies & Scores

The plots below show the accuracy and evaluation scores during training. (Scores are computed only on the validation set.)

Accuracies & Scores

About

This repository includes of a Multi-Tag (acronyms are Multi-Task and Multi-Output as well) Image Classification on Fashion Products Images dataset on Kaggle using EfficientNetB0 with high accuracies

Topics

Resources

License

Stars

Watchers

Forks