latent-diffusion icon indicating copy to clipboard operation
latent-diffusion copied to clipboard

Is anyone able to reproduce the ldm performance (FID) on ffhq / celebA with multiple GPU?

Open Ir1d opened this issue 2 years ago • 16 comments

If I use scale_lr True then the model won't converge. If I use scale_lr False then the FID is terrible (~40)

Ir1d avatar Sep 03 '22 18:09 Ir1d

Same here, only one GPU can be used. Join me to contact if you are interested. Wechat: gong_ke_nv

zhangqizky avatar Sep 15 '22 09:09 zhangqizky

@zhangqizky @Ir1d Do you know why one GPU works and multiple GPU can not work? How to make multiple GPUs to work?

lostnighter avatar Sep 21 '22 05:09 lostnighter

您的邮件已收到,我会尽快回复,谢谢。张琦

zhangqizky avatar Sep 21 '22 05:09 zhangqizky

you need to make sure the total lr is the same as 1gpu. but in that case my fid is still larger than reported

Ir1d avatar Sep 21 '22 15:09 Ir1d

@Ir1d when i used multiple GPUs, I set --scale_lr False to enforce the total lr is the same as 1gpu. However, training using multiple GPUs get bad result. When I use one GPU without changing anything, the result get much better. It seems that trainiging using multiple GPUs has some problems, and training using one GPUs will NOT have those problems.

lostnighter avatar Sep 23 '22 05:09 lostnighter

@Ir1d How about the performance for training set? Is it better than or similar to the testing results?

zhangdan8962 avatar Feb 27 '23 22:02 zhangdan8962

您的邮件已收到,我会尽快回复,谢谢。张琦

zhangqizky avatar Feb 27 '23 22:02 zhangqizky

@zhangdan8962 unfortunately I still can't reproduce the FID reported in paper

Ir1d avatar Feb 27 '23 23:02 Ir1d

@zhangdan8962 unfortunately I still can't reproduce the FID reported in paper

Did you run the FID on testing data?

zhangdan8962 avatar Feb 28 '23 15:02 zhangdan8962

Is anyone set --scale_lr False and then multiply lr by an GPU_NUMs factor? I don't know if this works, I'm trying.

ader47 avatar Mar 19 '23 13:03 ader47

您的邮件已收到,我会尽快回复,谢谢。张琦

zhangqizky avatar Mar 19 '23 13:03 zhangqizky

Hello, I would like to ask the difference between unconditional LDM and conditional LDM. After the model is trained, is unconditional sampling generate image randomly, but not based on a given image? So, if I want to generate a normal image from a flawed image (without any annotations in the inference phase), should I use conditional LDM? @Ir1d @zhangqizky @lostnighter @ader47 @zhangdan8962

ustczhouyu avatar Mar 27 '23 03:03 ustczhouyu

Hello, I would like to ask the difference between unconditional LDM and conditional LDM. After the model is trained, is unconditional sampling generate image randomly, but not based on a given image? So, if I want to generate a normal image from a flawed image (without any annotations in the inference phase), should I use conditional LDM? @Ir1d @zhangqizky @lostnighter @ader47 @zhangdan8962

I think you should use conditional LDM, img2img

ader47 avatar Apr 02 '23 07:04 ader47

Hello, I would like to ask the difference between unconditional LDM and conditional LDM. After the model is trained, is unconditional sampling generate image randomly, but not based on a given image? So, if I want to generate a normal image from a flawed image (without any annotations in the inference phase), should I use conditional LDM? @Ir1d @zhangqizky @lostnighter @ader47 @zhangdan8962

I think unconditional LDM is also fine. You could refer ddpm.py#L1324. Adding masks might help with that. And FYI this method is based on the SDEdit.

Nyquist0 avatar Apr 19 '23 02:04 Nyquist0

@Ir1d how long did it take to train on one GPU and what was the size of your dataset?

mia01 avatar Oct 21 '23 23:10 mia01

您的邮件已收到,我会尽快回复,谢谢。张琦

zhangqizky avatar Oct 21 '23 23:10 zhangqizky