Open RipeMangoBox opened 5 months ago
The code you display is the training processing. The inference procedure is in the "forward" function of "GaussianDiffusionSampler" class of the Diffusion.py file.
训练时并没有遍历所有的时间t,而是对时间进行采样,只对某部分t到t-1的过程进行降噪训练。在采样时才是按时间遍历进行降噪
Thank you for your valuable contribution! I have a question regarding the implementation. From my understanding, DDPM involves denoising
x_t
to obtainx_0
over t steps. However, I couldn't locate the corresponding loop code within the project. Is it possible that this part has been simplified to perform one-step denoising, resembling the approach used in a Variational Autoencoder (VAE)?In the forward function of the GaussianDiffusionTrainer class in Diffusion.py, a random integer list t is generated, representing different T values such as [5, 2, 0, 1, 5, 8, 15, ...]. These values are utilized in denoising through UNet. However, I couldn't find a loop that takes into account the t steps either in Diffusion.py or Train.py.
Does anyone can help me?
非常感谢您的出色工作!根据我的有限知识,DDPM 使用 t 步骤来去噪 x_t 到 x_0,但我在项目中找不到相应的循环代码。这部分是否被简化为像 VAE 一样的 单步去噪?
以上是 Diffusion.py 中 class GaussianDiffusionTrainer 中的 forward 函数。 t 是一个随机整数列表,如 [5, 2, 0, 1, 5, 8, 15, ...],其值被视为不同的 T,然后传递给 UNet 进行去噪。我在 Diffusion.py 和 Train.py 中都找不到考虑 t 步骤 的循环。
求佬助!