Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
renzhc
diffusers_dcu
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