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 Kaggle 275 Bird Species dataset is a multi-class classification situation where we attempt to predict one of several (for this dataset 275) possible outcomes.
INTRODUCTION: This dataset contains 275 bird species with 39364 training images, 1375 test images (5 per species), and 1375 validation images (5 per species. All images have a resolution of 224 X 224 X 3 color images in the jpg format. Each dataset includes 275 subdirectories, one for each bird species.
From iteration Take1, we constructed a simple three-layer CNN model to predict the species for the image.
From iteration Take2, we constructed a CNN model based on the InceptionV3 architecture to predict the species for the image.
From iteration Take3, we constructed a CNN model based on the VGG19 architecture to predict the species for the image.
In this Take4 iteration, we will construct a CNN model based on the ResNet152V2 architecture to predict the species for the image.
ANALYSIS: From iteration Take1, the simple three-layer CNN model’s performance achieved an accuracy score of 68.87% after 50 epochs using the validation dataset. The same model processed the test dataset with an accuracy score of 69.24%.
From iteration Take2, the InceptionV3 model’s performance achieved an accuracy score of 96.51% after 20 epochs using the validation dataset. The same model processed the test dataset with an accuracy score of 97.53%.
From iteration Take3, the VGG19 model’s performance achieved an accuracy score of 91.27% after 20 epochs using the validation dataset. The same model processed the test dataset with an accuracy score of 94.84%.
In this Take4 iteration, the ResNet152V2 model’s performance achieved an accuracy score of 97.96% after 20 epochs using the validation dataset. The same model processed the test dataset with an accuracy score of 97.60%.
CONCLUSION: In this iteration, the ResNet152V2-based CNN model appeared to be suitable for modeling this dataset. We should consider experimenting with TensorFlow for further modeling.
Dataset Used: Kaggle 275 Bird Species dataset
Dataset ML Model: Multi-class image classification with numerical attributes
Dataset Reference: https://www.kaggle.com/gpiosenka/100-bird-species
One potential source of performance benchmarks: https://www.kaggle.com/gpiosenka/100-bird-species
The HTML formatted report can be found here on GitHub.