A collection of models related to various aspects of Pokémon.
- Creates new Pokémon from images of pre-existing in PyTorch by training a deep convolutional generative adversarial network (DCGAN)
- Predicts Pokémon’s type from input image using multi-label classification in TensorFlow and Keras with a convolutional neural network (CNN)
- Classifies legendary status of Pokémon based on its other statistics
Creating new Pokémon from images of pre-existing ones using a generative adversarial network (GAN). Model uses the DCGAN architecture, where both generator and discriminator are CNNs, based on the paper Generative Adversarial Networks by Ian Goodfellow et al. Model was trained for 50 epochs, with results saved at each step, and required much tuning.
Some hand-picked and cleaned examples of generated Pokémon produced by the model:
The notebooks for this section are located at /generate_new.
Multi-label classification of a Pokémon’s type based on an input image. The model uses the EfficientNetB0 architecture, with early stopping and reducing learning rate on a plateau, trained for 19 epochs. Using test images from the first 151 Pokémon, the model achieves an area under the ROC curve very close to one.
Some examples of type predictions by the model (all are correct):
Inference can also be performed in the browser using a web server, with the exported model located at /type_classification/web.
The notebooks for this section are located at /type_classification.
A collection of models classifying the status (legendary, sub-legendary, mythical, normal) of Pokémon based on statistics like attack, defense, type, egg cycles, etc.
Our most successful models are Random Forests achieving accuracies of ~99%, with logistic regression, neural networks, and SVMs being other models that achieved 95%+ accuracy. The most useful features for discerning the legendary status are the number of egg cycles, the base experience, and the catch rate.
The notebooks for this section are located at /legendary_status.
How to run the application
- Clone the repository.
- Edit and rerun the Jupyter Notebooks as desired.
- PyTorch - Deep Learning
- TensorFlow - Deep Learning
This project is licensed under the MIT License - see LICENSE file for details.