๐ฐ This is a project that uses PyTorch to classify dogs and cats. I built it from scratch and compared multiple models to see which one worked better
๐ I do this project to practice what I learned from this course PyTorch for Deep Learning & Machine Learning โ Full Course with 30 hours - freecodecamp.org
โก Notebook - Train models
๐ฑ๏ธ If you don't want to train on Colab, well, just run this statement below:
User> pip install -r requirements.txt
User> python3 train_resnet_model.py
๐ Evaluating Train and Testing Processing
-
We can see that the results from the ResNet50 model are much better than the TinyVGG model, however, in the ResNet50 model, we can see that the model is overfitting. To solve this problem, we can reduce the number of layers in the ResNet50 model, in addition, we can experiment with some other optimizer types such as SGD or Adam to see the efficiency.
๐พ Predict with TinyVGG model
![Dog with TinyVGG model](https://private-user-images.githubusercontent.com/73897430/356859896-72888ad3-336b-44cc-99ec-ea71a5d26d56.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjM0MTUwMjEsIm5iZiI6MTcyMzQxNDcyMSwicGF0aCI6Ii83Mzg5NzQzMC8zNTY4NTk4OTYtNzI4ODhhZDMtMzM2Yi00NGNjLTk5ZWMtZWE3MWE1ZDI2ZDU2LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MTElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODExVDIyMTg0MVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWM0OThkZWZkZDE4NTRmZGYzOGYwYmMyY2I2NWQ3ZTYxOTk3ZmYwMGMwN2I2NjRmMGE4ZmM5OTFiMjM1NWQyMDgmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.HQM7L7uCmm8WsGL-7TGHEpaYVl4tipGL157Th7QjZVs)
![Cat with TinyVGG model](https://private-user-images.githubusercontent.com/73897430/356859899-c40a8229-07d9-4ec9-98fb-d1054d7b8be7.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjM0MTUwMjEsIm5iZiI6MTcyMzQxNDcyMSwicGF0aCI6Ii83Mzg5NzQzMC8zNTY4NTk4OTktYzQwYTgyMjktMDdkOS00ZWM5LTk4ZmItZDEwNTRkN2I4YmU3LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MTElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODExVDIyMTg0MVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWMwOTc2M2Q1ZGFkMDE5NjkwM2Y5MjAyOGEwZWZlNjExZGE0Mzk1YmU0MDQ5YWVlODkzZmY5YmYzMjNhMDRhOGEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.kFOIhgyfGgif6iwu6KXFyT5gch8BK2kX1WLtUVLLvZs)
๐พ Predict with ResNet50 model
![Cat with ResNet50 model](https://private-user-images.githubusercontent.com/73897430/356858880-f0890b4a-827a-40fa-af3c-12233cb44527.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjM0MTUwMjEsIm5iZiI6MTcyMzQxNDcyMSwicGF0aCI6Ii83Mzg5NzQzMC8zNTY4NTg4ODAtZjA4OTBiNGEtODI3YS00MGZhLWFmM2MtMTIyMzNjYjQ0NTI3LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MTElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODExVDIyMTg0MVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWM5OTVjYzZkYjIxZjIyMWQ0NmY2ZGQxYTYzOTgyNDIzNDAyNzdhY2E5ZTNiMDg2Nzc5OTdkOTMwNTVkMDA2MTYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.pGfiz0SI-aWRryzKpqvjSZKnEW95SAUUN7Kshp2obHo)
![Dog with ResNet50 model](https://private-user-images.githubusercontent.com/73897430/356858883-0fc42aac-01d8-4bf5-b5c7-ffdcab7b0c76.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjM0MTUwMjEsIm5iZiI6MTcyMzQxNDcyMSwicGF0aCI6Ii83Mzg5NzQzMC8zNTY4NTg4ODMtMGZjNDJhYWMtMDFkOC00YmY1LWI1YzctZmZkY2FiN2IwYzc2LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MTElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODExVDIyMTg0MVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWNkZjdhYzU2ZDA4MjY5YmQ4YzY3YmIxNzZlMWU5ZDU3ODI1YjM5NjE1YmUwYWIyNzQwOGQ4NWI3NmFkMjM5YjgmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.T0rNJHhVtCgy9kfoFaDbmHT7o0Rz16qag1mHsIlDfhY)
โก Notebook - Evaluating models and deploy them
๐ File Structure
deploy/
โโโ dogvscat_mini/
โโโ ResNet.pth
โโโ app.py
โโโ examples/
โ โโโ example_1.jpg
โ โโโ example_2.jpg
โ โโโ example_3.jpg
โโโ model.py
โโโ requirements.txt
- See more here https://dev.to/sh20raj/how-to-use-git-with-hugging-face-from-cloning-to-pushing-with-access-token-verification-5711
- format:
git clone https://USERNAME:[email protected]/spaces/USERNAME/REPO_NAME.git
- or:
git remote set-url origin https://USERNAME:[email protected]/spaces/USERNAME/REPO_NAME.git