My replication for diffusion model.
conda env create -f environment.yml conda activate diffusion
run the code in extract_data.ipynb to download CIFAR-10 data.
cd unconditional_DDPM
torchrun --nnodes=1 --nproc_per_node=2 train.py --config config.yaml --use_amp
torchrun --nnodes=1 --nproc_per_node=2 sample.py --config config.yaml --use_amp
python3 -m pytorch_fid unconditional_DDPM/2000_unconditional_DDPM/EMAgenerated_ep1999_ddpm_steps1000/pngs data/cifar10-pngs
FID: 3.2444050218018106
cd Class_conditional_DDPM
torchrun --nnodes=1 --nproc_per_node=2 --rdzv_endpoint=localhost:55000 train.py --config config.yaml --use_amp
torchrun --nnodes=1 --nproc_per_node=2 --rdzv_endpoint=localhost:55500 sample.py --config config.yaml --use_amp
python3 -m pytorch_fid Class_conditional_DDPM/2000_conditional_DDPM/EMAgenerated_ep1999_ddpm_steps1000/pngs data/cifar10-pngs
FID: 2.9473849136342665
cd unconditional_EDM
torchrun --nnodes=1 --nproc_per_node=2 --rdzv_endpoint=localhost:55001 train.py --config config.yaml --use_amp
torchrun --nnodes=1 --nproc_per_node=2 --rdzv_endpoint=localhost:55501 sample.py --config config.yaml --use_amp
python3 -m pytorch_fid unconditional_EDM/1200_unconditional_EDM/EMAgenerated_ep1199_edm_steps18/pngs data/cifar10-pngs
FID: 4.234571648031874
torchrun --nnodes=1 --nproc_per_node=2 --rdzv_endpoint=localhost:55002 train.py --config config.yaml --use_amp
torchrun --nnodes=1 --nproc_per_node=2 --rdzv_endpoint=localhost:55502 sample.py --config config.yaml --use_amp
python3 -m pytorch_fid Class_conditional_EDM/1200_conditional_EDM/EMAgenerated_ep1199_edm_steps18/pngs data/cifar10-pngs
FID: 3.707334678054849