Zhendong-Wang / Diffusion-GAN

Official PyTorch implementation for paper: Diffusion-GAN: Training GANs with Diffusion
MIT License
625 stars 67 forks source link

Inconsistent instructions and object creation #3

Closed jwb95 closed 2 years ago

jwb95 commented 2 years ago

Great work! Thank you for sharing the code.

I would like to reproduce some results but the arguments are flawed. For example this line is suggested in order to train Diffusion-ProjectedGAN: python train.py --outdir=training-runs --data="~/cifar10.zip" --gpus=4 --cfg cifar --kimg 50000 --target 0.45 --d_pos first --noise_sd 0.5

Argument target does not exist (I suppose you mean --d_target?). cifar is not a valid choice for cfg.

Then when trying e.g this: python train.py --outdir=training-runs --data="~/cifar10.zip" --gpus=1 --cfg stylegan2 --kimg 50000 --d_target 0.45 --d_pos first --noise_sd 0.5 --batch 16 I run into a bug:

In diffusion-projected-gan.pg_modules in line 119 a Diffusion-object is constructed: self.diffusion = Diffusion(t_init=5, t_max=500, beta_start=1e-4, beta_end=1e-2) but t_init is no valid argument of the Diffusion-class. Thus I changed it to: self.diffusion = Diffusion(t_min=5, t_max=500, beta_start=1e-4, beta_end=1e-2)

Training now works. Are these changes correct?

Zhendong-Wang commented 2 years ago

Hi,

First, thanks for your interests in our new work, and also thanks for pointing out the argument issue for Diffusion-Projected GAN here. That is a copy/paste bug when I cleaned the code, and sorry to make you inconvenience.

Your changes are correct. I also update the running instructions and code. Just git pull and it should work now. :)

jwb95 commented 2 years ago

Thank you.

You changed the prompt for training Diffusion-ProjectedGAN to: python train.py --outdir=training-runs --data="~/cifar10.zip" --gpus=4 --batch 64 --batch-gpu=16 --cfg fastgan --kimg 50000 --target 0.45 --d_pos first --noise_sd 0.5--noise_sd 0.5

While it still contains target instead of d_target, does the fastgan-config refer to projected GAN?

Zhendong-Wang commented 2 years ago

Yeah, I have updated the inner code to all use target and I tested that the code can run. Yes, fastgan is the specific config for Projected GAN, and I refer to https://github.com/autonomousvision/projected_gan for more details.

jwb95 commented 2 years ago

Great. Thank you for the clarification.