StarGAN is the official PyTorch implementation of StarGAN, the CVPR 2018 model that performs image-to-image translation across many domains with a single generator and discriminator. Instead of training a separate model for every pair of domains, StarGAN learns all mappings at once using a mask vector that tells the network which target attributes to apply. The MIT-licensed repository has more than 5,200 stars on GitHub and remains a standard reference implementation, with its last code updates in 2021.
Before StarGAN, translating images between domains — blond to black hair, smiling to angry, young to old — meant a dedicated model per pair, which scales badly. StarGAN’s insight was to train one network on multiple datasets and domains jointly: auxiliary classifiers teach the discriminator to recognise domains, while a mask vector lets the generator select the target domain at run time, so a single model handles facial attribute transfer, hair colour changes and expression synthesis. The repository provides training and testing code, configuration for datasets such as CelebA and RaFD, and pretrained models, which is why it became a fixture in generative-modelling courses and a baseline that later multi-domain translation papers compare against. It is research code rather than a polished product, and the field has since moved to diffusion models for most image editing, but as a readable, complete implementation of a landmark GAN paper it still earns its place in the GitHub collection.
Free. StarGAN is open-source research code under the MIT license.
Researchers, students and engineers learning or benchmarking GAN-based image translation who want the canonical implementation of a landmark paper.