lucidrains / denoising-diffusion-pytorch

Implementation of Denoising Diffusion Probabilistic Model in Pytorch
MIT License
8.04k stars 1k forks source link

Poor performance with the denoising_diffusion_pytorch.py #192

Open WindFall-wyx opened 1 year ago

WindFall-wyx commented 1 year ago

I trained the cifar100 dataset using the trainer example code provided by the author in readme, and closed amp, image_ size=32。 However, it is still found that the sampling effect is relatively vague, and the final model samples 50000 images and calculates a fid of 15.

In addition, I have also done experiments on other datasets, image_ size=64 or 84。 The sampling effect is extremely poor, and some images may appear completely black or white, which will not improve as the number of training steps increases. The final fid is 95.

I trained completely according to the source code, why is the result so bad? Could anyone help me, thank you! @lucidrains

DavidXie03 commented 1 year ago

I am faced with the similar problem. Maybe you can try to set the hyper-parameters as the original paper DDPM's. Through this way I get a little better performance, but still not as good as expected. One problem is that there is no dropout in denoising_diffusion_pytorch.py, while DDPM set dropout rate for cifar10 to 0.1.

DavidXie03 commented 1 year ago

https://github.com/lucidrains/denoising-diffusion-pytorch/issues/193 Here is my issue.

baizhenzheng commented 1 year ago

I am faced with the similar problem. Maybe you can try to set the hyper-parameters as the original paper DDPM's. Through this way I get a little better performance, but still not as good as expected. One problem is that there is no dropout in denoising_diffusion_pytorch.py, while DDPM set dropout rate for cifar10 to 0.1.

When I ran the train function, the initial calculated fid score was only around 0.3, but the generated image was very poor.Thanks

je-santos commented 1 year ago

What’s the best FID that y’all have achieved in CIFAR with this code base?

chengyiqiu1121 commented 3 months ago

I am faced with the similar problem. Maybe you can try to set the hyper-parameters as the original paper DDPM's. Through this way I get a little better performance, but still not as good as expected. One problem is that there is no dropout in denoising_diffusion_pytorch.py, while DDPM set dropout rate for cifar10 to 0.1.

add dropout, the loss decreases to 0.01 quickly, before that it alway nearly 0.05