Skip to content

Creates new Pokémon from images of pre-existing in PyTorch with a deep convolutional GAN. Predicts Pokémon’s type from image with TensorFlow.js in browser from trained Keras model using a CNN.

License

Notifications You must be signed in to change notification settings

RaymondLZhou/pokepredict

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

69 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PokéPredict

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

Generate Pokémon

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: output1 generate

The notebooks for this section are located at /generate_new.

Image Classification

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): output1

Inference can also be performed in the browser using a web server, with the exported model located at /type_classification/web. output

The notebooks for this section are located at /type_classification.

Legendary Prediction

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.

Getting Started

How to run the application

  1. Clone the repository.
  2. Edit and rerun the Jupyter Notebooks as desired.

Data Sources

Built With

License

This project is licensed under the MIT License - see LICENSE file for details.

About

Creates new Pokémon from images of pre-existing in PyTorch with a deep convolutional GAN. Predicts Pokémon’s type from image with TensorFlow.js in browser from trained Keras model using a CNN.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published