Deployment Result (Try it out yourself!)
After deploying the model on Azure, it can now predict the breed of a dog given an image of a dog with an accuracy of approximately 85%. To try it out yourself, simply going to here upload an image of a dog. The model will analyze the image and provide you with the predicted breed of the dog in return.
Give it a try and see how well it performs!
![notion image](https://www.notion.so/image/https%3A%2F%2Ffile.notion.so%2Ff%2Ff%2Fbc4c2159-1b33-44c8-ace1-169c8f4deedd%2F997e0186-11e3-40b0-a37b-b1ecfb04f5bb%2FUntitled.png%3Ftable%3Dblock%26id%3D653a04b5-4ea8-4b69-a423-47bb9c0688a0%26spaceId%3Dbc4c2159-1b33-44c8-ace1-169c8f4deedd%26expirationTimestamp%3D1725739200000%26signature%3DGMutgKJa87WQZE17DdcrfhlzM-rAsXR2c8jhelvFZ0w?table=block&id=653a04b5-4ea8-4b69-a423-47bb9c0688a0&cache=v2)
High Level Architecture (Workflow)
Code 🧑💻
1. Problem Identification:
The goal of this project was to classify the breed of a dog given an image of a dog using
Convolutional Neural Networks (CNN)
.2. Data Collection:
The dataset used for training and testing the model was Kaggle's
dog breed identification competition dataset
, which contained 120 breeds of dogs with around 10,000+ images in the training set and 10,000+ images in the test set.3. Data Preprocessing:
The data was preprocessed by converting it into
tensors
, extracting images and their labels, and creating a validation set
. The images were also preprocessed by resizing and normalizing
them. The steps involved in the data preprocessing were documented.4. Data Visualization:
The data was visualized by displaying some sample images from the dataset and their corresponding labels to understand the data. The findings from the
data visualization
were documented.5. Model Building:
A deep learning model was built using
TensorFlow 2.x
and TensorFlow Hub
. Transfer learning
was used to leverage pre-trained models for better performance. The architecture and hyperparameters of the model were documented.6. Model Training:
The model was trained using the preprocessed data and its performance was validated using the validation set.
Callback functions
were used to monitor the model's progress and prevent overfitting. The training process and the model's performance were documented.7. Model Evaluation:
The trained model's performance was evaluated using the test dataset. The test dataset predictions were prepared for submission to
Kaggle
. The model's performance on the test set and the submission results were documented.8. Model Deployment:
The trained model was deployed on
Azure
to make predictions on custom images of dogs to identify their breed. The code was connected with a CI/CD pipeline
, and the project is fully deployed on Azure. The final project link where an image of any dog can be provided to get its breed in return is: https://review1289.azurewebsites.net/. The steps involved in deploying the model were documented.9. Conclusion:
In conclusion, the project and its findings were summarized. The limitations of the model and potential directions for future work were documented.