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
ed22b4fd
Unverified
Commit
ed22b4fd
authored
Aug 17, 2022
by
Anton Lozhkov
Committed by
GitHub
Aug 17, 2022
Browse files
Revive `make quality` (#203)
* Revive Make utils * Add datasets for training too
parent
f9522d82
Changes
16
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
27 additions
and
140 deletions
+27
-140
Makefile
Makefile
+0
-5
setup.py
setup.py
+9
-8
src/diffusers/dependency_versions_table.py
src/diffusers/dependency_versions_table.py
+3
-1
src/diffusers/optimization.py
src/diffusers/optimization.py
+0
-1
src/diffusers/pipelines/__init__.py
src/diffusers/pipelines/__init__.py
+5
-1
src/diffusers/pipelines/ddim/__init__.py
src/diffusers/pipelines/ddim/__init__.py
+1
-0
src/diffusers/pipelines/ddpm/__init__.py
src/diffusers/pipelines/ddpm/__init__.py
+1
-0
src/diffusers/pipelines/latent_diffusion/__init__.py
src/diffusers/pipelines/latent_diffusion/__init__.py
+1
-0
src/diffusers/pipelines/latent_diffusion_uncond/__init__.py
src/diffusers/pipelines/latent_diffusion_uncond/__init__.py
+1
-0
src/diffusers/pipelines/pndm/__init__.py
src/diffusers/pipelines/pndm/__init__.py
+1
-0
src/diffusers/pipelines/score_sde_ve/__init__.py
src/diffusers/pipelines/score_sde_ve/__init__.py
+1
-0
src/diffusers/pipelines/stable_diffusion/__init__.py
src/diffusers/pipelines/stable_diffusion/__init__.py
+1
-0
src/diffusers/pipelines/stochatic_karras_ve/__init__.py
src/diffusers/pipelines/stochatic_karras_ve/__init__.py
+1
-0
src/diffusers/schedulers/scheduling_lms_discrete.py
src/diffusers/schedulers/scheduling_lms_discrete.py
+1
-1
src/diffusers/utils/dummy_scipy_objects.py
src/diffusers/utils/dummy_scipy_objects.py
+0
-14
tests/test_layers_utils.py
tests/test_layers_utils.py
+1
-109
No files found.
Makefile
View file @
ed22b4fd
...
...
@@ -79,11 +79,6 @@ test:
test-examples
:
python
-m
pytest
-n
auto
--dist
=
loadfile
-s
-v
./examples/pytorch/
# Run tests for SageMaker DLC release
test-sagemaker
:
#
install sagemaker dependencies in advance with pip install .[sagemaker]
TEST_SAGEMAKER
=
True python
-m
pytest
-n
auto
-s
-v
./tests/sagemaker
# Release stuff
...
...
setup.py
View file @
ed22b4fd
...
...
@@ -77,19 +77,22 @@ from setuptools import find_packages, setup
# 2. once modified, run: `make deps_table_update` to update src/diffusers/dependency_versions_table.py
_deps
=
[
"Pillow"
,
"accelerate>=0.11.0"
,
"black~=22.0,>=22.3"
,
"datasets"
,
"filelock"
,
"flake8>=3.8.3"
,
"hf-doc-builder>=0.3.0"
,
"huggingface-hub"
,
"importlib_metadata"
,
"isort>=5.5.4"
,
"modelcards==0.1.4"
,
"numpy"
,
"pytest"
,
"regex!=2019.12.17"
,
"requests"
,
"torch>=1.4"
,
"tensorboard"
,
"
modelcards==0.
1.4"
"
torch>=
1.4"
,
]
# this is a lookup table with items like:
...
...
@@ -161,12 +164,10 @@ extras = {}
extras
=
{}
extras
[
"quality"
]
=
[
"black ~= 22.0"
,
"isort >= 5.5.4"
,
"flake8 >= 3.8.3"
]
extras
[
"docs"
]
=
[]
extras
[
"training"
]
=
[
"tensorboard"
,
"modelcards"
]
extras
[
"test"
]
=
[
"pytest"
,
]
extras
[
"dev"
]
=
extras
[
"quality"
]
+
extras
[
"test"
]
+
extras
[
"training"
]
extras
[
"docs"
]
=
[
"hf-doc-builder"
]
extras
[
"training"
]
=
[
"accelerate"
,
"datasets"
,
"tensorboard"
,
"modelcards"
]
extras
[
"test"
]
=
[
"pytest"
]
extras
[
"dev"
]
=
extras
[
"quality"
]
+
extras
[
"test"
]
+
extras
[
"training"
]
+
extras
[
"docs"
]
install_requires
=
[
deps
[
"importlib_metadata"
],
...
...
src/diffusers/dependency_versions_table.py
View file @
ed22b4fd
...
...
@@ -3,17 +3,19 @@
# 2. run `make deps_table_update``
deps
=
{
"Pillow"
:
"Pillow"
,
"accelerate"
:
"accelerate>=0.11.0"
,
"black"
:
"black~=22.0,>=22.3"
,
"filelock"
:
"filelock"
,
"flake8"
:
"flake8>=3.8.3"
,
"hf-doc-builder"
:
"hf-doc-builder>=0.3.0"
,
"huggingface-hub"
:
"huggingface-hub"
,
"importlib_metadata"
:
"importlib_metadata"
,
"isort"
:
"isort>=5.5.4"
,
"modelcards"
:
"modelcards==0.1.4"
,
"numpy"
:
"numpy"
,
"pytest"
:
"pytest"
,
"regex"
:
"regex!=2019.12.17"
,
"requests"
:
"requests"
,
"torch"
:
"torch>=1.4"
,
"tensorboard"
:
"tensorboard"
,
"modelcards"
:
"modelcards==0.1.4"
,
}
src/diffusers/optimization.py
View file @
ed22b4fd
...
...
@@ -18,7 +18,6 @@ import math
from
enum
import
Enum
from
typing
import
Optional
,
Union
import
torch
from
torch.optim
import
Optimizer
from
torch.optim.lr_scheduler
import
LambdaLR
...
...
src/diffusers/pipelines/__init__.py
View file @
ed22b4fd
from
..utils
import
is_inflect_available
,
is_transformers_available
,
is_unidecode_available
# flake8: noqa
# There's no way to ignore "F401 '...' imported but unused" warnings in this
# module, but to preserve other warnings. So, don't check this module at all.
from
..utils
import
is_transformers_available
from
.ddim
import
DDIMPipeline
from
.ddpm
import
DDPMPipeline
from
.latent_diffusion_uncond
import
LDMPipeline
...
...
src/diffusers/pipelines/ddim/__init__.py
View file @
ed22b4fd
# flake8: noqa
from
.pipeline_ddim
import
DDIMPipeline
src/diffusers/pipelines/ddpm/__init__.py
View file @
ed22b4fd
# flake8: noqa
from
.pipeline_ddpm
import
DDPMPipeline
src/diffusers/pipelines/latent_diffusion/__init__.py
View file @
ed22b4fd
# flake8: noqa
from
...utils
import
is_transformers_available
...
...
src/diffusers/pipelines/latent_diffusion_uncond/__init__.py
View file @
ed22b4fd
# flake8: noqa
from
.pipeline_latent_diffusion_uncond
import
LDMPipeline
src/diffusers/pipelines/pndm/__init__.py
View file @
ed22b4fd
# flake8: noqa
from
.pipeline_pndm
import
PNDMPipeline
src/diffusers/pipelines/score_sde_ve/__init__.py
View file @
ed22b4fd
# flake8: noqa
from
.pipeline_score_sde_ve
import
ScoreSdeVePipeline
src/diffusers/pipelines/stable_diffusion/__init__.py
View file @
ed22b4fd
# flake8: noqa
from
...utils
import
is_transformers_available
...
...
src/diffusers/pipelines/stochatic_karras_ve/__init__.py
View file @
ed22b4fd
# flake8: noqa
from
.pipeline_stochastic_karras_ve
import
KarrasVePipeline
src/diffusers/schedulers/scheduling_lms_discrete.py
View file @
ed22b4fd
...
...
@@ -12,7 +12,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
from
typing
import
List
,
Union
from
typing
import
Union
import
numpy
as
np
import
torch
...
...
src/diffusers/utils/dummy_scipy_objects.py
View file @
ed22b4fd
...
...
@@ -8,17 +8,3 @@ class LMSDiscreteScheduler(metaclass=DummyObject):
def
__init__
(
self
,
*
args
,
**
kwargs
):
requires_backends
(
self
,
[
"scipy"
])
class
LDMTextToImagePipeline
(
metaclass
=
DummyObject
):
_backends
=
[
"scipy"
]
def
__init__
(
self
,
*
args
,
**
kwargs
):
requires_backends
(
self
,
[
"scipy"
])
class
StableDiffusionPipeline
(
metaclass
=
DummyObject
):
_backends
=
[
"scipy"
]
def
__init__
(
self
,
*
args
,
**
kwargs
):
requires_backends
(
self
,
[
"scipy"
])
tests/test_layers_utils.py
View file @
ed22b4fd
...
...
@@ -14,16 +14,13 @@
# limitations under the License.
import
inspect
import
tempfile
import
unittest
import
numpy
as
np
import
torch
from
diffusers.models.embeddings
import
get_timestep_embedding
from
diffusers.models.resnet
import
Downsample1D
,
Downsample2D
,
Upsample1D
,
Upsample2D
from
diffusers.testing_utils
import
floats_tensor
,
slow
,
torch_device
from
diffusers.models.resnet
import
Downsample2D
,
Upsample2D
torch
.
backends
.
cuda
.
matmul
.
allow_tf32
=
False
...
...
@@ -219,108 +216,3 @@ class Downsample2DBlockTests(unittest.TestCase):
output_slice
=
downsampled
[
0
,
-
1
,
-
3
:,
-
3
:]
expected_slice
=
torch
.
tensor
([
-
0.6586
,
0.5985
,
0.0721
,
0.1256
,
-
0.1492
,
0.4436
,
-
0.2544
,
0.5021
,
1.1522
])
assert
torch
.
allclose
(
output_slice
.
flatten
(),
expected_slice
,
atol
=
1e-3
)
class
Upsample1DBlockTests
(
unittest
.
TestCase
):
def
test_upsample_default
(
self
):
torch
.
manual_seed
(
0
)
sample
=
torch
.
randn
(
1
,
32
,
32
)
upsample
=
Upsample1D
(
channels
=
32
,
use_conv
=
False
)
with
torch
.
no_grad
():
upsampled
=
upsample
(
sample
)
assert
upsampled
.
shape
==
(
1
,
32
,
64
)
output_slice
=
upsampled
[
0
,
-
1
,
-
8
:]
expected_slice
=
torch
.
tensor
([
-
1.6340
,
-
1.6340
,
0.5374
,
0.5374
,
1.0826
,
1.0826
,
-
1.7105
,
-
1.7105
])
assert
torch
.
allclose
(
output_slice
.
flatten
(),
expected_slice
,
atol
=
1e-3
)
def
test_upsample_with_conv
(
self
):
torch
.
manual_seed
(
0
)
sample
=
torch
.
randn
(
1
,
32
,
32
)
upsample
=
Upsample1D
(
channels
=
32
,
use_conv
=
True
)
with
torch
.
no_grad
():
upsampled
=
upsample
(
sample
)
assert
upsampled
.
shape
==
(
1
,
32
,
64
)
output_slice
=
upsampled
[
0
,
-
1
,
-
8
:]
expected_slice
=
torch
.
tensor
([
-
0.4546
,
-
0.5010
,
-
0.2996
,
0.2844
,
0.4040
,
-
0.7772
,
-
0.6862
,
0.3612
])
assert
torch
.
allclose
(
output_slice
.
flatten
(),
expected_slice
,
atol
=
1e-3
)
def
test_upsample_with_conv_out_dim
(
self
):
torch
.
manual_seed
(
0
)
sample
=
torch
.
randn
(
1
,
32
,
32
)
upsample
=
Upsample1D
(
channels
=
32
,
use_conv
=
True
,
out_channels
=
64
)
with
torch
.
no_grad
():
upsampled
=
upsample
(
sample
)
assert
upsampled
.
shape
==
(
1
,
64
,
64
)
output_slice
=
upsampled
[
0
,
-
1
,
-
8
:]
expected_slice
=
torch
.
tensor
([
-
0.0516
,
-
0.0972
,
0.9740
,
1.1883
,
0.4539
,
-
0.5285
,
-
0.5851
,
0.1152
])
assert
torch
.
allclose
(
output_slice
.
flatten
(),
expected_slice
,
atol
=
1e-3
)
def
test_upsample_with_transpose
(
self
):
torch
.
manual_seed
(
0
)
sample
=
torch
.
randn
(
1
,
32
,
32
)
upsample
=
Upsample1D
(
channels
=
32
,
use_conv
=
False
,
use_conv_transpose
=
True
)
with
torch
.
no_grad
():
upsampled
=
upsample
(
sample
)
assert
upsampled
.
shape
==
(
1
,
32
,
64
)
output_slice
=
upsampled
[
0
,
-
1
,
-
8
:]
expected_slice
=
torch
.
tensor
([
-
0.2238
,
-
0.5842
,
-
0.7165
,
0.6699
,
0.1033
,
-
0.4269
,
-
0.8974
,
-
0.3716
])
assert
torch
.
allclose
(
output_slice
.
flatten
(),
expected_slice
,
atol
=
1e-3
)
class
Downsample1DBlockTests
(
unittest
.
TestCase
):
def
test_downsample_default
(
self
):
torch
.
manual_seed
(
0
)
sample
=
torch
.
randn
(
1
,
32
,
64
)
downsample
=
Downsample1D
(
channels
=
32
,
use_conv
=
False
)
with
torch
.
no_grad
():
downsampled
=
downsample
(
sample
)
assert
downsampled
.
shape
==
(
1
,
32
,
32
)
output_slice
=
downsampled
[
0
,
-
1
,
-
8
:]
expected_slice
=
torch
.
tensor
([
-
0.8796
,
1.0945
,
-
0.3434
,
0.2910
,
0.3391
,
-
0.4488
,
-
0.9568
,
-
0.2909
])
max_diff
=
(
output_slice
.
flatten
()
-
expected_slice
).
abs
().
sum
().
item
()
assert
max_diff
<=
1e-3
# assert torch.allclose(output_slice.flatten(), expected_slice, atol=1e-1)
def
test_downsample_with_conv
(
self
):
torch
.
manual_seed
(
0
)
sample
=
torch
.
randn
(
1
,
32
,
64
)
downsample
=
Downsample1D
(
channels
=
32
,
use_conv
=
True
)
with
torch
.
no_grad
():
downsampled
=
downsample
(
sample
)
assert
downsampled
.
shape
==
(
1
,
32
,
32
)
output_slice
=
downsampled
[
0
,
-
1
,
-
8
:]
expected_slice
=
torch
.
tensor
(
[
0.1723
,
0.0811
,
-
0.6205
,
-
0.3045
,
0.0666
,
-
0.2381
,
-
0.0238
,
0.2834
],
)
assert
torch
.
allclose
(
output_slice
.
flatten
(),
expected_slice
,
atol
=
1e-3
)
def
test_downsample_with_conv_pad1
(
self
):
torch
.
manual_seed
(
0
)
sample
=
torch
.
randn
(
1
,
32
,
64
)
downsample
=
Downsample1D
(
channels
=
32
,
use_conv
=
True
,
padding
=
1
)
with
torch
.
no_grad
():
downsampled
=
downsample
(
sample
)
assert
downsampled
.
shape
==
(
1
,
32
,
32
)
output_slice
=
downsampled
[
0
,
-
1
,
-
8
:]
expected_slice
=
torch
.
tensor
([
0.1723
,
0.0811
,
-
0.6205
,
-
0.3045
,
0.0666
,
-
0.2381
,
-
0.0238
,
0.2834
])
assert
torch
.
allclose
(
output_slice
.
flatten
(),
expected_slice
,
atol
=
1e-3
)
def
test_downsample_with_conv_out_dim
(
self
):
torch
.
manual_seed
(
0
)
sample
=
torch
.
randn
(
1
,
32
,
64
)
downsample
=
Downsample1D
(
channels
=
32
,
use_conv
=
True
,
out_channels
=
16
)
with
torch
.
no_grad
():
downsampled
=
downsample
(
sample
)
assert
downsampled
.
shape
==
(
1
,
16
,
32
)
output_slice
=
downsampled
[
0
,
-
1
,
-
8
:]
expected_slice
=
torch
.
tensor
([
1.1067
,
-
0.5255
,
-
0.4451
,
0.0487
,
-
0.3664
,
-
0.7945
,
-
0.4495
,
-
0.3129
])
assert
torch
.
allclose
(
output_slice
.
flatten
(),
expected_slice
,
atol
=
1e-3
)
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