Multi-Class Image Classification Deep Learning Model for Flower Photos Using TensorFlow Take 4

Template Credit: Adapted from a template made available by Dr. Jason Brownlee of Machine Learning Mastery.

SUMMARY: This project aims to construct a predictive model using a TensorFlow convolutional neural network (CNN) and document the end-to-end steps using a template. The Flower Photos dataset is a multi-class classification situation where we attempt to predict one of several (more than two) possible outcomes.

INTRODUCTION: The Flower Photos dataset is a collection of 3,670 flower photos in five different species. This dataset is part of the TensorFlow standard dataset collection.

From iteration Take1, we constructed and tuned a machine learning model using a simple three-layer MLP network. We also observed the best result that we could obtain using the validation dataset.

From iteration Take2, we constructed and tuned a machine learning model using the VGG-16 architecture. We also observed the best result that we could obtain using the validation dataset.

From iteration Take3, we constructed and tuned a machine learning model using the Inception V3 architecture. We also observed the best result that we could obtain using the validation dataset.

In this Take4 iteration, we will construct and tune a machine learning model using the ResNet50 V2 architecture. We will also observe the best result that we can obtain using the validation dataset.

ANALYSIS: From iteration Take1, the baseline model’s performance achieved an accuracy score of 80.24% after 25 epochs using the training dataset. The model also processed the validation dataset with an accuracy score of 74.69%.

From iteration Take2, the VGG-16 model’s performance achieved an accuracy score of 73.71% after 25 epochs using the training dataset. The model also processed the validation dataset with an accuracy score of 65.53%.

From iteration Take3, the Inception V3 model’s performance achieved an accuracy score of 75.89% after 25 epochs using the training dataset. The model also processed the validation dataset with an accuracy score of 72.50%.

In this Take4 iteration, the ResNet50 V2 model’s performance achieved an accuracy score of 77.94% after 25 epochs using the training dataset. The model also processed the validation dataset with an accuracy score of 72.91%.

CONCLUSION: In this iteration, the TensorFlow CNN model appeared to be suitable for modeling this dataset. We should consider experimenting with TensorFlow for further modeling.

Dataset Used: Flower Photos Dataset

Dataset ML Model: Multi-class image classification with numerical attributes

Dataset Reference: https://www.tensorflow.org/datasets/catalog/tf_flowers

One potential source of performance benchmarks: https://www.tensorflow.org/tutorials/images/classification

The HTML formatted report can be found here on GitHub.