Skip to content

krishna-chaitanya-sanagavarapu/dog-breed-classifier

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dog-breed-classifier

Dog Breed Classifier implementation with PyTorch in Udacity Nano-degree course

Udacity's original repo is here

Project Overview

In this project, given an image of a dog, this algorithm will identify an estimate of the canine’s breed. If supplied an image of a human, the code will identify the resembling dog breed.

Sample Output

implementation performed in 4 steps:

  • Step 1: Detect humans
  • Step 2: Detect Dogs
  • Step 3: Create a CNN to Classify Dog Breeds (from Scratch)
  • Step 4: Create a CNN to Classify Dog Breeds (using Transfer Learning)

Import Datasets

CNN Structures

In Step 3:

Net(
(conv1): Conv2d(3, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(conv2): Conv2d(16, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(conv3): Conv2d(32, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(conv4): Conv2d(64, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(pool): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
(fc1): Linear(in_features=25088, out_features=500, bias=True)
(fc2): Linear(in_features=500, out_features=133, bias=True)
(dropout): Dropout(p=0.2)
(batchnorm): BatchNorm1d(500, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
)

​Accuracy has been achieved up to 20% with 20 epochs

In Step 4 (Transfer Learning):

Used Resnet50 for transfer learnings

Accuracy has been achieved up to 83% with 5 epochs

About

Udacity's Dog Breed Classifier implementation with PyTorch

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published