Open shoh4486 opened 1 year ago
Hi there, good catch! I remembered that I tried both np.arange(t) / np.arange(t).sum()
and np.arange(1, t + 1) / np.arange(1, t + 1).sum()
, and the choice doesn't matter. The code here is with the first option. But you definitely could try your own scheduling options.
Alright. I appreciate your kind answer :) Have a nice day
Thanks for the nice work, and I am trying to utilize the diffusion in my GAN model. And I have a minor question in your code:
(diffusion.py)
You set
prob_t
asnp.arange(t) / np.arange(t).sum()
, notnp.arange(1, t + 1) / np.arange(1, t + 1).sum()
. According to the former case (your code), the first diffused image is skipped. IfT
is 10,prob_t
is [0, 0.02222222, 0.04444444, 0.06666667, 0.08888889, 0.11111111, 0.13333333, 0.15555556, 0.17777778, 0.2], and ifalphas_bar_sqrt
istensor([1.0000, 0.9999, 0.9988, 0.9965, 0.9932, 0.9887, 0.9832, 0.9766, 0.9690, 0.9603, 0.9507])
andone_minus_alphas_bar_sqrt
istensor([0.0000, 0.0100, 0.0491, 0.0832, 0.1167, 0.1498, 0.1826, 0.2151, 0.2472, 0.2790, 0.3103])
, the second items in those tensors, that is,0.9999
and0.0100
are never drawn to the time stept
.Is this the intended behavior? or is there any misunderstanding of myself?
Thanks in advance, and again thank you for your nice work.