• Home
  • Projects
  • Art
  • Blog
  • CV
Menu

Riley Wong

  • Home
  • Projects
  • Art
  • Blog
  • CV
Gyarados, a water type
Gyarados, a water type
Gyarados as fire type
Gyarados as fire type
Gyarados as grass type
Gyarados as grass type
Gyarados as electric type
Gyarados as electric type

pokemon2pokemon: Using Neural Networks to Generate Pokemon as Different Elemental Types

June 3, 2019

Have you ever wondered what a Gyarados would look like as a fire type? Or grass type, or electric type?

For my last project at the Recurse Center, I trained CycleGAN, an image-to-image translation model, on images of Pokémon of different types.

 
Ho-oh, a fire type
Ho-oh, a fire type
Ho-oh as dark type
Ho-oh as dark type
 

Model Overview

CycleGAN is an image-to-image translation model that allows us to “translate” from one set of images to another. For more on CycleGAN, see previous blog posts on image-to-image translation with CycleGAN and pix2pix.

The open-source implementation used to train and generate these images of Pokémon uses PyTorch and can be found on Github. For this project, I trained the model to translate between sets of Pokémon images of different types, e.g. translating images of water types to fire types.

Training Data

I found the original dataset of Pokémon images and their types on Kaggle, containing Generations 1-7. I wrote a script to sort the Pokémon images by their primary type.

The resulting dataset, as well as the script, can both be found on my Github.

Results

For each pair of images, on the left is the original image of the Pokemon, and on the right is the type-translated version. (Results are best viewed if you turn off f.lux, night shift, or any other display mode that changes the color of your screen.)

Water type -> other types

Dewgong, water type
Dewgong, water type
Dewgong as grass type
Dewgong as grass type
Lapras, water type
Lapras, water type
Lapras as grass type
Lapras as grass type
Azumarill, water type
Azumarill, water type
Azumarill as grass type
Azumarill as grass type
Kingdra, water type
Kingdra, water type
Kingdra as grass type
Kingdra as grass type
Clawitzer, water type
Clawitzer, water type
Clawitzer as fire type
Clawitzer as fire type
Empoleon, water type
Empoleon, water type
Empoleon as grass type
Empoleon as grass type
Greninja, water type
Greninja, water type
Greninja as grass type
Greninja as grass type
Keldeo, water type
Keldeo, water type
Keldeo as grass type
Keldeo as grass type
Cloyster, water type
Cloyster, water type
Cloyster as electric type
Cloyster as electric type
Lapras, water type
Lapras, water type
Lapras as fire type
Lapras as fire type
Kyogre, water type
Kyogre, water type
Kyogre as grass type
Kyogre as grass type
Feraligatr, water type
Feraligatr, water type
Feraligatr as grass type
Feraligatr as grass type
Clawitzer, water type
Clawitzer, water type
Clawitzer as grass type
Clawitzer as grass type
Carracosta, water type
Carracosta, water type
Carracosta as fire type
Carracosta as fire type
Greninja, water type
Greninja, water type
Greninja as fire type
Greninja as fire type
Clauncher, water type
Clauncher, water type
Clauncher as grass type
Clauncher as grass type


Fire type -> other types

Slugma, fire type
Slugma, fire type
Slugma as dark type
Slugma as dark type
Ponyta, fire type
Ponyta, fire type
Ponyta as dark type
Ponyta as dark type
Combusken, fire type
Combusken, fire type
Combusken as dark type
Combusken as dark type
Torkoal, fire type
Torkoal, fire type
Torkoal as water type
Torkoal as water type
Darmanitan, fire type
Darmanitan, fire type
Darmanitan as dark type
Darmanitan as dark type
Delphox, fire type
Delphox, fire type
Delphox as dark type
Delphox as dark type
Simisear, fire type
Simisear, fire type
Simisear as dark type
Simisear as dark type
Pignite, fire type
Pignite, fire type
Pignite as water type
Pignite as water type
Heatmor, fire type
Heatmor, fire type
Heatmor as electric type
Heatmor as electric type
Ho-oh, fire type
Ho-oh, fire type
Ho-oh as electric type
Ho-oh as electric type
Rapidash, fire type
Rapidash, fire type
Rapidash as dark type
Rapidash as dark type
Blaziken, fire type
Blaziken, fire type
Blaziken as dark type
Blaziken as dark type
Flareon, fire type
Flareon, fire type
Flareon as water type
Flareon as water type
Darmanitan, fire type
Darmanitan, fire type
Darmanitan as electric type
Darmanitan as electric type
Delphox, fire type
Delphox, fire type
Delphox as water type
Delphox as water type
Simisear, fire type
Simisear, fire type
Simisear as water type
Simisear as water type
Magmortar, fire type
Magmortar, fire type
Magmortar as electric type
Magmortar as electric type
Talonflame, fire type
Talonflame, fire type
Talonflame as water type
Talonflame as water type


Grass type -> other types

Bellossom, grass type
Bellossom, grass type
Bellossom as water type
Bellossom as water type
Grovyle, grass type
Grovyle, grass type
Grovyle as water type
Grovyle as water type
Maractus, grass type
Maractus, grass type
Maractus as water type
Maractus as water type
Leafeon, grass type
Leafeon, grass type
Leafeon as water type
Leafeon as water type
Sceptile, grass type
Sceptile, grass type
Sceptile as water type
Sceptile as water type
Pansage, grass type
Pansage, grass type
Pansage as water type
Pansage as water type


Electric type -> other types

Electivire, electric type
Electivire, electric type
Electivire as dark type
Electivire as dark type
Thundurus, electric type
Thundurus, electric type
Thundurus as fire type
Thundurus as fire type


Dragon type -> other types

