Final Year Project (BSc Cognitive Science, UNIMAS). A large benchmarking study that trains and compares multiple Convolutional Neural Network (CNN) architectures for classifying dog breeds from images, and measures how image cropping, learning rate and dataset size affect accuracy.
- AlexNet
- VGG
- GoogLeNet
- InceptionV3
- Inception‑ResNet
- DenseNet
- MobileNet
Each architecture is trained under a grid of conditions (≈145 notebooks in total):
- Image preprocessing —
Crop Image Result/(dogs cropped from the photo) vsNot Crop Image Result/(full original image), to test whether cropping to the subject improves recognition. - Learning rate —
0.001and0.01. - Dataset size —
250,500,750and1000images per run.
split train and test set.txt documents how the data was divided into training and
testing sets.
Crop Image Result/ # experiments on cropped dog images
Not Crop Image Result/ # experiments on full/uncropped images
split train and test set.txt
Notebook names follow the pattern <Model><LearningRate>(<ImageCount>).ipynb,
e.g. AADenseNet0.001(1000).ipynb = DenseNet, LR 0.001, 1000 images.
- Python · Jupyter Notebook
- Deep‑learning CNNs via transfer learning
- Trained locally and on Kaggle / Google Colab
- Open any notebook in Jupyter, Google Colab or Kaggle.
- Point the data loader at your dog‑breed image dataset.
- Run the cells to train the chosen architecture and view its accuracy.
See Enhancing Dog Breed Classification with Feature Fusion of Pre‑trained CNNs for the follow‑up Master's project that fuses CNN features with classical classifiers.