This is the capstone project for Udacity Machine Learning Engineer Nanodegree Program, where I developed a convolutional neural networks (CNN) to classify dog breed among 133 dog breeds using PyTorch and transfer learning. Based on a picture of a dog, an algorithm will give an estimate of the breed of the dog. If the image of a person is given, it will provide an estimate of the dog breed that is most resembling.
The model built from scratch has an accuracy of 27%, while the model built by transfer learning has an accuracy of 86%.
- PyTorch
- Convolutional neural networks (CNN)
- Transfer learning
- OpenCV pre-trained face detector (haarcascades)
- Pre-trained VGG-16 CNN model
- Pre-trained ResNet-50 CNN model