Learning to Paint is an open-source PyTorch implementation of a deep reinforcement learning system that teaches artificial agents to recreate images through sequential brushstrokes. Based on research presented at ICCV 2019, it combines a learned neural renderer with model-based reinforcement learning. The agent determines stroke positions, shapes, and colors while planning how to approximate a target image. It can reproduce complex visual textures using hundreds of strokes. Training does not require examples of human painting movements or recorded brushstroke sequences. ...