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