rembg 模型库放置位置设置

之前写了一篇 rembg 库去背景的博文,有朋友发现怎么也无法解决,一直卡在下载报错。

requests.exceptions.ConnectionError: HTTPSConnectionPool(host='drive.google.com', port=443): Max retries exceeded with url: /uc?id=1tCU5MM1LhRgGou5OpmpjBQbSrYIUoYab (Caused by NewConnectionError(': Failed to establish a new connection: [WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。'))

模型下载后需要解决放在用户目录的 .u2net 文件夹,如果你没有特殊设置,其目录为 C:\Users\你的用户名 如:C:\Users\Administrators 只需要将下载的4个onnx文件放在 C:\Users\Administrators\.u2net 文件夹即可。

注意文件夹名称u2net前面有个点。

如果你不知道自己的用户目录,也可以在文件管理器地址栏输入%homepath% 回车即可转到用户目录。


如果还是报错,你可以尝试设置环境变量 U2NET_HOME,自定义这个文件夹的位置。

再不行可以修改 python 库的 site-packages\rembg\session_factory.py 的 42 行添加打印,打印出来看看到底跑到哪个地方找文件了。

home = os.getenv("U2NET_HOME", os.path.join("~", ".u2net"))
path = Path(home).expanduser() / f"{model_name}.onnx"
# 这里打印出来看看到底跑到哪个地方找文件了
print(path)
path.parents[0].mkdir(parents=True, exist_ok=True)
if not path.exists():
    with redirect_stdout(sys.stderr):
        gdown.download(url, str(path), use_cookies=False)
else:
    hashing = hashlib.new("md5", path.read_bytes(), usedforsecurity=False)
    if hashing.hexdigest() != md5:
        with redirect_stdout(sys.stderr):
            gdown.download(url, str(path), use_cookies=False)

你可能感兴趣的:(AI,Python,python)