本文收录于《AI绘画从入门到精通》专栏,专栏总目录:点这里,订阅后可阅读专栏内所有文章。
大家好,我是水滴~~
本文主要介绍在使用 Stable Diffusion WebUI 中使用图生图中的“使用 Clip 反推提示词”时报了<error>
异常的解决方案,希望能够帮到你!
文章目录
- 问题描述
- 解决方案
- 第一步:下载模型文件
- 第二步:下载9个`.pt`文件
- 第三步:下载 interrogate 文本文件
- 第四步:重启
问题描述
今天在 Stable Diffusion WebUI 中使用图生图中的“使用 Clip 反推提示词”时报了<error>
异常。在官网查了很多解决方案,也没有解决我的问题,最后通过追踪源码查到了原因,在这里分享给大家。顺便将其它原因导致的异常也解决了!
我的报错:
load checkpoint from D:\StableDiffusion\stable-diffusion-webui\models\BLIP\model_base_caption_capfilt_large.pth
*** Error interrogating
Traceback (most recent call last):
File "C:\Python\Python310\lib\urllib\request.py", line 1348, in do_open
h.request(req.get_method(), req.selector, req.data, headers,
File "C:\Python\Python310\lib\http\client.py", line 1282, in request
self._send_request(method, url, body, headers, encode_chunked)
File "C:\Python\Python310\lib\http\client.py", line 1328, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File "C:\Python\Python310\lib\http\client.py", line 1277, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File "C:\Python\Python310\lib\http\client.py", line 1037, in _send_output
self.send(msg)
File "C:\Python\Python310\lib\http\client.py", line 975, in send
self.connect()
File "C:\Python\Python310\lib\http\client.py", line 1454, in connect
self.sock = self._context.wrap_socket(self.sock,
File "C:\Python\Python310\lib\ssl.py", line 513, in wrap_socket
return self.sslsocket_class._create(
File "C:\Python\Python310\lib\ssl.py", line 1071, in _create
self.do_handshake()
File "C:\Python\Python310\lib\ssl.py", line 1342, in do_handshake
self._sslobj.do_handshake()
FileNotFoundError: [Errno 2] No such file or directory
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "D:\StableDiffusion\stable-diffusion-webui\modules\interrogate.py", line 192, in interrogate
self.load()
File "D:\StableDiffusion\stable-diffusion-webui\modules\interrogate.py", line 128, in load
self.clip_model, self.clip_preprocess = self.load_clip_model()
File "D:\StableDiffusion\stable-diffusion-webui\modules\interrogate.py", line 112, in load_clip_model
model, preprocess = clip.load(clip_model_name, download_root=shared.cmd_opts.clip_models_path)
File "D:\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\clip\clip.py", line 120, in load
model_path = _download(_MODELS[name], download_root or os.path.expanduser("~/.cache/clip"))
File "D:\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\clip\clip.py", line 59, in _download
with urllib.request.urlopen(url) as source, open(download_target, "wb") as output:
File "C:\Python\Python310\lib\urllib\request.py", line 216, in urlopen
return opener.open(url, data, timeout)
File "C:\Python\Python310\lib\urllib\request.py", line 519, in open
response = self._open(req, data)
File "C:\Python\Python310\lib\urllib\request.py", line 536, in _open
result = self._call_chain(self.handle_open, protocol, protocol +
File "C:\Python\Python310\lib\urllib\request.py", line 496, in _call_chain
result = func(*args)
File "C:\Python\Python310\lib\urllib\request.py", line 1391, in https_open
return self.do_open(http.client.HTTPSConnection, req,
File "C:\Python\Python310\lib\urllib\request.py", line 1351, in do_open
raise URLError(err)
urllib.error.URLError: <urlopen error [Errno 2] No such file or directory>
---
解决方案
通过追踪代码找到了我的报错的原因,也结合了官网中其它小伙们位的报错情况,在这里给出三步解决方案,基本上能够解决问题。
解决该问题需要下载一些模型文件,我已经下载好并放到了网盘里,然后按照下面步骤替换即可。
网盘链接:https://pan.quark.cn/s/8c13eeb2149d
第一步:下载模型文件
在“使用 Clip 反推提示词”时会使用到一个模型,如果无法下载,或下载过程中出错,就会导致模型文件的不完整,需要替换一下模型文件。打开你的 stable-diffusion-web 的主目录,进入 \models\BLIP
文件夹,替换下面的模型文件。
第二步:下载9个.pt
文件
进入C:\Users\你的用户\.cache\clip
目录,将下面9个.pt
文件拷贝到此目录(我的报错就是因为这些文件无法下载导致的)。
第三步:下载 interrogate 文本文件
进入 stable-diffusion-webui 主目录,如果有 interrogate_tmp
文件夹就删掉,如果没有 interrogate
文件夹就创建,然后进入interrogate
文件夹,将下面四个文件拷贝到该目录。
第四步:重启
最后一步,重启 Stable Diffusion WebUI 即可。