This project is a deep learning-based image classifier that identifies dog breeds using Convolutional Neural Networks (CNNs) and transfer learning. It uses pre-trained models like ResNet, VGG, and AlexNet, and provides tools for training, prediction, evaluation, and visualizing misclassifications.
Built by Van Tran, a Software Engineering student at UTD, this project, through IEEE projects, was created to explore CNNs and transfer learning for image classification using a real-world dataset.
The data/pet_images/
folder is empty by default.
To use the classifier, you must add your own images, where each image name is the name of the dog breed (e.g., labrador
, husky
, poodle
).
Each folder should contain images in one of the following formats:
.jpg
.png
.webp
Example structure:
-
Install Python packages
pip install -r requirements.txt
-
Add your pet breed image folders into data/pet_images/ (see above).
-
Train your model
Choose a model and run training:python main.py --model resnet --train
-
Run predictions
python main.py --model resnet --predict
- Evaluate performance
python evaluate.py --model resnet