Skip to content

Commit 044392d

Browse files
committed
up
1 parent be58660 commit 044392d

11 files changed

+540
-477
lines changed

src/diffusers/loaders/lora_base.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
is_accelerate_available,
3838
is_peft_available,
3939
is_peft_version,
40+
is_torch_version,
4041
is_transformers_available,
4142
is_transformers_version,
4243
logging,
@@ -49,6 +50,17 @@
4950
from ..utils.state_dict_utils import _load_sft_state_dict_metadata
5051

5152

53+
_LOW_CPU_MEM_USAGE_DEFAULT_LORA = False
54+
if is_torch_version(">=", "1.9.0"):
55+
if (
56+
is_peft_available()
57+
and is_peft_version(">=", "0.13.1")
58+
and is_transformers_available()
59+
and is_transformers_version(">", "4.45.2")
60+
):
61+
_LOW_CPU_MEM_USAGE_DEFAULT_LORA = True
62+
63+
5264
if is_transformers_available():
5365
from transformers import PreTrainedModel
5466

@@ -64,6 +76,10 @@
6476
LORA_WEIGHT_NAME_SAFE = "pytorch_lora_weights.safetensors"
6577
LORA_ADAPTER_METADATA_KEY = "lora_adapter_metadata"
6678

79+
TEXT_ENCODER_NAME = "text_encoder"
80+
UNET_NAME = "unet"
81+
TRANSFORMER_NAME = "transformer"
82+
6783

