Table of Contents:

Resources for GAN Artists ✨

GAN Artist Community Etiquette

Code-based Tools

StyleGAN

Not GAN: Text-to-Image Diffusion Models

MISC

No-code Tools

Upsampling Tools

Compute resources

Collecting Your Own Training Data

Learning Resources

Community

Misc

Resources for GAN Artists ✨

Please comment with more resources to be added if you have them, or corrections to be made if something here doesn’t look quite right.

🛑 HOLD UP! If you’re looking for generative art, you should know that GANs (Generative Adversarial Networks [wiki]) are just a teeny tiny corner of the world of generative art [wiki]. There is plenty of machine learning art that doesn’t use GANs, and there is a whole bunch of generative art that doesn’t use machine learning. If you’re curious about more rudimentary or generally non-AI generative art, Processing.org might be a good place to get started! But if you’re interested in GANs in particular, read on:

GAN Artist Community Etiquette

(WIP, suggestions & debates welcome):

  • Credit your model (e.g. GPT-2, StyleGAN2), and if you’re using someone else’s pre-trained model, credit the artist who curated the images and link to their work (although Claire has suggested an edit to this -- if you don’t *want* to share, you have no obligation to -- sometimes we like to keep our secret sauce private and that’s ok too. But use common sense when it comes to what’s derivative transformative use vs. what might be plagiarism of someone else’s work)
  • Explain GANs to everyone in terms they can understand (don’t gatekeep with confusing language on purpose); make new friends; celebrate this beautiful intersection of computer science and artwork
  • Welcome newcomers; the medium doesn’t ‘belong’ to anyone
  • Promote each others’ work; share researchers’ papers and resources that are helpful
  • All methods are valid (code, no-code, mix)
  • Consider your carbon footprint (look at carbon recapture, GPUs that run on renewables - AFAIK this includes Colab, Runway, and AWS. If you’re using your home university or corporate GPU cluster, consider asking them about their carbon recapture efforts)
  • Collaborate with other artists! Whether in this medium, or across mediums
  • Try new things, and tell people what happened when you tried them… even if you failed
  • Respect your elders (not me, I’m not old) -- there are so many shiny new tools in this space, it’s important to recognize that some more experienced folks came into this medium when it was very painstaking to work with. Celebrate their work too, not just new work!
  • You can be competitive and money-focused (we’ve all got bills to pay), but you’ll probably get more out of life (and maybe make more money) if you’re collaborative, friendly, and focused on the creative process
  • Just because you *can* make an infinite number of artworks, doesn’t mean you *should*. Take care to curate and innovate with your work.
  • Think about your training data: if you’re training on faces or bodies, are those faces/bodies representative of a diversity of humanity? If you’re training on text, does that text include harmful stereotypes or slurs? GANs of course replicate what they’ve seen, so it’s up to us as the human-in-the-loop to consider what we want to generate *more* or *less* of
  • Partnership on AI’s Field Guide Zine to Making AI Art Responsibly

Code-based Tools

Compare costs of various compute resources with MosaicAI

StyleGAN

StyleGAN3 Official Documentation

StyleGAN3 Training configuration (h/t @dvsch)

StyleGAN3 implementation by Derrick Shultz (@dvsch - subscribe to the Artificial Images patreon for more grade-A content and check out his courses on youtube)

CLIP-guided StyleGAN3 (by @nshepperd1 h/t @RiversHaveWings)

> a version with GUI (courtesy of @EarthML1)

StyleGAN2 ADA (lots of tools for latent exploration) - ty Virtual

StyleGAN2 Notebook for NON-SQUARE images! (ty eps696, hexorcismos & johannezz)

A collection of pre-trained models for download (ty Jeremy)

see also: Jeff Heaton’s pretrained Fish, Minecraft, 70s Sci-Fi, and Christmas pre-trained GANs

StyleDreams: Fine-tune StyleGAN models with CLIP (by @ArYoMo, ty FARGO)

Text-to-Image Diffusion Models

MidJourney Discord beta

DiscoDiffusion v5.6

Beta signup for Stable Diffusion

CLIP + VQGAN keyword comparisons by Kingdomakrillic (ty rragnar)

Megadoc of CLIP-controlled image generators (ty Johannezz)

BigSleep: BigGANxCLIP Colab Notebook

VQGAN+CLIP Colab Notebook

Another VQGAN+CLIP Notebook (called “AI Art Machine”)

Semantic Style Transfer with CLIP+VQGAN

CLIP-Guided Diffusion Notebook by @RiversHaveWings

CLIP-guided StyleGAN3 (by @nshepperd1 h/t @RiversHaveWings)

> a version with GUI (courtesy of @EarthML1)

VQGAN+CLIP Animations w/ 2X Upscaler notebook (ty Demz One)

Misc.

Google demo course on using TensorFlow with GANs, in Colab (Python) notebooks

Auto-reconnect to colab notebooks (thanks thisisstar)

For syncing audio - Lucid Sonic Dreams (ty SquidGAN)

Direct link to LucidSonicDreams colab notebook

Adding a 3D effect to static GAN images

Colab demo on how to use OpenAI’s Jukebox for Generative Music (thanks Bokar!)

AItextgen for using GPT-2 for text generation (ty Bokar)

Advadnoun’s Patreon - new notebooks released regularly (“best $5 I ever spent” - Nodradek)

