A simple project to predict dog breeds. This projects employed a deep learning model that has been trained to recognize dog breeds. The model is served through REST API running on python backend. A simple webapp is employed as user interface.
Demo note: performance is slow as we are running on cheap web server with shared other applications
The model was trained with dataset obtained from Kaggle. This dataset comprises 120 breeds of dogs.
Resnet50 is used as the base architecture. The model was developed through transfer learning from a pre-trained model trained on ImageNet dataset. During test the model was able to achieve 89.1% accuracy.
Clone the repository to your local folder. Type the following:
docker-compose up
Go to: http://localhost:3001/
By default, backend server is serving the API on http://localhost:8000 If the default is changed, we have to let the frontend know. This can be done by creating .env file in /frontend and specifying API endpoint as follow:
API=new_API_endpoint
Machine Learning:
- Pytorch
- FastAI
Backend:
- Python
- FastAPI
- Docker
Frontend
- Next.js
- Tailwindcss
- Docker