Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
OpenDAS
diffusers
Commits
27266abc
Commit
27266abc
authored
Jun 13, 2022
by
Patrick von Platen
Browse files
rename schedulers
parent
5c21d962
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
20 additions
and
17 deletions
+20
-17
README.md
README.md
+2
-2
src/diffusers/__init__.py
src/diffusers/__init__.py
+4
-2
src/diffusers/pipelines/old/ddim/run_ddpm.py
src/diffusers/pipelines/old/ddim/run_ddpm.py
+2
-2
src/diffusers/pipelines/old/ddpm/run_ddpm.py
src/diffusers/pipelines/old/ddpm/run_ddpm.py
+2
-2
src/diffusers/schedulers/__init__.py
src/diffusers/schedulers/__init__.py
+4
-3
src/diffusers/schedulers/scheduling_ddim.py
src/diffusers/schedulers/scheduling_ddim.py
+0
-0
src/diffusers/schedulers/scheduling_ddpm.py
src/diffusers/schedulers/scheduling_ddpm.py
+1
-1
tests/test_modeling_utils.py
tests/test_modeling_utils.py
+3
-3
tests/test_scheduler.py
tests/test_scheduler.py
+2
-2
No files found.
README.md
View file @
27266abc
...
@@ -35,7 +35,7 @@ Both models and schedulers should be load- and saveable from the Hub.
...
@@ -35,7 +35,7 @@ Both models and schedulers should be load- and saveable from the Hub.
```
python
```
python
import
torch
import
torch
from
diffusers
import
UNetModel
,
Gaussian
DDPMScheduler
from
diffusers
import
UNetModel
,
DDPMScheduler
import
PIL
import
PIL
import
numpy
as
np
import
numpy
as
np
import
tqdm
import
tqdm
...
@@ -44,7 +44,7 @@ generator = torch.manual_seed(0)
...
@@ -44,7 +44,7 @@ generator = torch.manual_seed(0)
torch_device
=
"cuda"
if
torch
.
cuda
.
is_available
()
else
"cpu"
torch_device
=
"cuda"
if
torch
.
cuda
.
is_available
()
else
"cpu"
# 1. Load models
# 1. Load models
noise_scheduler
=
Gaussian
DDPMScheduler
.
from_config
(
"fusing/ddpm-lsun-church"
,
tensor_format
=
"pt"
)
noise_scheduler
=
DDPMScheduler
.
from_config
(
"fusing/ddpm-lsun-church"
,
tensor_format
=
"pt"
)
unet
=
UNetModel
.
from_pretrained
(
"fusing/ddpm-lsun-church"
).
to
(
torch_device
)
unet
=
UNetModel
.
from_pretrained
(
"fusing/ddpm-lsun-church"
).
to
(
torch_device
)
# 2. Sample gaussian noise
# 2. Sample gaussian noise
...
...
src/diffusers/__init__.py
View file @
27266abc
...
@@ -10,8 +10,10 @@ from .models.unet_glide import GLIDESuperResUNetModel, GLIDETextToImageUNetModel
...
@@ -10,8 +10,10 @@ from .models.unet_glide import GLIDESuperResUNetModel, GLIDETextToImageUNetModel
from
.models.unet_ldm
import
UNetLDMModel
from
.models.unet_ldm
import
UNetLDMModel
from
.pipeline_utils
import
DiffusionPipeline
from
.pipeline_utils
import
DiffusionPipeline
from
.pipelines
import
DDIM
,
DDPM
,
GLIDE
,
LatentDiffusion
from
.pipelines
import
DDIM
,
DDPM
,
GLIDE
,
LatentDiffusion
from
.schedulers
import
SchedulerMixin
from
.schedulers
import
SchedulerMixin
from
.schedulers.scheduling_ddim
import
DDIMScheduler
from
.schedulers.scheduling_ddpm
import
DDPMScheduler
from
.schedulers.classifier_free_guidance
import
ClassifierFreeGuidanceScheduler
from
.schedulers.classifier_free_guidance
import
ClassifierFreeGuidanceScheduler
from
.schedulers.ddim
import
DDIMScheduler
from
.schedulers.gaussian_ddpm
import
GaussianDDPMScheduler
from
.schedulers.glide_ddim
import
GlideDDIMScheduler
from
.schedulers.glide_ddim
import
GlideDDIMScheduler
src/diffusers/pipelines/old/ddim/run_ddpm.py
View file @
27266abc
#!/usr/bin/env python3
#!/usr/bin/env python3
import
torch
import
torch
from
diffusers
import
Gaussian
DDPMScheduler
,
UNetModel
from
diffusers
import
DDPMScheduler
,
UNetModel
model
=
UNetModel
(
dim
=
64
,
dim_mults
=
(
1
,
2
,
4
,
8
))
model
=
UNetModel
(
dim
=
64
,
dim_mults
=
(
1
,
2
,
4
,
8
))
diffusion
=
Gaussian
DDPMScheduler
(
model
,
image_size
=
128
,
timesteps
=
1000
,
loss_type
=
"l1"
)
# number of steps # L1 or L2
diffusion
=
DDPMScheduler
(
model
,
image_size
=
128
,
timesteps
=
1000
,
loss_type
=
"l1"
)
# number of steps # L1 or L2
training_images
=
torch
.
randn
(
8
,
3
,
128
,
128
)
# your images need to be normalized from a range of -1 to +1
training_images
=
torch
.
randn
(
8
,
3
,
128
,
128
)
# your images need to be normalized from a range of -1 to +1
loss
=
diffusion
(
training_images
)
loss
=
diffusion
(
training_images
)
...
...
src/diffusers/pipelines/old/ddpm/run_ddpm.py
View file @
27266abc
#!/usr/bin/env python3
#!/usr/bin/env python3
import
torch
import
torch
from
diffusers
import
Gaussian
DDPMScheduler
,
UNetModel
from
diffusers
import
DDPMScheduler
,
UNetModel
model
=
UNetModel
(
dim
=
64
,
dim_mults
=
(
1
,
2
,
4
,
8
))
model
=
UNetModel
(
dim
=
64
,
dim_mults
=
(
1
,
2
,
4
,
8
))
diffusion
=
Gaussian
DDPMScheduler
(
model
,
image_size
=
128
,
timesteps
=
1000
,
loss_type
=
"l1"
)
# number of steps # L1 or L2
diffusion
=
DDPMScheduler
(
model
,
image_size
=
128
,
timesteps
=
1000
,
loss_type
=
"l1"
)
# number of steps # L1 or L2
training_images
=
torch
.
randn
(
8
,
3
,
128
,
128
)
# your images need to be normalized from a range of -1 to +1
training_images
=
torch
.
randn
(
8
,
3
,
128
,
128
)
# your images need to be normalized from a range of -1 to +1
loss
=
diffusion
(
training_images
)
loss
=
diffusion
(
training_images
)
...
...
src/diffusers/schedulers/__init__.py
View file @
27266abc
...
@@ -16,8 +16,9 @@
...
@@ -16,8 +16,9 @@
# See the License for the specific language governing permissions and
# See the License for the specific language governing permissions and
# limitations under the License.
# limitations under the License.
from
.scheduling_ddim
import
DDIMScheduler
from
.scheduling_ddpm
import
DDPMScheduler
from
.schedulers_utils
import
SchedulerMixin
from
.classifier_free_guidance
import
ClassifierFreeGuidanceScheduler
from
.classifier_free_guidance
import
ClassifierFreeGuidanceScheduler
from
.ddim
import
DDIMScheduler
from
.gaussian_ddpm
import
GaussianDDPMScheduler
from
.glide_ddim
import
GlideDDIMScheduler
from
.glide_ddim
import
GlideDDIMScheduler
from
.schedulers_utils
import
SchedulerMixin
src/diffusers/schedulers/ddim.py
→
src/diffusers/schedulers/
scheduling_
ddim.py
View file @
27266abc
File moved
src/diffusers/schedulers/
gaussian
_ddpm.py
→
src/diffusers/schedulers/
scheduling
_ddpm.py
View file @
27266abc
...
@@ -19,7 +19,7 @@ from ..configuration_utils import ConfigMixin
...
@@ -19,7 +19,7 @@ from ..configuration_utils import ConfigMixin
from
.schedulers_utils
import
SchedulerMixin
,
betas_for_alpha_bar
,
linear_beta_schedule
from
.schedulers_utils
import
SchedulerMixin
,
betas_for_alpha_bar
,
linear_beta_schedule
class
Gaussian
DDPMScheduler
(
SchedulerMixin
,
ConfigMixin
):
class
DDPMScheduler
(
SchedulerMixin
,
ConfigMixin
):
def
__init__
(
def
__init__
(
self
,
self
,
timesteps
=
1000
,
timesteps
=
1000
,
...
...
tests/test_modeling_utils.py
View file @
27266abc
...
@@ -19,7 +19,7 @@ import unittest
...
@@ -19,7 +19,7 @@ import unittest
import
torch
import
torch
from
diffusers
import
DDIM
,
DDPM
,
DDIMScheduler
,
Gaussian
DDPMScheduler
,
LatentDiffusion
,
UNetModel
from
diffusers
import
DDIM
,
DDPM
,
DDIMScheduler
,
DDPMScheduler
,
LatentDiffusion
,
UNetModel
from
diffusers.configuration_utils
import
ConfigMixin
from
diffusers.configuration_utils
import
ConfigMixin
from
diffusers.pipeline_utils
import
DiffusionPipeline
from
diffusers.pipeline_utils
import
DiffusionPipeline
from
diffusers.testing_utils
import
floats_tensor
,
slow
,
torch_device
from
diffusers.testing_utils
import
floats_tensor
,
slow
,
torch_device
...
@@ -107,7 +107,7 @@ class PipelineTesterMixin(unittest.TestCase):
...
@@ -107,7 +107,7 @@ class PipelineTesterMixin(unittest.TestCase):
def
test_from_pretrained_save_pretrained
(
self
):
def
test_from_pretrained_save_pretrained
(
self
):
# 1. Load models
# 1. Load models
model
=
UNetModel
(
ch
=
32
,
ch_mult
=
(
1
,
2
),
num_res_blocks
=
2
,
attn_resolutions
=
(
16
,),
resolution
=
32
)
model
=
UNetModel
(
ch
=
32
,
ch_mult
=
(
1
,
2
),
num_res_blocks
=
2
,
attn_resolutions
=
(
16
,),
resolution
=
32
)
schedular
=
Gaussian
DDPMScheduler
(
timesteps
=
10
)
schedular
=
DDPMScheduler
(
timesteps
=
10
)
ddpm
=
DDPM
(
model
,
schedular
)
ddpm
=
DDPM
(
model
,
schedular
)
...
@@ -147,7 +147,7 @@ class PipelineTesterMixin(unittest.TestCase):
...
@@ -147,7 +147,7 @@ class PipelineTesterMixin(unittest.TestCase):
model_id
=
"fusing/ddpm-cifar10"
model_id
=
"fusing/ddpm-cifar10"
unet
=
UNetModel
.
from_pretrained
(
model_id
)
unet
=
UNetModel
.
from_pretrained
(
model_id
)
noise_scheduler
=
Gaussian
DDPMScheduler
.
from_config
(
model_id
)
noise_scheduler
=
DDPMScheduler
.
from_config
(
model_id
)
noise_scheduler
=
noise_scheduler
.
set_format
(
"pt"
)
noise_scheduler
=
noise_scheduler
.
set_format
(
"pt"
)
ddpm
=
DDPM
(
unet
=
unet
,
noise_scheduler
=
noise_scheduler
)
ddpm
=
DDPM
(
unet
=
unet
,
noise_scheduler
=
noise_scheduler
)
...
...
tests/test_scheduler.py
View file @
27266abc
...
@@ -20,7 +20,7 @@ import unittest
...
@@ -20,7 +20,7 @@ import unittest
import
numpy
as
np
import
numpy
as
np
import
torch
import
torch
from
diffusers
import
DDIMScheduler
,
Gaussian
DDPMScheduler
from
diffusers
import
DDIMScheduler
,
DDPMScheduler
torch
.
backends
.
cuda
.
matmul
.
allow_tf32
=
False
torch
.
backends
.
cuda
.
matmul
.
allow_tf32
=
False
...
@@ -163,7 +163,7 @@ class SchedulerCommonTest(unittest.TestCase):
...
@@ -163,7 +163,7 @@ class SchedulerCommonTest(unittest.TestCase):
class
DDPMSchedulerTest
(
SchedulerCommonTest
):
class
DDPMSchedulerTest
(
SchedulerCommonTest
):
scheduler_classes
=
(
Gaussian
DDPMScheduler
,)
scheduler_classes
=
(
DDPMScheduler
,)
def
get_scheduler_config
(
self
,
**
kwargs
):
def
get_scheduler_config
(
self
,
**
kwargs
):
config
=
{
config
=
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment