/default-project

Starter code for Stanford CS236 default final project on GANs

Primary LanguagePython

Quick Start

  • Install Miniconda package manager.
  • Create and activate conda environment.
conda env create -f environment.yml
conda activate cs236-dp

NOTE: PyTorch dependency specified in environment.yml uses CUDA 11.1. If CUDA 11.1 is unsupported on your environment, please install PyTorch separately by following the official instructions.

  • Download dataset and baseline checkpoints.
python download.py
  • Start training using baseline model.
python train.py --name EXPERMENT_NAME
  • Evaluate trained models.
python eval.py --ckpt_path PATH_TO_CKPT --im_size RESOLUTION
  • Create leaderboard submission submission.pth (upload to Gradescope).
python eval.py --ckpt_path PATH_TO_CKPT --im_size RESOLUTION --submit
  • Visualize training logs using Tensorboard.
tensorboard --logdir out --bind_all

NOTE: Metrics logged during training (e.g. IS, FID, KID) are approximations computed using limited data. Use eval.py to compute accurate metrics.

Baseline Models

The baseline models are Residual SNGANs from Mimicry: Towards the Reproducibility of GAN Research.

Baselines Baseline-32-150k Baseline-64-150k Baseline-32-295k Baseline-64-295k
Resolution 32x32 64x64 32x32 64x64
Seed 0 0 236 236
Batch Size 64 64 64 64
niter 150k 150k 295k 295k
ndis 5 5 5 5
β1 0 0 0 0
β2 0.9 0.9 0.9 0.9
lr 2e-4 2e-4 2e-4 2e-4
lrdecay Linear Linear Linear Linear
IS 6.212 7.234 6.326 7.330
FID 42.452 68.360 35.339 62.250
KID 0.02734 0.06240 0.01984 0.05556
Samples

NOTE: Use 150k baselines to benchmark models trained from scratch and use 295k baselines if your models don't involve training from scratch.