Skip to content

Commit aece9c2

Browse files
committed
help researchers in need of 1d ddpm, ex. #116
1 parent 12079ca commit aece9c2

File tree

4 files changed

+732
-1
lines changed

4 files changed

+732
-1
lines changed

README.md

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,39 @@ Then, in the same directory
101101
$ accelerate launch train.py
102102
```
103103

104+
## Miscellaenous
105+
106+
### 1D Sequence
107+
108+
By popular request, a 1D Unet + Gaussian Diffusion implementation. You will have to do the training code yourself
109+
110+
```python
111+
import torch
112+
from denoising_diffusion_pytorch import Unet1D, GaussianDiffusion1D
113+
114+
model = Unet1D(
115+
dim = 64,
116+
dim_mults = (1, 2, 4, 8),
117+
channels = 32
118+
)
119+
120+
diffusion = GaussianDiffusion1D(
121+
model,
122+
seq_length = 128,
123+
timesteps = 1000,
124+
objective = 'pred_v'
125+
)
126+
127+
training_seq = torch.randn(8, 32, 128) # features are normalized from 0 to 1
128+
loss = diffusion(training_seq)
129+
loss.backward()
130+
131+
# after a lot of training
132+
133+
sampled_seq = diffusion.sample(batch_size = 4)
134+
sampled_seq.shape # (4, 32, 128)
135+
```
136+
104137
## Citations
105138

106139
```bibtex

denoising_diffusion_pytorch/__init__.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,6 @@
55
from denoising_diffusion_pytorch.weighted_objective_gaussian_diffusion import WeightedObjectiveGaussianDiffusion
66
from denoising_diffusion_pytorch.elucidated_diffusion import ElucidatedDiffusion
77
from denoising_diffusion_pytorch.v_param_continuous_time_gaussian_diffusion import VParamContinuousTimeGaussianDiffusion
8+
9+
from denoising_diffusion_pytorch.denoising_diffusion_pytorch_1d import GaussianDiffusion1D, Unet1D
10+

0 commit comments

Comments
 (0)