Compare commits

..
8 Commits
Author SHA1 Message Date
Phil Wang dfbafee555 0.27.12 2022-10-05 13:50:54 -07:00
Phil Wang 40dd8ba1de Merge pull request #102 from npielawski/main
Added gradient clipping.
2022-10-05 13:50:39 -07:00
Nicolas Pielawski 2ac3f94a80 Added gradient clipping. 2022-10-05 11:29:49 -07:00
Phil Wang 98f2eeac35 link to flax implementation from @yiyixuxu 2022-09-27 11:21:23 -07:00
Phil Wang 6e8a0f2082 fix auto-conversion of images to mode in dataset 2022-09-20 19:29:35 -07:00
Phil Wang 8c36559295 0.27.10 2022-09-16 17:15:02 -07:00
Phil Wang f74f536339 Merge pull request #90 from kashif/patch-1
fix torch.cumprod
2022-09-16 17:14:48 -07:00
Kashif Rasul d85b8bbe2e fix torch.cumprod 2022-09-16 17:19:00 +02:00
3 changed files with 7 additions and 4 deletions
+2
View File
@@ -8,6 +8,8 @@ This implementation was transcribed from the official Tensorflow version <a href
Youtube AI Educators - <a href="https://www.youtube.com/watch?v=W-O7AZNzbzQ">Yannic Kilcher</a> | <a href="https://www.youtube.com/watch?v=344w5h24-h8">AI Coffeebreak with Letitia</a> | <a href="https://www.youtube.com/watch?v=HoKDTa5jHvg">Outlier</a>
<a href="https://github.com/yiyixuxu/denoising-diffusion-flax">Flax implementation</a> from <a href="https://github.com/yiyixuxu">YiYi Xu</a>
<a href="https://huggingface.co/blog/annotated-diffusion">Annotated code</a> by Research Scientists / Engineers from <a href="https://huggingface.co/">🤗 Huggingface</a>
Update: Turns out none of the technicalities really matters at all | <a href="https://arxiv.org/abs/2208.09392">"Cold Diffusion" paper</a>
@@ -56,7 +56,7 @@ def num_to_groups(num, divisor):
arr.append(remainder)
return arr
def convert_image_to(img_type, image):
def convert_image_to_fn(img_type, image):
if image.mode != img_type:
return image.convert(img_type)
return image
@@ -450,7 +450,7 @@ class GaussianDiffusion(nn.Module):
raise ValueError(f'unknown beta schedule {beta_schedule}')
alphas = 1. - betas
alphas_cumprod = torch.cumprod(alphas, axis=0)
alphas_cumprod = torch.cumprod(alphas, dim=0)
alphas_cumprod_prev = F.pad(alphas_cumprod[:-1], (1, 0), value = 1.)
timesteps, = betas.shape
@@ -704,7 +704,7 @@ class Dataset(Dataset):
self.image_size = image_size
self.paths = [p for ext in exts for p in Path(f'{folder}').glob(f'**/*.{ext}')]
maybe_convert_fn = partial(convert_image_to, convert_image_to) if exists(convert_image_to) else nn.Identity()
maybe_convert_fn = partial(convert_image_to_fn, convert_image_to) if exists(convert_image_to) else nn.Identity()
self.transform = T.Compose([
T.Lambda(maybe_convert_fn),
@@ -845,6 +845,7 @@ class Trainer(object):
self.accelerator.backward(loss)
accelerator.clip_grad_norm_(self.model.parameters(), 1.0)
pbar.set_description(f'loss: {total_loss:.4f}')
accelerator.wait_for_everyone()
+1 -1
View File
@@ -3,7 +3,7 @@ from setuptools import setup, find_packages
setup(
name = 'denoising-diffusion-pytorch',
packages = find_packages(),
version = '0.27.9',
version = '0.27.12',
license='MIT',
description = 'Denoising Diffusion Probabilistic Models - Pytorch',
author = 'Phil Wang',