StyleGAN3 on BreCaHAD
PythonPyTorch 2.10CUDA 13StyleGAN3uv
Train StyleGAN2 (ADA) or StyleGAN3 (Alias-Free) on the BreCaHAD breast cancer histopathology dataset. Based on NVIDIA’s StyleGAN3, patched for PyTorch 2.10 + CUDA 13.x.
TL;DR — 5 commands from clone to training:
git clone git@github.com:MykolaVaskevych/stylegan3-brecahad.git && cd stylegan3-brecahad cd dataset && ./scripts/setup.sh && ./scripts/extract_crops.sh cd ../stylegan3 && ./scripts/setup.sh ./scripts/create_dataset.sh ./scripts/train_stylegan2.sh
Requirements
- Linux (tested on Arch)
- NVIDIA GPU with CUDA 13.x drivers (tested on RTX 4090, driver 590.48.01)
- Python 3.10–3.12
- uv
PyTorch 2.10 Compatibility Fixes
Three changes to NVIDIA’s original code:
torch_utils/misc.py—Sampler.__init__()no longer accepts a positionaldata_sourceargumenttorch_utils/custom_ops.py—cpp_extension.load()appends version suffixes to module names; use the return value instead ofimportlib.import_module()train.py— Adam optimizer requiresbetasas floats (0.0not0)
Training Reference
| Config | Speed | Best for |
|---|---|---|
| StyleGAN2 (ADA) | Fastest | General use, recommended |
| StyleGAN3-T | Slower | Smooth animation/interpolation |
| StyleGAN3-R | Slowest | Full rotation equivariance |
ADA (Adaptive Discriminator Augmentation) is critical for BreCaHAD’s ~1944 training images — prevents discriminator overfitting on small datasets.
Speed tips: --metrics=none gives ~2× speedup by skipping FID evaluation during training.
Resuming Training
uv run python train.py
--outdir=$HOME/training-runs
--cfg=stylegan2
--data=$HOME/datasets/brecahad-512.zip
--gpus=1 --batch=32 --batch-gpu=8 --gamma=8.2
--resume=~/training-runs/<run-dir>/network-snapshot-XXXX.pkl