GANsynth - Music generation from MIDI training data (Colab notebook)

“Infinite Nature” zooming effect notebook (ty Justin!) - based on ALIS

Using Tensorboard in Google Colab for training visualization

Taming Transformers for high-resolution image synthesis of landscapes

DeepDaze (appears DeepDream-adjacent?)

Style Transfer on your personal computer (Linux only) - ty Jeremy

Style Transfer on your personal computer (Mac only w/ xcode) - ty Moises

GANcraft: GAN photorealistic rendering of minecraft worlds (ty Peter Baylies for sharing - by @arunmallya)

> paper website here

FILM - Latent space looking interpolation between limited frames (ty Derrick!)

another colab edit of FiLM by @DigthatData

DAIN Smooth lerping from NVIDIA ty @karenxcheng

No-code Tools

DALL-E 2 from OpenAI

Craiyon (f.k.a. Dalle-Mini – note: NOT by OpenAI)

MindsEye GUI for creating VQGAN/CLIP art in a colab notebook (great way to get into working in Colab environments without witing any new code) – Amazing tool from @multimodalart

ArtBreeder (Joel Simon et al): Simple playground tool to make GAN art in-browser with the community

NVIDIA GauGAN: MS-Paint in-browser, but for GANs

RunwayML (pay for cloud GPU or run locally) - note: can be *expensive*, try free, then try 1 month, before you buy a whole year subscription

Playform.io 

Animate flowing clouds in Blender (thanks Kovadon!)

Deep Dream Generator

Ostagram (thanks @deepdreamer10)

Awesome thread by @GuyP on post-processing tools

Upsampling Tools

Colab Notebook for ESRGAN (ty Eibriel)

Collab Notebook for ISR (upsampling single images - ty Johanezz)

BIGJPG (thanks Kovadon)

Upsampling videos 2x or 4x (ty Johannezz)

Gigapixel (30-day free trial, then $99 license) (thanks Kovadon)

Mirrors for the degenerates in the discord

Compute resources

Lambda GPU Cloud has NVIDIA A100s for $1.10 / hour (ty @stephenbalaban)

Introduction to using Google Colaboratory

Collecting Your Own Training Data

Frame extraction and k-means pixel-clustering from video frames (by Nodradek)

BeautifulSoup for web scraping (be nice -- rate-limit yourself if you’re making a lot of calls so you don’t DDoS people by accident)

Using PhotoShop ‘Actions’ for batch processing scripts

Mac users - ‘Automator’ built-in software for batch file processing without command line

GPT-2/3 users - scrape Reddit posts using Pushshift API (please donate if you can, Jason B. does an incredible job maintaining this server infrastructure)

Using OpenCV + Python to automatically align faces

Batch Image downloader Chrome extension (thanks Bosch Rave!)

Bulk background removal Colab notebook using U-2-Netp

Same.energy scraper (thanks dham!)

DownThemAll extension for getting all images on a page (thanks Jeremy!)

Discord scraper

Enormous repository of pressed plants (ty Jer Thorp)

Learning Resources

Deep Dives: Distill.pub articles

VISxAI - Explainable data visualizations (IEEE VIS Workshop)

GAN lab, playground for understanding the mathematical mechanics

List of kaggle notebooks for learning basic ML topics, e.g. ROC, PCA, BERT, LSTM, etc.

Derrick Shultz’s Advanced StyleGAN course 🔥

MIT 6.S192: Deep Learning for Art, Aesthetics, and Creativity

Ian Goodfellow, co-creator of the Generative Adversarial Network, at NeurIPS 2016

Computerphile - Intro to GANs (pen on paper explanation)

But wait… What even is a Neural Network? 3blue1brown (also a great channel for general math topics like calculus)

Intro to Making Images with CLIP (ty Johannezz)

Introduction to PyTTI

Training NVIDIA StyleGAN2-ADA Class: Week 1 (StyleGAN Network, RunwayML, Server Setup) <--- There’s a link to a Slack channel in the YouTube description

Google Developers crash course on GANs

What about conditional training? Course from Artificial Images (this whole YouTube channel is amazing) - ty ela4zero for sharing

Helena Sarin @ EyeO 2019 and on why ‘bigger isn’t always better’ with GANs, via ArtNome

Introduction to GANGogh, Kenny Jones

Introduction to CLIP, Charlie Snell

Introduction to VQGAN, LJ Miranda

See also: Open Questions about GANs

GANspace: Discovering Interpretable GAN Controls (h/t Jeremy) -- ArXiv here

Jane Adams artist talks:

Generative design for 3D objects - Autodesk Project Dreamcatcher

General research: https://sci-hub.st/ Definitely don’t ever use this website to read academic papers that are behind a paywall, because that would be illegal - sharing here so other people know to avoid this website and not enter DOI numbers or URLs into the search bar to read entire scientific papers for free. We don’t live in a g*ddamn utopia of free education, people.

Community

List of GAN artists on Twitter 

RunwayML Slack channel

Media Synthesis subreddit

ArtBreeder Discord

ML4A (Machine Learning for Artists) Slack (thank you Abhinaya)

EleutherAI Discord channel

Artificial Images slack

Misc

$15 off referral link for printing your first Infinite Object (video print) -- latent walks with an infinite loop look great on these