Skip to content

lcarcamo1526/Dog-breed-classifier

Repository files navigation

Dog Breed Classifier in PyTorch

Project Overview

Sample Output

Datasets

CNN ARCH

(conv1): Conv2d(3, 32, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1))
(conv2): Conv2d(32, 64, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1))
(conv3): Conv2d(64, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(batch_conv1): BatchNorm2d(32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(batch_conv2): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(batch_conv3): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(pool): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
(fc1): Linear(in_features=6272, out_features=512, bias=True)
(fc2): Linear(in_features=512, out_features=133, bias=True)
(dropout): Dropout(p=0.3)

​ Accuracy has been achieved up to 18%* with 12 epochs in 'model_scratch.pt'

Transfer Learning

Used Resnet152 for transfer learnings

Accuracy has been achieved up to 88% with 10 epochs in model_transfer.pt