The DNA for these paintings represents the latent variables of a Generative Adversarial Network.


NVIDIA's StyleGAN2 is used to render the paintings based on their latent DNA. The network was trained at 1024x1024 and 768x1024 crops are taken from the generated images.

To train the GAN, training data from Kaggle Painter by Numbers was used. Multiple scaled samples were taken from images that had a width or height of at least 1024 pixels. Paintings classified as portraits or landscapes were excluded.


The GAN was trained on eight NVIDIA VT100 GPUs from vast.ai for 3 days.

The trained StyleGAN2 pkl can be downloaded here: http://neural.art/trained.pkl.zip


For the Genetic Algorithm, a population size of 20 is used. After 100 votes are submitted, the top 5 paintings go on to produce the next generation (the top painting mates randomly with one of the other top 5 and then each of the 512 latent variables in the offspring is given a 2% chance of mutation).