6884
def fuse_text_encoder_lora(text_encoder, lora_scale=1.0, safe_fusing=False, adapter_names=None):
6985
"""

src/diffusers/loaders/lora_pipeline.py

Lines changed: 6 additions & 462 deletions
Large diffs are not rendered by default.

src/diffusers/pipelines/stable_diffusion/lora_utils.py

Lines changed: 501 additions & 0 deletions
Large diffs are not rendered by default.

src/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,13 @@
2020
from ...callbacks import MultiPipelineCallbacks, PipelineCallback
2121
from ...configuration_utils import FrozenDict
2222
from ...image_processor import PipelineImageInput, VaeImageProcessor
23-
from ...loaders import FromSingleFileMixin, IPAdapterMixin, StableDiffusionLoraLoaderMixin, TextualInversionLoaderMixin
23+
from ...loaders import FromSingleFileMixin, IPAdapterMixin, TextualInversionLoaderMixin
2424
from ...models import AutoencoderKL, ImageProjection, UNet2DConditionModel
2525
from ...schedulers import KarrasDiffusionSchedulers
2626
from ...utils import deprecate, is_torch_xla_available, logging, replace_example_docstring
2727
from ...utils.torch_utils import randn_tensor
2828
from ..pipeline_utils import DiffusionPipeline, StableDiffusionMixin
29+
from .lora_utils import StableDiffusionLoraLoaderMixin
2930
from .pipeline_output import StableDiffusionPipelineOutput
3031
from .pipeline_stable_diffusion_utils import SDMixin, rescale_noise_cfg, retrieve_timesteps
3132
from .safety_checker import StableDiffusionSafetyChecker

src/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_depth2img.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323

2424
from ...configuration_utils import FrozenDict
2525
from ...image_processor import PipelineImageInput, VaeImageProcessor
26-
from ...loaders import StableDiffusionLoraLoaderMixin, TextualInversionLoaderMixin
26+
from ...loaders import TextualInversionLoaderMixin
2727
from ...models import AutoencoderKL, UNet2DConditionModel
2828
from ...schedulers import KarrasDiffusionSchedulers
2929
from ...utils import (
@@ -34,6 +34,7 @@
3434
)
3535
from ...utils.torch_utils import randn_tensor
3636
from ..pipeline_utils import DiffusionPipeline, ImagePipelineOutput
37+
from .lora_utils import StableDiffusionLoraLoaderMixin
3738
from .pipeline_stable_diffusion_utils import SDMixin, retrieve_latents
3839

3940

src/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_img2img.py

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,19 +23,14 @@
2323
from ...callbacks import MultiPipelineCallbacks, PipelineCallback
2424
from ...configuration_utils import FrozenDict
2525
from ...image_processor import PipelineImageInput, VaeImageProcessor
26-
from ...loaders import FromSingleFileMixin, IPAdapterMixin, StableDiffusionLoraLoaderMixin, TextualInversionLoaderMixin
26+
from ...loaders import FromSingleFileMixin, IPAdapterMixin, TextualInversionLoaderMixin
2727
from ...models import AutoencoderKL, ImageProjection, UNet2DConditionModel
2828
from ...schedulers import KarrasDiffusionSchedulers
29-
from ...utils import (
30-
PIL_INTERPOLATION,
31-
deprecate,
32-
is_torch_xla_available,
33-
logging,
34-
replace_example_docstring,
35-
)
29+
from ...utils import PIL_INTERPOLATION, deprecate, is_torch_xla_available, logging, replace_example_docstring
3630
from ...utils.torch_utils import randn_tensor
3731
from ..pipeline_utils import DiffusionPipeline, StableDiffusionMixin
3832
from . import StableDiffusionPipelineOutput
33+
from .lora_utils import StableDiffusionLoraLoaderMixin
3934
from .pipeline_stable_diffusion_utils import SDMixin, retrieve_latents, retrieve_timesteps
4035
from .safety_checker import StableDiffusionSafetyChecker
4136

src/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_inpaint.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,14 @@
2222
from ...callbacks import MultiPipelineCallbacks, PipelineCallback
2323
from ...configuration_utils import FrozenDict
2424
from ...image_processor import PipelineImageInput, VaeImageProcessor
25-
from ...loaders import FromSingleFileMixin, IPAdapterMixin, StableDiffusionLoraLoaderMixin, TextualInversionLoaderMixin
25+
from ...loaders import FromSingleFileMixin, IPAdapterMixin, TextualInversionLoaderMixin
2626
from ...models import AsymmetricAutoencoderKL, AutoencoderKL, ImageProjection, UNet2DConditionModel
2727
from ...schedulers import KarrasDiffusionSchedulers
2828
from ...utils import deprecate, is_torch_xla_available, logging
2929
from ...utils.torch_utils import randn_tensor
3030
from ..pipeline_utils import DiffusionPipeline, StableDiffusionMixin
3131
from . import StableDiffusionPipelineOutput
32+
from .lora_utils import StableDiffusionLoraLoaderMixin
3233
from .pipeline_stable_diffusion_utils import SDMixin, retrieve_latents, retrieve_timesteps
3334
from .safety_checker import StableDiffusionSafetyChecker
3435

src/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_instruct_pix2pix.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,14 @@
2222

2323
from ...callbacks import MultiPipelineCallbacks, PipelineCallback
2424
from ...image_processor import PipelineImageInput, VaeImageProcessor
25-
from ...loaders import FromSingleFileMixin, IPAdapterMixin, StableDiffusionLoraLoaderMixin, TextualInversionLoaderMixin
25+
from ...loaders import FromSingleFileMixin, IPAdapterMixin, TextualInversionLoaderMixin
2626
from ...models import AutoencoderKL, ImageProjection, UNet2DConditionModel
2727
from ...schedulers import KarrasDiffusionSchedulers
2828
from ...utils import PIL_INTERPOLATION, deprecate, is_torch_xla_available, logging
2929
from ...utils.torch_utils import randn_tensor
3030
from ..pipeline_utils import DiffusionPipeline, StableDiffusionMixin
3131
from . import StableDiffusionPipelineOutput
32+
from .lora_utils import StableDiffusionLoraLoaderMixin
3233
from .safety_checker import StableDiffusionSafetyChecker
3334

3435

src/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_upscale.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,14 @@
2121
from transformers import CLIPImageProcessor, CLIPTextModel, CLIPTokenizer
2222

2323
from ...image_processor import PipelineImageInput, VaeImageProcessor
24-
from ...loaders import FromSingleFileMixin, StableDiffusionLoraLoaderMixin, TextualInversionLoaderMixin
24+
from ...loaders import FromSingleFileMixin, TextualInversionLoaderMixin
2525
from ...models import AutoencoderKL, UNet2DConditionModel
2626
from ...schedulers import DDPMScheduler, KarrasDiffusionSchedulers
2727
from ...utils import deprecate, is_torch_xla_available, logging
2828
from ...utils.torch_utils import randn_tensor
2929
from ..pipeline_utils import DiffusionPipeline, StableDiffusionMixin
3030
from . import StableDiffusionPipelineOutput
31+
from .lora_utils import StableDiffusionLoraLoaderMixin
3132
from .pipeline_stable_diffusion_utils import SDMixin
3233

3334

src/diffusers/pipelines/stable_diffusion/pipeline_stable_unclip.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,14 @@
2020
from transformers.models.clip.modeling_clip import CLIPTextModelOutput
2121

2222
from ...image_processor import VaeImageProcessor
23-
from ...loaders import StableDiffusionLoraLoaderMixin, TextualInversionLoaderMixin
23+
from ...loaders import TextualInversionLoaderMixin
2424
from ...models import AutoencoderKL, PriorTransformer, UNet2DConditionModel
2525
from ...models.embeddings import get_timestep_embedding
2626
from ...schedulers import KarrasDiffusionSchedulers
2727
from ...utils import is_torch_xla_available, logging, replace_example_docstring
2828
from ...utils.torch_utils import randn_tensor
2929
from ..pipeline_utils import DiffusionPipeline, ImagePipelineOutput, StableDiffusionMixin
30+
from .lora_utils import StableDiffusionLoraLoaderMixin
3031
from .pipeline_stable_diffusion_utils import SDMixin
3132
from .stable_unclip_image_normalizer import StableUnCLIPImageNormalizer
3233

0 commit comments

Comments
 (0)