The main goal of the project is to build an image classification mode, create app using Gradio and deploy it.
pytorch
pytorch-lightning
clearml
rich
tqdm
split-folders
simple-parsing
gradio
I am using Animal-10 dataset from kaggle. You can split dataset into train, valid, and test folder using split-folders.
I used various mdoel but the final pipeline is base on ResNet-18 model. You can replace it with the model of your choice if you desire. I did not employ pretrained weights (weights=None
).
Training pipeline is defined in main.py
. There is also a test script test.py
to run inference and visualize the results.
I used ClearML to monitor my training process.
Notes: I did not spend to much time to improve the models metrics. My main focus was to get a decent model and move towards creating the demo application.
To run locally:
python3 app/app.py
Check out the live demo.