-
Notifications
You must be signed in to change notification settings - Fork 158
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
How is T rounds denoising realized in code?(T轮去噪是如何体现的) #39
Comments
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的过程进行降噪训练。在采样时才是按时间遍历进行降噪 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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 步骤 的循环。
求佬助!
The text was updated successfully, but these errors were encountered: