执行某py
文件时,从网络下载模型后,不能加载,错误如下:
Fetching 15 files: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████| 15/15 [00:00<00:00, 2534.22it/s]
ftfy or spacy is not installed using BERT BasicTokenizer instead of ftfy.
Traceback (most recent call last):
File "/home/gaoyi/example-app/waifu-model.py", line 5, in <module>
pipe = StableDiffusionPipeline.from_pretrained(
File "/home/gaoyi/anaconda3/lib/python3.9/site-packages/diffusers/pipeline_utils.py", line 659, in from_pretrained
class_obj = getattr(library, class_name)
File "/home/gaoyi/anaconda3/lib/python3.9/site-packages/transformers/utils/import_utils.py", line 1069, in __getattr__
raise AttributeError(f"module {self.__name__} has no attribute {name}")
AttributeError: module transformers has no attribute CLIPImageProcessor
一般来说一个包当中找不到某个Attribute
,大概率是包的版本不对,要么版本太低需要升级,要么版本太高淘汰了某些用法,按需执行以下命令:
# 查看包的版本
pip show <package name>
# 升级包
pip install --upgrade <package name>
# 卸载重装
pip uninstall <package name>
pip install <package name>
# 指定版本
pip install <package name>==<版本号>
使用pip
命令折腾了很久,相关检索的网页也看了很多,有不少人遇到了一样的问题,但是原因不尽相同,所以也没有办法套用相同的解决思路,这里我突然意识到是否是因为conda
和pip
对于包的管理是不一样的,毕竟这2个东西总会导致不少问题的出现,于是尝试在conda
中安装transformers
这个包:
# 执行一个就好了
conda install -c conda-forge transformers
conda install -c "conda-forge/label/cf202003" transformers
https://huggingface.co/nitrosocke/Nitro-Diffusion/discussions/6
https://huggingface.co/docs/transformers/model_doc/clip#transformers.CLIPImageProcessor
https://anaconda.org/conda-forge/transformers