When we were thinking about what to make for the project, we came across the #MyOctocat challenge by Github. The challenge itself is to draw the Github octocat for a new sticker design. We wanted to code something on the similar side, so we eventually stopped on the idea to make a Generative Adversarial Network to generate drawings for the #MyOctocat challenge and tweet them directly @GithubEducation
What it does
OctoGAN is a program that generates drawings for the #MyOctocat challenge made by Github and tweets directly at them with a completely originally generated drawing.
How we built it
We built OctoGAN with a Deep Convolutional Generative Adversarial Network in Pytorch which is a special pair of unsupervised neural networks where one network discriminates between real and fake images and the other network generates fake images to try and fool the discriminating network. Tweeting the picture is handled with the tweepy API.
Challenges we ran into
The largest challenge we ran into was trying to scale the results of our network to better resolutions. Currently it only makes 64x64 images, which is really small compared to other drawings submitted to the challenge. Training the neural network with the current model just didn't work for higher resolution images, and it also took a lot of time, which made it infeasible to work on during the course of the hackathon.
We tried training on Google Cloud, but we had problems downloading Pytorch, and because of that, the code didn't work well enough.
Accomplishments that we're proud of
We are surprised that our model worked at all. None of us are that experienced with unsupervised deep learning, so to see decent results with our simplistic model, we are already really proud.
What we learned
We learned that a good training environment is key to training a neural network. Without it, training will be really slow and cumbersome. We also learned how to make a GAN to do unsupervised deep learning.
What's next for OctoGAN
The next step is to make OctoGAN generate better resolution images.