Skip to content
AI-generated twitch emotes.
Jupyter Notebook
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


@cchan, @RobertRiachi

Generating 28x28 Twitch emotes with a Wasserstein GAN!

We used Colab to train the model, using their free K80 gpu. #ThanksGoogle

Next steps might be to initialize with Inception weights or even augment the data with ImageNet samples to help pull it toward more meaningful-looking objects.


Epoch 0

Epoch 0 Sample 3

It's already learned what edges are and how to deal with transparency.

Epoch 2

Epoch 2 Sample 2

Epoch 5

Epoch 5 Sample 1

It seems to be resolving things into objects, ish. An apple core?

Epoch 13

Epoch 13 Sample 2

Not much has improved; this seems converged.

Epoch 31

Epoch 31 Sample 3

A firefox?

Epoch 41

Epoch 41 Sample 1

A pokemon?

The training stopped in the middle of Epoch 42, due to Colab timing out the instance.


  • downloader.go downloads all Twitch emotes in parallel. It's quite fast.
  • png2hdf5.ipynb transforms the ones we want (28x28 RGBA, which is the most common dimensions) into an HDF5 file.
  • dataset-first-50k is the first 50,000 28x28 RGBA Twitch emotes, which is what we're training on.
  • gan.ipynb contains the actual training code.
You can’t perform that action at this time.