OOTDiffusion icon indicating copy to clipboard operation
OOTDiffusion copied to clipboard

ImportError: cannot import name 'CaptionProjection' from 'diffusers.models.embeddings'

Open SilentTE opened this issue 1 year ago • 4 comments

File "/root/OOTDiffusion/run/run_ootd.py", line 11, in from ootd.inference_ootd_hd import OOTDiffusionHD File "/root/OOTDiffusion/ootd/inference_ootd_hd.py", line 24, in from pipelines_ootd.pipeline_ootd import OotdPipeline File "/root/OOTDiffusion/ootd/pipelines_ootd/pipeline_ootd.py", line 27, in from .unet_vton_2d_condition import UNetVton2DConditionModel File "/root/OOTDiffusion/ootd/pipelines_ootd/unet_vton_2d_condition.py", line 23, in from .unet_vton_2d_blocks import ( File "/root/OOTDiffusion/ootd/pipelines_ootd/unet_vton_2d_blocks.py", line 23, in from .transformer_vton_2d import Transformer2DModel File "/root/OOTDiffusion/ootd/pipelines_ootd/transformer_vton_2d.py", line 29, in from diffusers.models.embeddings import CaptionProjection, PatchEmbed ImportError: cannot import name 'CaptionProjection' from 'diffusers.models.embeddings' (/root/anaconda3/envs/ootd/lib/python3.10/site-packages/diffusers/models/embeddings.py)

how to solve it?

SilentTE avatar Feb 23 '24 08:02 SilentTE

install correct diffusers version

ShineChen1024 avatar Feb 23 '24 09:02 ShineChen1024

install correct diffusers version

if I install diffusers==0.24.0, it will have another error ValueError: Cannot load ../checkpoints/ootd/ootd_hd/checkpoint-36000 because conv_in.weight expected shape tensor, any idea how to solve this problem?

SilentTE avatar Feb 23 '24 10:02 SilentTE

File "/root/OOTDiffusion/run/run_ootd.py", line 11, in from ootd.inference_ootd_hd import OOTDiffusionHD File "/root/OOTDiffusion/ootd/inference_ootd_hd.py", line 24, in from pipelines_ootd.pipeline_ootd import OotdPipeline File "/root/OOTDiffusion/ootd/pipelines_ootd/pipeline_ootd.py", line 27, in from .unet_vton_2d_condition import UNetVton2DConditionModel File "/root/OOTDiffusion/ootd/pipelines_ootd/unet_vton_2d_condition.py", line 23, in from .unet_vton_2d_blocks import ( File "/root/OOTDiffusion/ootd/pipelines_ootd/unet_vton_2d_blocks.py", line 23, in from .transformer_vton_2d import Transformer2DModel File "/root/OOTDiffusion/ootd/pipelines_ootd/transformer_vton_2d.py", line 29, in from diffusers.models.embeddings import CaptionProjection, PatchEmbed ImportError: cannot import name 'CaptionProjection' from 'diffusers.models.embeddings' (/root/anaconda3/envs/ootd/lib/python3.10/site-packages/diffusers/models/embeddings.py)

how to solve it?

If your diffusers version is 0.26.3, make the following changes: CaptionProjection -> PixArtAlphaTextProjection PositionNet -> GLIGENTextBoundingboxProjection

sooxp avatar Feb 28 '24 07:02 sooxp

Just did a clean install of ComfyUI and Manager, just to try the OOTDiffusion, and the error remains..

`Traceback (most recent call last): File "X:\AI\ComfyUI_windows_portable_CLEAN\ComfyUI\nodes.py", line 1887, in load_custom_node module_spec.loader.exec_module(module) File "", line 940, in exec_module File "", line 241, in call_with_frames_removed File "X:\AI\ComfyUI_windows_portable_CLEAN\ComfyUI\custom_nodes\ComfyUI-OOTDiffusion_init.py", line 10, in from .inference_ootd import OOTDiffusion File "X:\AI\ComfyUI_windows_portable_CLEAN\ComfyUI\custom_nodes\ComfyUI-OOTDiffusion\inference_ootd.py", line 23, in from .pipelines_ootd.pipeline_ootd import OotdPipeline File "X:\AI\ComfyUI_windows_portable_CLEAN\ComfyUI\custom_nodes\ComfyUI-OOTDiffusion\pipelines_ootd\pipeline_ootd.py", line 27, in from .unet_vton_2d_condition import UNetVton2DConditionModel File "X:\AI\ComfyUI_windows_portable_CLEAN\ComfyUI\custom_nodes\ComfyUI-OOTDiffusion\pipelines_ootd\unet_vton_2d_condition.py", line 23, in from .unet_vton_2d_blocks import ( File "X:\AI\ComfyUI_windows_portable_CLEAN\ComfyUI\custom_nodes\ComfyUI-OOTDiffusion\pipelines_ootd\unet_vton_2d_blocks.py", line 23, in from .transformer_vton_2d import Transformer2DModel File "X:\AI\ComfyUI_windows_portable_CLEAN\ComfyUI\custom_nodes\ComfyUI-OOTDiffusion\pipelines_ootd\transformer_vton_2d.py", line 29, in from diffusers.models.embeddings import CaptionProjection, PatchEmbed ImportError: cannot import name 'CaptionProjection' from 'diffusers.models.embeddings' (X:\AI\ComfyUI_windows_portable_CLEAN\python_embeded\Lib\site-packages\diffusers\models\embeddings.py)

Cannot import X:\AI\ComfyUI_windows_portable_CLEAN\ComfyUI\custom_nodes\ComfyUI-OOTDiffusion module for custom nodes: cannot import name 'CaptionProjection' from 'diffusers.models.embeddings' (X:\AI\ComfyUI_windows_portable_CLEAN\python_embeded\Lib\site-packages\diffusers\models\embeddings.py)

Import times for custom nodes: 0.5 seconds: X:\AI\ComfyUI_windows_portable_CLEAN\ComfyUI\custom_nodes\ComfyUI-Manager 0.6 seconds (IMPORT FAILED): X:\AI\ComfyUI_windows_portable_CLEAN\ComfyUI\custom_nodes\ComfyUI-OOTDiffusion`

I was with Diffusers 0.24, now with diffusers-0.26.3.dist, which gives the error above.

Any tips on it? Thank in advance!

rodsott avatar Mar 29 '24 19:03 rodsott