The app was live at http://3.235.176.30:8501/, hosted on a AWS EC2 Instance. However, I discovered that Streamlit Sharing hosts Streamlit apps for free, so I switched over. (Sorry, EC2 Instances cost money.) The app can now be accessed live at: https://share.streamlit.io/branlulu/pokemon-classifier-pytorch/main/app.py.
Clone this repo to your desktop and run pip install -r requirements.txt
to install the dependencies. I recommend setting up a fresh conda environment for PyTorch, if you haven't already. To set up a Python 3.8 environment using Conda, run conda create --name pytorch python=3.8
.
After you clone this repo to your desktop, go to its root directory.
Run streamlit run app.py
to set up the web app locally. By default, Streamlit will run on localhost:8501
.
The app uses a convolutional network trained on a database of pokemon images. The neural network is able to classify the first 150 Pokémon from the Video Game and Television series with ~55% test accuracy (from a 70-30 training-test split).
The training set is modified from the following Kaggle dataset: https://www.kaggle.com/lantian773030/pokemonclassification.
It is worth noting that due to insufficient data, the model does not support a few Pokémons (e.g. Nidoran). Future work includes gathering and training the model on a more comprehensive dataset. The model is for recreational use only and is not intended to identify creatures other than those specified.
This project is licensed under the terms of the MIT license.