-
Notifications
You must be signed in to change notification settings - Fork 2
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
Questions about code and some SD start knowledge #17
Comments
Another question is, since we can get the This may be irrelavent to the paper, but I wat truly confused, but cant get an proper answer. It would be great if you can explain it. Thanks |
Hi,
The implementation of
Because pred_original_sample is just an approximation of the final latent. It is computed by combining the noise predicted by the UNet and the noisy latent that is progressively refined. When t is large (e.g., 900), the latent is still very noisy and the noise predicted by the UNet may contain errors. As a consequence, the approximation of x0 is not good enough to be the final output (refer to Figure 3 of the paper). By adopting a step-by-step denoising, the current latent becomes progressively better (i.e., with less noise) and the noise predicted by the UNet is more accurate. In addition, this step-by-step denoising allows us to exploit the bidirectional strategy proposed to ensure temporal consistency. |
Greatly thanks for your reply! Exciting to cry~
|
Well, let me make Quest.2 clear. Why the a same |
Hi, thanks for your patience.
I want to know the difference between the two function
get_velocity
andget_approximated_x0
in scheduler/ddpm_scheduler.py with thev_prediction
type instep
function in line 356. Seems they all predict the denoised latents, but why thet are called in different way.The text was updated successfully, but these errors were encountered: