当我部署好环境后,准备大张旗鼓开搞时,进入项目地址运行python launch.py后发现
下面连接着的报错是
OSError: Can't load tokenizer for 'openai/clip-vit-large-patch14'. If you were trying to load it from 'https://huggingface.co/models', make sure you don't have a local directory with the same name. Otherwise, make sure 'openai/clip-vit-large-patch14' is the correct path to a directory containing all relevant files for a CLIPTokenizer tokenizer.
问题分析:
运行时它需要访问huggingface.co去下载一些模型需要的文件,而大陆用户连接不上huggingface.co,导致我部署失败。
解决方案:
让服务器访问服务器本地数据,我们负责将文件下载后上传上去并进行配置
从报错信息看可以看出我们缺少openai/clip-vit-large-patch14所必须的一些内容,它发现本地不存在便会从huggingface.co上下载,那我们只需要到这个网址上下载对应的文件并放到服务器上并配置所需要的地方即可。
进入https://huggingface.co/openai/clip-vit-large-patch14/tree/main
进不去的可在此文章的绑定资源中下载
下载所有文件并上传至服务器
注意.gitattributes 在windows上下载时会自动转为txt,记得重命名
放置到你所需要的目录,自定,我是放在了stable-diffusion-webui/.cache/huggingface/transformers下,如图
下载后开始进行配置,这些文件(clip)是模型中encoder所需要的,我们可以从报错信息中去发现是哪里调用了这个openai/clip-vit-large-patch14,去修改这个路径配置即可。如图,我这里显示
那么我们去对应的文件找
罪恶的源头如此,这里的配置会导致我们运行时会去huggingface.co(外网)找这个文件,只需要将这个改成我们之前下载所放置的路径即可。
一键替换,我一共改了四处,这个文件中两处
stable-diffusion-webui/repositories/stable-diffusion-stability-ai/ldm/modules/encoders/modules.py中还有两处
改完运行,成功,继续摸索了!