(self, x, c, t, clip_denoised=False, repeat_noise=False,
return_codebook_ids=False, quantize_denoised=False, return_x0=False,
temperature=1., noise_dropout=0., score_corrector=None, corrector_kwargs=None)
| 960 | |
| 961 | @torch.no_grad() |
| 962 | def p_sample(self, x, c, t, clip_denoised=False, repeat_noise=False, |
| 963 | return_codebook_ids=False, quantize_denoised=False, return_x0=False, |
| 964 | temperature=1., noise_dropout=0., score_corrector=None, corrector_kwargs=None): |
| 965 | b, *_, device = *x.shape, x.device |
| 966 | outputs = self.p_mean_variance(x=x, c=c, t=t, clip_denoised=clip_denoised, |
| 967 | return_codebook_ids=return_codebook_ids, |
| 968 | quantize_denoised=quantize_denoised, |
| 969 | return_x0=return_x0, |
| 970 | score_corrector=score_corrector, corrector_kwargs=corrector_kwargs) |
| 971 | if return_codebook_ids: |
| 972 | raise DeprecationWarning("Support dropped.") |
| 973 | model_mean, _, model_log_variance, logits = outputs |
| 974 | elif return_x0: |
| 975 | model_mean, _, model_log_variance, x0 = outputs |
| 976 | else: |
| 977 | model_mean, _, model_log_variance = outputs |
| 978 | |
| 979 | noise = noise_like(x.shape, device, repeat_noise) * temperature |
| 980 | if noise_dropout > 0.: |
| 981 | noise = torch.nn.functional.dropout(noise, p=noise_dropout) |
| 982 | # no noise when t == 0 |
| 983 | nonzero_mask = (1 - (t == 0).float()).reshape(b, *((1,) * (len(x.shape) - 1))) |
| 984 | |
| 985 | if return_codebook_ids: |
| 986 | return model_mean + nonzero_mask * (0.5 * model_log_variance).exp() * noise, logits.argmax(dim=1) |
| 987 | if return_x0: |
| 988 | return model_mean + nonzero_mask * (0.5 * model_log_variance).exp() * noise, x0 |
| 989 | else: |
| 990 | return model_mean + nonzero_mask * (0.5 * model_log_variance).exp() * noise |
| 991 | |
| 992 | @torch.no_grad() |
| 993 | def progressive_denoising(self, cond, shape, verbose=True, callback=None, quantize_denoised=False, |
no test coverage detected