-
Notifications
You must be signed in to change notification settings - Fork 5.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Kandinsky 2.2 fails to load #5044
Comments
Thanks for the nice issue! The following works for me: from diffusers import DiffusionPipeline
import torch
cache_dir = DiffusionPipeline.download("kandinsky-community/kandinsky-2-2-decoder", torch_dtype=torch.float16, variant="fp16", load_connected_pipeline=True)
pipe = DiffusionPipeline.from_pretrained(cache_dir, load_connected_pipeline=True) where Could you try passing Also what could happen here is that you have an older version of Kandinsky on your local disk, could you maybe try re-downloading it? Please let me know if this works - if yes, I'll make sure we document |
|
## [[Kandinsky2.2 训练支持 · Issue #268 · PaddlePaddle/PaddleMIX](https://github.com/PaddlePaddle/PaddleMIX/issues/268)](https://github.com/PaddlePaddle/PaddleMIX/issues/268) ### 1 前200steps loss对齐结果: - decoder w/o LoRA: ![decoder](https://github.com/PaddlePaddle/PaddleMIX/assets/46399096/ac52377b-5522-4ffb-8ea8-3ad73668cbc5) - prior w/o LoRA: ![prior](https://github.com/PaddlePaddle/PaddleMIX/assets/46399096/af24f7c2-2618-4db0-bdaf-764f72f47c9a) - decoder with LoRA: ![decoder_lora](https://github.com/PaddlePaddle/PaddleMIX/assets/46399096/231573c1-9d7c-46da-8b16-592a22d248af) - prior with LoRA: ![prior_lora](https://github.com/PaddlePaddle/PaddleMIX/assets/46399096/79c166d9-0a08-48b6-84e0-3c802e857ff9) - decoder finue-tune 3k steps results(prompts: A robot pokemon, 4k photo): ![robot-pokemon](https://github.com/PaddlePaddle/PaddleMIX/assets/46399096/a7e8ef2d-08b1-4ef2-80d8-826704340de2) ### 2 其他修改 [[ppdiffusers/models/attention_processor.py/LoRAAttnAddedKVProcessor.call](https://github.com/PaddlePaddle/PaddleMIX/blob/ff0d2f25c79cc6e34e7d9c071328a7ed8bea4bc3/ppdiffusers/ppdiffusers/models/attention_processor.py#L789C57-L789C79)] : axis = 1 -> axis = 2 修改原因:运行python train_text_to_image_decoder_lora.py使用LoRAAttnAddedKVProcessor出现concat拼接维度错误。 ### 3 对齐说明 - 关闭diffusers和ppdiffusers中dataloader中的shuffle,保证数据顺序一致; - 设置同一随机种子,并将在trainning loop中造成随机性的noise和timesteps改为由numpy生成统一随机结果(提交代码已删除该逻辑)。 ### 4 存在问题 - 在ppdiffusers中使用AutoPipelineForText2Image(args.pretrained_decoder_model_name_or_path)出现组件缺失: ```bash ValueError: Pipeline <class 'ppdiffusers.pipelines.kandinsky2_2.pipeline_kandinsky2_2_combined.KandinskyV22CombinedPipeline'> expected {'unet', 'prior_image_processor', 'prior_text_encoder', 'prior_image_encoder', 'movq', 'prior_prior', 'prior_scheduler', 'prior_tokenizer', 'scheduler'}, but only {'unet', 'movq', 'scheduler'} were passed. ``` 只能识别部分组件,无法像diffusers自动识别所有组件。故在提交代码中采取下策:在AutoPipelineForText2Image前逐个定义好后传入,不够简洁。目前原因未定,看到一个[[diffusers的issue](https://github.com/PaddlePaddle/PaddleMIX/compare/%5Bhttps://github.com/huggingface/diffusers/issues/5044)]([https://github.com/huggingface/diffusers/issues/5044)与该问题类似。 - 使用pip install ppdiffusers=0.19.4 在下载prior的LoRA权重时会出现PriorTransformer找不到load_attn_procs, 无法使用pipeline.prior_prior.load_attn_procs(args.output_dir),但使用最新develop分支构建ppdiffusers安装包则不会出现这个问题。 ----------期待回复与关于合入的建议, Thx :)------------------ --------- Co-authored-by: Tsaiyue <tsaiyue01@gamil.com>
## [[Kandinsky2.2 训练支持 · Issue PaddlePaddle#268 · PaddlePaddle/PaddleMIX](https://github.com/PaddlePaddle/PaddleMIX/issues/268)](https://github.com/PaddlePaddle/PaddleMIX/issues/268) ### 1 前200steps loss对齐结果: - decoder w/o LoRA: ![decoder](https://github.com/PaddlePaddle/PaddleMIX/assets/46399096/ac52377b-5522-4ffb-8ea8-3ad73668cbc5) - prior w/o LoRA: ![prior](https://github.com/PaddlePaddle/PaddleMIX/assets/46399096/af24f7c2-2618-4db0-bdaf-764f72f47c9a) - decoder with LoRA: ![decoder_lora](https://github.com/PaddlePaddle/PaddleMIX/assets/46399096/231573c1-9d7c-46da-8b16-592a22d248af) - prior with LoRA: ![prior_lora](https://github.com/PaddlePaddle/PaddleMIX/assets/46399096/79c166d9-0a08-48b6-84e0-3c802e857ff9) - decoder finue-tune 3k steps results(prompts: A robot pokemon, 4k photo): ![robot-pokemon](https://github.com/PaddlePaddle/PaddleMIX/assets/46399096/a7e8ef2d-08b1-4ef2-80d8-826704340de2) ### 2 其他修改 [[ppdiffusers/models/attention_processor.py/LoRAAttnAddedKVProcessor.call](https://github.com/PaddlePaddle/PaddleMIX/blob/ff0d2f25c79cc6e34e7d9c071328a7ed8bea4bc3/ppdiffusers/ppdiffusers/models/attention_processor.py#L789C57-L789C79)] : axis = 1 -> axis = 2 修改原因:运行python train_text_to_image_decoder_lora.py使用LoRAAttnAddedKVProcessor出现concat拼接维度错误。 ### 3 对齐说明 - 关闭diffusers和ppdiffusers中dataloader中的shuffle,保证数据顺序一致; - 设置同一随机种子,并将在trainning loop中造成随机性的noise和timesteps改为由numpy生成统一随机结果(提交代码已删除该逻辑)。 ### 4 存在问题 - 在ppdiffusers中使用AutoPipelineForText2Image(args.pretrained_decoder_model_name_or_path)出现组件缺失: ```bash ValueError: Pipeline <class 'ppdiffusers.pipelines.kandinsky2_2.pipeline_kandinsky2_2_combined.KandinskyV22CombinedPipeline'> expected {'unet', 'prior_image_processor', 'prior_text_encoder', 'prior_image_encoder', 'movq', 'prior_prior', 'prior_scheduler', 'prior_tokenizer', 'scheduler'}, but only {'unet', 'movq', 'scheduler'} were passed. ``` 只能识别部分组件,无法像diffusers自动识别所有组件。故在提交代码中采取下策:在AutoPipelineForText2Image前逐个定义好后传入,不够简洁。目前原因未定,看到一个[[diffusers的issue](https://github.com/PaddlePaddle/PaddleMIX/compare/%5Bhttps://github.com/huggingface/diffusers/issues/5044)]([https://github.com/huggingface/diffusers/issues/5044)与该问题类似。 - 使用pip install ppdiffusers=0.19.4 在下载prior的LoRA权重时会出现PriorTransformer找不到load_attn_procs, 无法使用pipeline.prior_prior.load_attn_procs(args.output_dir),但使用最新develop分支构建ppdiffusers安装包则不会出现这个问题。 ----------期待回复与关于合入的建议, Thx :)------------------ --------- Co-authored-by: Tsaiyue <tsaiyue01@gamil.com>
Describe the bug
i've tried both
DiffusionPipeline
andAutoPipelineForText2Image
and Kandinsky 2.2 fails to load:error is:
note that kandinsky 2.1 works fine (and so do most other models)
Reproduction
import os
import torch
import diffusers
cache_dir = '/home/vlado/dev/sdnext/models/Diffusers'
model_path = 'models--kandinsky-community--kandinsky-2-2-decoder/snapshots/824f8d584960715056dc509c119d6a33cde34889'
pipe = diffusers.AutoPipelineForText2Image.from_pretrained(os.path.join(cache_dir, model_path), torch_dtype=torch.float16, cache_dir=cache_dir)
Logs
System Info
diffusers
version: 0.21.1Who can help?
@patrickvonplaten @sayakpaul @williamberman
The text was updated successfully, but these errors were encountered: