huggingface / diffusers

🤗 Diffusers: State-of-the-art diffusion models for image and audio generation in PyTorch and FLAX.
https://huggingface.co/docs/diffusers
Apache License 2.0
25.83k stars 5.32k forks source link

ImportError: cannot import name 'StableDiffusionLoraLoaderMixin' from 'diffusers.loaders' #9055

Closed MehmetcanTozlu closed 2 months ago

MehmetcanTozlu commented 2 months ago

Describe the bug

I get this error in diffusers versions 25,26,27,28,29, how can I solve it?

Reproduction

import ast import gc import inspect import math import warnings from collections.abc import Iterable from typing import Any, Callable, Dict, List, Optional, Union

import torch import torch.nn.functional as F from packaging import version from transformers import CLIPImageProcessor, CLIPTextModel, CLIPTokenizer, CLIPVisionModelWithProjection

from diffusers.configuration_utils import FrozenDict from diffusers.image_processor import PipelineImageInput, VaeImageProcessor from diffusers.loaders import ( FromSingleFileMixin, IPAdapterMixin, StableDiffusionLoraLoaderMixin, TextualInversionLoaderMixin, ) from diffusers.models import AutoencoderKL, UNet2DConditionModel from diffusers.models.attention import Attention, GatedSelfAttentionDense from diffusers.models.attention_processor import AttnProcessor2_0 from diffusers.models.lora import adjust_lora_scale_text_encoder from diffusers.pipelines import DiffusionPipeline from diffusers.pipelines.pipeline_utils import StableDiffusionMixin from diffusers.pipelines.stable_diffusion.pipeline_output import StableDiffusionPipelineOutput from diffusers.pipelines.stable_diffusion.safety_checker import StableDiffusionSafetyChecker from diffusers.schedulers import KarrasDiffusionSchedulers from diffusers.utils import ( USE_PEFT_BACKEND, deprecate, logging, replace_example_docstring, scale_lora_layers, unscale_lora_layers, ) from diffusers.utils.torch_utils import randn_tensor

Logs

Traceback (most recent call last):
  File "/home/wrusr/miniconda3/workspace/sd_llm_script_env/workspace/llm_sd.py", line 149, in <module>
    llm_sd(args=args)
  File "/home/wrusr/miniconda3/workspace/sd_llm_script_env/workspace/llm_sd.py", line 10, in llm_sd
    pipe = DiffusionPipeline.from_pretrained(
  File "/home/wrusr/miniconda3/workspace/sd_llm_script_env/lib/python3.10/site-packages/huggingface_hub/utils/_validators.py", line 114, in _inner_fn
    return fn(*args, **kwargs)
  File "/home/wrusr/miniconda3/workspace/sd_llm_script_env/lib/python3.10/site-packages/diffusers/pipelines/pipeline_utils.py", line 1147, in from_pretrained
    pipeline_class = _get_pipeline_class(
  File "/home/wrusr/miniconda3/workspace/sd_llm_script_env/lib/python3.10/site-packages/diffusers/pipelines/pipeline_utils.py", line 380, in _get_pipeline_class
    return get_class_from_dynamic_module(
  File "/home/wrusr/miniconda3/workspace/sd_llm_script_env/lib/python3.10/site-packages/huggingface_hub/utils/_validators.py", line 114, in _inner_fn
    return fn(*args, **kwargs)
  File "/home/wrusr/miniconda3/workspace/sd_llm_script_env/lib/python3.10/site-packages/diffusers/utils/dynamic_modules_utils.py", line 452, in get_class_from_dynamic_module
    return get_class_in_module(class_name, final_module.replace(".py", ""))
  File "/home/wrusr/miniconda3/workspace/sd_llm_script_env/lib/python3.10/site-packages/diffusers/utils/dynamic_modules_utils.py", line 164, in get_class_in_module
    module = importlib.import_module(module_path)
  File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 883, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/home/wrusr/.cache/huggingface/modules/diffusers_modules/git/llm_grounded_diffusion.py", line 32, in <module>
    from diffusers.loaders import (
ImportError: cannot import name 'StableDiffusionLoraLoaderMixin' from 'diffusers.loaders' (/home/wrusr/miniconda3/workspace/sd_llm_script_env/lib/python3.10/site-packages/diffusers/loaders/__init__.py)

System Info

torch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2 accelerate==0.21.0 transformers==4.39.3 diffusers==0.27.2 peft==0.10.0 numpy==1.25.2 python3.10

Who can help?

@yiyixuxu @asomoza

tolgacangoz commented 2 months ago

StableDiffusionLoraLoaderMixin has just been added(in 0.30.0.dev0). Just install from the source.

MehmetcanTozlu commented 2 months ago

This worked, thanks.