Latios, dragon type
Latios, dragon type
Latios as grass type
Latios as grass type
Kyurem, dragon type
Kyurem, dragon type
Kyurem as dark type
Kyurem as dark type
Garchomp, dragon type
Garchomp, dragon type
Garchomp as dark type
Garchomp as dark type
Zekrom, dragon type
Zekrom, dragon type
Zekrom as fire type
Zekrom as fire type
Rayquaza, dragon type
Rayquaza, dragon type
Rayquaza as fire type
Rayquaza as fire type
Salamence, dragon type
Salamence, dragon type
Salamence as fire type
Salamence as fire type
Haxorus, dragon type
Haxorus, dragon type
Haxorus as fire type
Haxorus as fire type
Zygarde, dragon type
Zygarde, dragon type
Zygarde as fire type
Zygarde as fire type


Dark type -> other types

Darkrai, dark type
Darkrai, dark type
Darkrai as dragon type
Darkrai as dragon type
Yveltal, dark type
Yveltal, dark type
Yveltal as electric type
Yveltal as electric type
Hydreigon, dark type
Hydreigon, dark type
Hydreigon as fire type
Hydreigon as fire type



Tags cycleGAN, neural networks, neural network, image-to-image translation, pokemon, images, image processing, pytorch, GANs, generative adversarial networks, machine learning
2 Comments
  • 2024
    • Nov 18, 2024 [Talk] Applications of MP-FHE for Vulnerable Communities Nov 18, 2024
    • Jun 11, 2024 [Resource] Community Models for Music Venues and Platforms Jun 11, 2024
    • Jun 11, 2024 [Resource] Interfaces for Data Consent Jun 11, 2024
    • May 7, 2024 Cooperative Leaders and Scholars, Community Venues and Cultural Land Trusts May 7, 2024
    • Mar 27, 2024 [Talk] Governable Spaces | Collective Governance: Governance Archaeology Mar 27, 2024
    • Mar 7, 2024 [Essay] Privacy-Preserving Data Governance, Ash Center Occasional Papers Series Mar 7, 2024
    • Jan 20, 2024 [Talk] Privacy-Preserving Data Governance, Second Interdisciplinary Workshop on Reimagining Democracy, Harvard Kennedy School Ash Center Jan 20, 2024
  • 2022
    • Nov 2, 2022 decentralized networks for community care, dweb reflections, general updates Nov 2, 2022
    • Nov 2, 2022 dm-uy 1133 creative coding guest lecture: creative applications of generative machine learning Nov 2, 2022
    • Mar 10, 2022 coops and governance: mood board Mar 10, 2022
  • 2021
    • Nov 4, 2021 coops and governance Nov 4, 2021
    • Nov 1, 2021 hypnopompia -- published fiction story w/ kernel mag Nov 1, 2021
    • Jul 28, 2021 sleep, dreams, and brain waves Jul 28, 2021
  • 2019
    • Jun 3, 2019 pokemon2pokemon: Using Neural Networks to Generate Pokemon as Different Elemental Types Jun 3, 2019
    • May 16, 2019 Localhost Talk: creative applications of deep learning, aka, neural networks for fun and not profit :-) May 16, 2019
    • Apr 24, 2019 Implementing char-RNN from Scratch in PyTorch, and Generating Fake Book Titles Apr 24, 2019
    • Apr 19, 2019 samoyed2bernese: Using CycleGAN for Image-to-Image Translation between Samoyeds and Bernese Mountain Dogs Apr 19, 2019
    • Apr 12, 2019 joke2punchline, punchline2joke: Using a Seq2Seq Neural Network to "Translate" Between Jokes and Punchlines Apr 12, 2019
    • Apr 4, 2019 Implementing a Seq2Seq Neural Network with Attention for Machine Translation from Scratch using PyTorch Apr 4, 2019
    • Apr 3, 2019 AACR June L. Biedler Prize for Cancer Journalism, SABEW Best in Business Honorable Mention Apr 3, 2019
    • Mar 19, 2019 Implementing Neural Style Transfer from Scratch using PyTorch Mar 19, 2019
    • Mar 6, 2019 Circuit Cities with Pix2Pix: Using Image-to-Image Translation with Generative Adversarial Networks to Create Buildings, Maps, and Satellite Images from Circuit Boards Mar 6, 2019
    • Mar 5, 2019 Dogspotting: Using Machine Learning to Draw Bounding Boxes around Dogs in Pictures Mar 5, 2019
    • Feb 28, 2019 Text Generation with GPT-2, OpenAI's Recently Released Language Model Feb 28, 2019
    • Feb 25, 2019 Generating Jazz Music with an LSTM Recurrent Neural Network Feb 25, 2019
  • 2018
    • Sep 25, 2018 Black Patients Miss Out On Promising Cancer Drugs Sep 25, 2018
    • May 23, 2018 Predicting Readmission Risk after Orthopedic Surgery May 23, 2018
    • May 3, 2018 Machine Learning for Healthcare May 3, 2018
    • Jan 3, 2018 Music and Mood: Assessing the Predictive Value of Audio Features on Lyrical Sentiment Jan 3, 2018
  • 2016
    • Jun 8, 2016 Algorithmic Bias Jun 8, 2016
    • May 26, 2016 Computational Creativity May 26, 2016
  • 2015
    • Mar 12, 2015 penn play promotional profile pictures Mar 12, 2015
    • Jan 21, 2015 fnar 247: environmental animation master post Jan 21, 2015
  • 2014
    • Dec 26, 2014 photographs 01 Dec 26, 2014
    • Aug 21, 2014 Morton Salt Girl 3D Model Aug 21, 2014
    • May 11, 2014 rotary telephone May 11, 2014
    • May 6, 2014 project dump May 6, 2014

Riley Wong © 2014 · contact