Tiny, readable PyTorch Lightning GAN template — DCGAN-style generator + spectral-norm discriminator. A compact starter to design and scale up GAN models.
tiny_celeba_gan_spectral_norm.py— single-file training script- Checkpointing for generator & critic (
state_dict()), optional optimizer files - Hinge loss, manual optimization, TensorBoard logging, saves on epoch end + SIGINT
Training example: 100_epochs_training_results.gif (included).
- Download CelebA-HQ and put it at the repo root as
celeba_hq(Kaggle): https://www.kaggle.com/lamsimon/celebahq - Run:
python tiny_celeba_gan_spectral_norm.py --image_size 64 --batch_size 128 --max_epochs 50 --save_dir ./outputs --tb_logdir ./logs- View samples in
./outputsand open TensorBoard:
tensorboard --logdir logs- Default checkpoint paths:
drive/MyDrive/model/*.pth— override with--gen_checkpoint/--crit_checkpoint. - Use
--load_optimizers/--save_optimizersto restore/save optimizer state dicts (separate files). - Script attempts to load the generator checkpoint at startup; edit if you prefer to start fresh.
MIT — free to use and extend.
