本文介绍解决 HuggingFace 模型下载失败的四种方法,适用于网络连接异常或代理配置问题。
HTTPSConnectionPool(host='huggingface.co', port=443)
在使用 HuggingFace 下载模型或 Tokenizer 时,常常会遇到如下错误:
HTTPSConnectionPool(host='huggingface.co', port=443): Max retries exceeded with url: ...
即使你已正确配置了网络代理,该错误仍可能发生。
例如,执行以下代码时:
pythonfrom transformers import AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("csebuetnlp/mT5_multilingual_XLSum")
可能会报上述错误。
本文提供 四种解决方法,可根据你的实际环境选择合适方式。
你可以在 HuggingFace 模型页面中找到 Files and versions,将相关模型文件全部下载至本地。
下载完成后,使用本地路径加载模型:
pythontokenizer = AutoTokenizer.from_pretrained("本地模型文件夹路径")
这样模型将不会再尝试联网下载,而是直接读取本地文件。
📷 示例图(手动下载模型文件):
如果你希望仍然在线下载,但又不想手动下载全部文件,可以尝试降级以下库的版本:
bashpip install requests==2.27.1 pip install urllib3==1.25.11
这两个版本被很多用户验证为兼容 HuggingFace 下载流程,能解决连接失败的问题(前提是网络环境已正确设置)。
执行后再次运行下载代码,会看到如下正常的下载输出:
Downloading (…)okenizer_config.json: 100%|██████████| 375/375 Downloading (…)lve/main/config.json: 100%|██████████| 730/730 Downloading spiece.model: 100%|██████████| 4.31M/4.31M Downloading (…)cial_tokens_map.json: 100%|██████████| 65.0/65.0
如果你已配置本地代理服务(如 Clash、Surge 等),可以在代码中直接设置 HTTP 和 HTTPS 代理:
pythonimport os
os.environ["http_proxy"] = "http://127.0.0.1:33210"
os.environ["https_proxy"] = "http://127.0.0.1:33210"
⚠️ 注意:端口号应与你本地代理软件的实际配置一致。
如果你使用 PyCharm 开发,也可以在 IDE 内设置全局代理,路径如下:
File > Settings > Appearance & Behavior > System Settings > HTTP Proxy
📷 示例图:
方法 | 说明 | 推荐场景 |
---|---|---|
手动下载 | 下载模型文件到本地 | 网络不稳定、需离线使用 |
降级库版本 | 兼容性更好、绕过连接 bug | 网络能访问 HuggingFace |
设置代理 | 在代码中设置代理 | 有代理但未全局生效 |
IDE 代理设置 | 适用于 IDE 下载依赖失败的情况 | 使用 PyCharm、VSCode 等 |
本文作者:wenY
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!