/cnntools

Cats and Dogs Binary Image Classification with Pytorch CNN

Primary LanguagePythonMIT LicenseMIT

#License MIT

Roy Massaad 2023

#Description

CNN Image binary classification network sample using Pytorch Train and test with cli (tooling lib placed in cnntools folder) Cat Dog Dataset included from Kaggle https://www.kaggle.com/datasets/shaunthesheep/microsoft-catsvsdogs-dataset/data

#Main Module

main.py, config.py, and the neural tensor processing files in cnntools folder, using Pytorch Default network has 3 convolution layers and 2 linear fully connected layers check/edit hyperparameters in config.py CNN is in structs.py

#Side Module

A Django webapp folder where you can take a photo or upload from gallery and have the CNN classify it This side project can be deployed online, it has its own duplicate cnntools folder inside it and a saved model trained file to use "trained_model_xxx.pth". Default password to upload the form image is 'pass123' (change it if deployed online)

#Requirements

  • Python 3.x (tested on Python 3.11)

  • Pytorch 1.x+ (tested on Pytorch 2 with cpu, cuda and mps)

  • climage

  • numpy

  • matplotlib

  • torchvision

  • tqdm

For testing use PyTest