MCPcopy Index your code
hub / github.com/VisionXLab/OF-Diff / p_mean_variance

Method p_mean_variance

ldm/models/diffusion/ddpm.py:930–959  ·  view source on GitHub ↗
(self, x, c, t, clip_denoised: bool, return_codebook_ids=False, quantize_denoised=False,
                        return_x0=False, score_corrector=None, corrector_kwargs=None)

Source from the content-addressed store, hash-verified

928 return loss, loss_dict
929
930 def p_mean_variance(self, x, c, t, clip_denoised: bool, return_codebook_ids=False, quantize_denoised=False,
931 return_x0=False, score_corrector=None, corrector_kwargs=None):
932 t_in = t
933 model_out = self.apply_model(x, t_in, c, return_ids=return_codebook_ids)
934
935 if score_corrector is not None:
936 assert self.parameterization == "eps"
937 model_out = score_corrector.modify_score(self, model_out, x, t, c, **corrector_kwargs)
938
939 if return_codebook_ids:
940 model_out, logits = model_out
941
942 if self.parameterization == "eps":
943 x_recon = self.predict_start_from_noise(x, t=t, noise=model_out)
944 elif self.parameterization == "x0":
945 x_recon = model_out
946 else:
947 raise NotImplementedError()
948
949 if clip_denoised:
950 x_recon.clamp_(-1., 1.)
951 if quantize_denoised:
952 x_recon, _, [_, _, indices] = self.first_stage_model.quantize(x_recon)
953 model_mean, posterior_variance, posterior_log_variance = self.q_posterior(x_start=x_recon, x_t=x, t=t)
954 if return_codebook_ids:
955 return model_mean, posterior_variance, posterior_log_variance, logits
956 elif return_x0:
957 return model_mean, posterior_variance, posterior_log_variance, x_recon
958 else:
959 return model_mean, posterior_variance, posterior_log_variance
960
961 @torch.no_grad()
962 def p_sample(self, x, c, t, clip_denoised=False, repeat_noise=False,

Callers 1

p_sampleMethod · 0.95

Calls 4

apply_modelMethod · 0.95
quantizeMethod · 0.80
q_posteriorMethod · 0.80

Tested by

no test coverage detected