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
81fa2d68
Unverified
Commit
81fa2d68
authored
Nov 18, 2022
by
Anton Lozhkov
Committed by
GitHub
Nov 18, 2022
Browse files
Avoid nested fix-copies (#1332)
* Avoid nested `# Copied from` statements during `make fix-copies` * style
parent
195e437a
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
4 additions
and
11 deletions
+4
-11
src/diffusers/pipelines/alt_diffusion/pipeline_alt_diffusion_img2img.py
...pipelines/alt_diffusion/pipeline_alt_diffusion_img2img.py
+0
-11
utils/check_copies.py
utils/check_copies.py
+4
-0
No files found.
src/diffusers/pipelines/alt_diffusion/pipeline_alt_diffusion_img2img.py
View file @
81fa2d68
...
@@ -81,7 +81,6 @@ class AltDiffusionImg2ImgPipeline(DiffusionPipeline):
...
@@ -81,7 +81,6 @@ class AltDiffusionImg2ImgPipeline(DiffusionPipeline):
Model that extracts features from generated images to be used as inputs for the `safety_checker`.
Model that extracts features from generated images to be used as inputs for the `safety_checker`.
"""
"""
# Copied from diffusers.pipelines.stable_diffusion.pipeline_stable_diffusion.AltDiffusionPipeline.__init__
def
__init__
(
def
__init__
(
self
,
self
,
vae
:
AutoencoderKL
,
vae
:
AutoencoderKL
,
...
@@ -148,7 +147,6 @@ class AltDiffusionImg2ImgPipeline(DiffusionPipeline):
...
@@ -148,7 +147,6 @@ class AltDiffusionImg2ImgPipeline(DiffusionPipeline):
feature_extractor
=
feature_extractor
,
feature_extractor
=
feature_extractor
,
)
)
# Copied from diffusers.pipelines.stable_diffusion.pipeline_stable_diffusion.AltDiffusionPipeline.enable_attention_slicing
def
enable_attention_slicing
(
self
,
slice_size
:
Optional
[
Union
[
str
,
int
]]
=
"auto"
):
def
enable_attention_slicing
(
self
,
slice_size
:
Optional
[
Union
[
str
,
int
]]
=
"auto"
):
r
"""
r
"""
Enable sliced attention computation.
Enable sliced attention computation.
...
@@ -168,7 +166,6 @@ class AltDiffusionImg2ImgPipeline(DiffusionPipeline):
...
@@ -168,7 +166,6 @@ class AltDiffusionImg2ImgPipeline(DiffusionPipeline):
slice_size
=
self
.
unet
.
config
.
attention_head_dim
//
2
slice_size
=
self
.
unet
.
config
.
attention_head_dim
//
2
self
.
unet
.
set_attention_slice
(
slice_size
)
self
.
unet
.
set_attention_slice
(
slice_size
)
# Copied from diffusers.pipelines.stable_diffusion.pipeline_stable_diffusion.AltDiffusionPipeline.disable_attention_slicing
def
disable_attention_slicing
(
self
):
def
disable_attention_slicing
(
self
):
r
"""
r
"""
Disable sliced attention computation. If `enable_attention_slicing` was previously invoked, this method will go
Disable sliced attention computation. If `enable_attention_slicing` was previously invoked, this method will go
...
@@ -177,7 +174,6 @@ class AltDiffusionImg2ImgPipeline(DiffusionPipeline):
...
@@ -177,7 +174,6 @@ class AltDiffusionImg2ImgPipeline(DiffusionPipeline):
# set slice_size = `None` to disable `attention slicing`
# set slice_size = `None` to disable `attention slicing`
self
.
enable_attention_slicing
(
None
)
self
.
enable_attention_slicing
(
None
)
# Copied from diffusers.pipelines.stable_diffusion.pipeline_stable_diffusion.AltDiffusionPipeline.enable_sequential_cpu_offload
def
enable_sequential_cpu_offload
(
self
,
gpu_id
=
0
):
def
enable_sequential_cpu_offload
(
self
,
gpu_id
=
0
):
r
"""
r
"""
Offloads all models to CPU using accelerate, significantly reducing memory usage. When called, unet,
Offloads all models to CPU using accelerate, significantly reducing memory usage. When called, unet,
...
@@ -196,7 +192,6 @@ class AltDiffusionImg2ImgPipeline(DiffusionPipeline):
...
@@ -196,7 +192,6 @@ class AltDiffusionImg2ImgPipeline(DiffusionPipeline):
cpu_offload
(
cpu_offloaded_model
,
device
)
cpu_offload
(
cpu_offloaded_model
,
device
)
@
property
@
property
# Copied from diffusers.pipelines.stable_diffusion.pipeline_stable_diffusion.AltDiffusionPipeline._execution_device
def
_execution_device
(
self
):
def
_execution_device
(
self
):
r
"""
r
"""
Returns the device on which the pipeline's models will be executed. After calling
Returns the device on which the pipeline's models will be executed. After calling
...
@@ -214,7 +209,6 @@ class AltDiffusionImg2ImgPipeline(DiffusionPipeline):
...
@@ -214,7 +209,6 @@ class AltDiffusionImg2ImgPipeline(DiffusionPipeline):
return
torch
.
device
(
module
.
_hf_hook
.
execution_device
)
return
torch
.
device
(
module
.
_hf_hook
.
execution_device
)
return
self
.
device
return
self
.
device
# Copied from diffusers.pipelines.stable_diffusion.pipeline_stable_diffusion.AltDiffusionPipeline.enable_xformers_memory_efficient_attention
def
enable_xformers_memory_efficient_attention
(
self
):
def
enable_xformers_memory_efficient_attention
(
self
):
r
"""
r
"""
Enable memory efficient attention as implemented in xformers.
Enable memory efficient attention as implemented in xformers.
...
@@ -227,14 +221,12 @@ class AltDiffusionImg2ImgPipeline(DiffusionPipeline):
...
@@ -227,14 +221,12 @@ class AltDiffusionImg2ImgPipeline(DiffusionPipeline):
"""
"""
self
.
unet
.
set_use_memory_efficient_attention_xformers
(
True
)
self
.
unet
.
set_use_memory_efficient_attention_xformers
(
True
)
# Copied from diffusers.pipelines.stable_diffusion.pipeline_stable_diffusion.AltDiffusionPipeline.disable_xformers_memory_efficient_attention
def
disable_xformers_memory_efficient_attention
(
self
):
def
disable_xformers_memory_efficient_attention
(
self
):
r
"""
r
"""
Disable memory efficient attention as implemented in xformers.
Disable memory efficient attention as implemented in xformers.
"""
"""
self
.
unet
.
set_use_memory_efficient_attention_xformers
(
False
)
self
.
unet
.
set_use_memory_efficient_attention_xformers
(
False
)
# Copied from diffusers.pipelines.stable_diffusion.pipeline_stable_diffusion.AltDiffusionPipeline._encode_prompt
def
_encode_prompt
(
self
,
prompt
,
device
,
num_images_per_prompt
,
do_classifier_free_guidance
,
negative_prompt
):
def
_encode_prompt
(
self
,
prompt
,
device
,
num_images_per_prompt
,
do_classifier_free_guidance
,
negative_prompt
):
r
"""
r
"""
Encodes the prompt into text encoder hidden states.
Encodes the prompt into text encoder hidden states.
...
@@ -340,7 +332,6 @@ class AltDiffusionImg2ImgPipeline(DiffusionPipeline):
...
@@ -340,7 +332,6 @@ class AltDiffusionImg2ImgPipeline(DiffusionPipeline):
return
text_embeddings
return
text_embeddings
# Copied from diffusers.pipelines.stable_diffusion.pipeline_stable_diffusion.AltDiffusionPipeline.run_safety_checker
def
run_safety_checker
(
self
,
image
,
device
,
dtype
):
def
run_safety_checker
(
self
,
image
,
device
,
dtype
):
if
self
.
safety_checker
is
not
None
:
if
self
.
safety_checker
is
not
None
:
safety_checker_input
=
self
.
feature_extractor
(
self
.
numpy_to_pil
(
image
),
return_tensors
=
"pt"
).
to
(
device
)
safety_checker_input
=
self
.
feature_extractor
(
self
.
numpy_to_pil
(
image
),
return_tensors
=
"pt"
).
to
(
device
)
...
@@ -351,7 +342,6 @@ class AltDiffusionImg2ImgPipeline(DiffusionPipeline):
...
@@ -351,7 +342,6 @@ class AltDiffusionImg2ImgPipeline(DiffusionPipeline):
has_nsfw_concept
=
None
has_nsfw_concept
=
None
return
image
,
has_nsfw_concept
return
image
,
has_nsfw_concept
# Copied from diffusers.pipelines.stable_diffusion.pipeline_stable_diffusion.AltDiffusionPipeline.decode_latents
def
decode_latents
(
self
,
latents
):
def
decode_latents
(
self
,
latents
):
latents
=
1
/
0.18215
*
latents
latents
=
1
/
0.18215
*
latents
image
=
self
.
vae
.
decode
(
latents
).
sample
image
=
self
.
vae
.
decode
(
latents
).
sample
...
@@ -360,7 +350,6 @@ class AltDiffusionImg2ImgPipeline(DiffusionPipeline):
...
@@ -360,7 +350,6 @@ class AltDiffusionImg2ImgPipeline(DiffusionPipeline):
image
=
image
.
cpu
().
permute
(
0
,
2
,
3
,
1
).
float
().
numpy
()
image
=
image
.
cpu
().
permute
(
0
,
2
,
3
,
1
).
float
().
numpy
()
return
image
return
image
# Copied from diffusers.pipelines.stable_diffusion.pipeline_stable_diffusion.AltDiffusionPipeline.prepare_extra_step_kwargs
def
prepare_extra_step_kwargs
(
self
,
generator
,
eta
):
def
prepare_extra_step_kwargs
(
self
,
generator
,
eta
):
# prepare extra kwargs for the scheduler step, since not all schedulers have the same signature
# prepare extra kwargs for the scheduler step, since not all schedulers have the same signature
# eta (η) is only used with the DDIMScheduler, it will be ignored for other schedulers.
# eta (η) is only used with the DDIMScheduler, it will be ignored for other schedulers.
...
...
utils/check_copies.py
View file @
81fa2d68
...
@@ -153,6 +153,10 @@ def is_copy_consistent(filename, overwrite=False):
...
@@ -153,6 +153,10 @@ def is_copy_consistent(filename, overwrite=False):
observed_code_lines
=
lines
[
start_index
:
line_index
]
observed_code_lines
=
lines
[
start_index
:
line_index
]
observed_code
=
""
.
join
(
observed_code_lines
)
observed_code
=
""
.
join
(
observed_code_lines
)
# Remove any nested `Copied from` comments to avoid circular copies
theoretical_code
=
[
line
for
line
in
theoretical_code
.
split
(
"
\n
"
)
if
_re_copy_warning
.
search
(
line
)
is
None
]
theoretical_code
=
"
\n
"
.
join
(
theoretical_code
)
# Before comparing, use the `replace_pattern` on the original code.
# Before comparing, use the `replace_pattern` on the original code.
if
len
(
replace_pattern
)
>
0
:
if
len
(
replace_pattern
)
>
0
:
patterns
=
replace_pattern
.
replace
(
"with"
,
""
).
split
(
","
)
patterns
=
replace_pattern
.
replace
(
"with"
,
""
).
split
(
","
)
...
...
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