TiankaiHang/Min-SNR-Diffusion-Training

Division by (SNR + 1)?

markub3327 opened this issue · 1 comments

Hello @TiankaiHang,

Your paper talks about division by (SNR + 1) for velocity objective, but when I read your code I could not see this dividing.

Could you explain it to me? It is necessary to do loss_weight = minimum(snr, 5) / (snr + 1) for velocity objective???

Thanks.

Thanks for pointing it out. It was cleaned when releasing the code. The default setting is predicting noise and x_start.
Now I have updated the code and the example config setting is configs/in256/vit-b_layer12_lr1e-4_099_099_pred_v__min_snr_5__fp16_bs8x32.sh.
If you predict v, set the loss weight type beginning with vmin_snr_.

Hope this could help you. If you have further question, please reopen the issue or raise a new issue.

Thanks again for your interest!

Best,
Tiankai