【bug】可图文生图模型 KolorsPipeline IndexError: list index out of range

【bug】可图文生图模型 KolorsPipeline IndexError: list index out of range

环境

shell 复制代码
linux
diffusers     0.30.0

问题详情

报错详情

python 复制代码
from diffusers import KolorsPipeline

Traceback (most recent call last):
  File "Kolors/demo.py", line 6, in <module>
    pipe = KolorsPipeline.from_pretrained(
  File ".conda/envs/xxx/lib/python3.10/site-packages/huggingface_hub/utils/_validators.py", line 114, in _inner_fn
    return fn(*args, **kwargs)
  File ".conda/envs/xxx/lib/python3.10/site-packages/diffusers/pipelines/pipeline_utils.py", line 732, in from_pretrained
    variant_exists = is_folder and any(
  File ".conda/envs/xxx/lib/python3.10/site-packages/diffusers/pipelines/pipeline_utils.py", line 733, in <genexpr>
    p.split(".")[1].startswith(variant) for p in os.listdir(folder_path)
IndexError: list index out of range

运行代码

python 复制代码
import torch
from diffusers import KolorsPipeline

# 模型地址,可以改为本地离线地址
root_dir = "Kwai-Kolors/Kolors-diffusers"

pipe = KolorsPipeline.from_pretrained(
    root_dir, 
    torch_dtype=torch.float16, 
    variant="fp16"
).to("cuda")
prompt = '一张瓢虫的照片,微距,变焦,高质量,电影,拿着一个牌子,写着"可图"'
image = pipe(
    prompt=prompt,
    negative_prompt="",
    guidance_scale=5.0,
    num_inference_steps=50,
    generator=torch.Generator(pipe.device).manual_seed(66),
).images[0]
# image.show()

image.save("image.jpg")

错误说明

这个错误是由于模型中text_encoder文件夹下存在 __pycache__文件夹导致模型加载错误。

解决方法

解决方法是删除 text_encoder 文件夹下的 __pycache__文件夹。

我的模型是在可图 · 模型库 (modelscope.cn)下载的,官方没有去掉 __pycache__

如果是在Kwai-Kolors/Kolors-diffusers at main (huggingface.co) 下载,官方去掉了 __pycache__文件夹,因此不会出现这个错误

参考

Support for Kolors · Issue #8801 · huggingface/diffusers (github.com)

相关推荐
爱学习的阿磊几秒前
Python上下文管理器(with语句)的原理与实践
jvm·数据库·python
m0_736919104 分钟前
Python面向对象编程(OOP)终极指南
jvm·数据库·python
one____dream7 分钟前
【网安】Reverse-非常规题目
linux·python·安全·网络安全·ctf
冷雨夜中漫步17 分钟前
python反转列表reverse()和[::-1]哪个效率更高
开发语言·python
rainbow688920 分钟前
Python面向对象编程与异常处理实战
开发语言·python
weixin1997010801623 分钟前
锦程物流item_get - 获取详情接口对接全攻略:从入门到精通
数据库·python
2501_9071368244 分钟前
基于Python+QT6的移动硬盘弹出工具
python·软件需求
2501_907136821 小时前
python 界面元素控件库工具,可以看到python的可视控件和使用方法
python·软件需求
2301_765703141 小时前
开发一个简单的Python计算器
jvm·数据库·python
yj15581 小时前
客厅阳台改卧室需要注意什么?
python