diff --git a/denoising_diffusion_pytorch/denoising_diffusion_pytorch.py b/denoising_diffusion_pytorch/denoising_diffusion_pytorch.py index 5a3e096..6cc82ef 100644 --- a/denoising_diffusion_pytorch/denoising_diffusion_pytorch.py +++ b/denoising_diffusion_pytorch/denoising_diffusion_pytorch.py @@ -427,6 +427,7 @@ class GaussianDiffusion(nn.Module): ): super().__init__() assert not (type(self) == GaussianDiffusion and model.channels != model.out_dim) + assert not model.learned_sinusoidal_cond self.model = model self.channels = self.model.channels @@ -569,15 +570,15 @@ class GaussianDiffusion(nn.Module): times = torch.linspace(0., total_timesteps, steps = sampling_timesteps + 2)[:-1] times = list(reversed(times.int().tolist())) - time_pairs = list(zip(times[:-1], times[1:])) + time_pairs = list(filter(lambda a: a[0] > a[1], zip(times[:-1], times[1:]))) img = torch.randn(shape, device = device) x_start = None for time, time_next in tqdm(time_pairs, desc = 'sampling loop time step'): - alpha = self.alphas_cumprod_prev[time] - alpha_next = self.alphas_cumprod_prev[time_next] + alpha = self.alphas_cumprod[time] + alpha_next = self.alphas_cumprod[time_next] time_cond = torch.full((batch,), time, device = device, dtype = torch.long) diff --git a/setup.py b/setup.py index 1ab23d5..504a4c4 100644 --- a/setup.py +++ b/setup.py @@ -3,7 +3,7 @@ from setuptools import setup, find_packages setup( name = 'denoising-diffusion-pytorch', packages = find_packages(), - version = '0.27.4', + version = '0.27.5', license='MIT', description = 'Denoising Diffusion Probabilistic Models - Pytorch', author = 'Phil Wang',