← All projects

Machine Learning

Flower Image Classifier

Date Feb 2025
Type Udacity Nanodegree
Status Completed
Python PyTorch Deep Learning Transfer Learning

Overview

A deep learning image classifier that identifies 102 species of flowers, built as the capstone project of the Udacity AI Programming with Python Nanodegree. The model uses VGG16 pretrained on ImageNet as a feature extractor, with a custom classifier trained on the Oxford 102 Flower Dataset.

Approach

Instead of training a neural network from scratch, I used transfer learning: the convolutional layers of VGG16 are frozen and act as a fixed feature extractor, while only the final classifier layers are trained on the flower dataset. This makes training fast and achieves strong accuracy even on a relatively small dataset.

Command-Line Interface

Beyond the notebook, the project ships as two standalone CLI scripts:

What I Learned

Notebook

Full implementation below, from data loading through inference: