今天一位朋友在用roop换脸的时候,结果报错如下:
(venv) E:\roop>python run.py
Traceback (most recent call last):
File "C:\Users\杨\AppData\Local\Programs\Python\Python310\lib\urllib\request.py", line 1348, in do_open
h.request(req.get_method(), req.selector, req.data, headers,
File "C:\Users\杨\AppData\Local\Programs\Python\Python310\lib\http\client.py", line 1283, in request
self._send_request(method, url, body, headers, encode_chunked)
File "C:\Users\杨\AppData\Local\Programs\Python\Python310\lib\http\client.py", line 1329, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File "C:\Users\杨\AppData\Local\Programs\Python\Python310\lib\http\client.py", line 1278, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File "C:\Users\杨\AppData\Local\Programs\Python\Python310\lib\http\client.py", line 1038, in _send_output
self.send(msg)
File "C:\Users\杨\AppData\Local\Programs\Python\Python310\lib\http\client.py", line 976, in send
self.connect()
File "C:\Users\杨\AppData\Local\Programs\Python\Python310\lib\http\client.py", line 1455, in connect
self.sock = self._context.wrap_socket(self.sock,
File "C:\Users\杨\AppData\Local\Programs\Python\Python310\lib\ssl.py", line 513, in wrap_socket
return self.sslsocket_class._create(
File "C:\Users\杨\AppData\Local\Programs\Python\Python310\lib\ssl.py", line 1071, in _create
self.do_handshake()
File "C:\Users\杨\AppData\Local\Programs\Python\Python310\lib\ssl.py", line 1342, in do_handshake
self._sslobj.do_handshake()
ConnectionResetError: [WinError 10054] 远程主机强迫关闭了一个现有的连接。
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "E:\roop\run.py", line 6, in <module>
core.run()
File "E:\roop\roop\core.py", line 217, in run
if not frame_processor.pre_check():
File "E:\roop\roop\processors\frame\face_swapper.py", line 37, in pre_check
conditional_download(download_directory_path, ['https://huggingface.co/henryruhs/roop/resolve/main/inswapper_128.onnx'])
File "E:\roop\roop\utilities.py", line 142, in conditional_download
request = urllib.request.urlopen(url) # type: ignore[attr-defined]
File "C:\Users\杨\AppData\Local\Programs\Python\Python310\lib\urllib\request.py", line 216, in urlopen
return opener.open(url, data, timeout)
File "C:\Users\杨\AppData\Local\Programs\Python\Python310\lib\urllib\request.py", line 519, in open
response = self._open(req, data)
File "C:\Users\杨\AppData\Local\Programs\Python\Python310\lib\urllib\request.py", line 536, in _open
result = self._call_chain(self.handle_open, protocol, protocol +
File "C:\Users\杨\AppData\Local\Programs\Python\Python310\lib\urllib\request.py", line 496, in _call_chain
result = func(*args)
File "C:\Users\杨\AppData\Local\Programs\Python\Python310\lib\urllib\request.py", line 1391, in https_open
return self.do_open(http.client.HTTPSConnection, req,
File "C:\Users\杨\AppData\Local\Programs\Python\Python310\lib\urllib\request.py", line 1351, in do_open
raise URLError(err)
urllib.error.URLError: <urlopen error [WinError 10054] 远程主机强迫关闭了一个现有的连接。>
(venv) E:\roop>
原因
这个错误通常意味着发送方(通常是客户端)已经关闭了连接,但接收方(通常是服务器)还在尝试使用该连接。这通常是由于远程主机的网络连接中断或超时导致的。可能是由于网络故障、路由器故障或者防火墙设置问题导致的。可以尝试重新连接,如果问题仍然存在,可以尝试检查网络设备,确保它们正常工作。
绝大多数情况,原因如下:
1、服务器没有及时处理来自客户端的数据(例如,长时间未响应),导致客户端关闭连接。
2、网络问题导致连接丢失,例如,一个中间的路由器无法将数据包传送到目标服务器,导致连接中断。
3、服务器或客户端出现了错误或崩溃,导致连接被强制关闭。
解决方法
像这种情况,理论上讲,一般的解决思路如下:
为了解决这个问题,可以尝试以下方法:
1、尝试使用不同的网络连接或从另一台计算机尝试连接服务器。
2、 检查客户端和服务器的防火墙设置,确保它们允许数据包通过。
3、检查代码中的错误或异常,可能需要调试代码来找出问题所在。
4、查看服务器或客户端的系统日志,以查看是否有任何错误或问题导致连接中断。
5、联系服务器管理员或网络管理员,以了解是否有任何问题或故障导致连接中断。
以我的这位朋友为例子:
由于他是用的roop换脸,他这主要的情况是在cmd命令窗口下,roop要先去:
打开
https://huggingface.co/henryruhs/roop/resolve/main/inswapper_128.onnx
这个网址下载相应的模型,大约有500M左右,但是一直下载不了。
最主要的是,这个网址他通过浏览器直接打开又可以下载。
这就造成了:
cmd命令行下载不了,浏览器却又可以下载,这就很无语,很尴尬。
我最终提出了一个解决思路:
1、浏览器打开这个网址先下载500M左右的模型。
2、再把下载的模型放到roop相应的文件夹内。例如:E:\roop\models\inswapper_128.onnx
2023年08月10日 07:43:40 沙发
我的就遇到了这种问题。但是用你的方法解决不了。那个模型下载好的。
2023年08月10日 09:31:00 1层
@贷款信用卡 你位置放对了?下载下来要放到正确的位置,例如:E:\roop\models\inswapper_128.onnx