Avoid nested fix-copies (#1332)
* Avoid nested `# Copied from` statements during `make fix-copies` * style
This commit is contained in:
parent
195e437ac5
commit
81fa2d688d
|
@ -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):
|
||||||
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):
|
||||||
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):
|
||||||
# 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):
|
||||||
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):
|
||||||
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):
|
||||||
"""
|
"""
|
||||||
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):
|
||||||
|
|
||||||
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):
|
||||||
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):
|
||||||
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.
|
||||||
|
|
|
@ -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(",")
|
||||||
|
|
Loading…
Reference in New Issue