VSCode无法联网,调用torch.hub.load加载预训练模型失败求助
问题描述
在VSCode中运行预训练机器学习模型时,使用torch.hub.load()加载YOLOv5自定义模型需要联网,但出现无网络连接且缓存中找不到仓库的报错。
代码
import torch import torchvision import numpy as np def main(): # 加载模型 model = torch.hub.load('ultralytics/yolov5', 'custom', path='model_params.pt') # 用随机数据测试模型 img = np.random.randn(1024,764,3) boxes = model(img, size=640) print(boxes)
错误信息
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/torch/hub.py", line 199, in _get_cache_or_reload repo_owner, repo_name, ref = _parse_repo_info(github) File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/torch/hub.py", line 156, in _parse_repo_info raise RuntimeError( RuntimeError: 看起来没有网络连接,且在缓存目录(/Users/.../.cache/torch/hub)中找不到该仓库
解决方法
1. 确认VSCode的系统网络权限
- 打开macOS「系统设置」→「隐私与安全性」→「完全磁盘访问权限」,检查是否包含VSCode,未添加则手动添加
- 进入「网络」设置,确认当前网络正常,VSCode未被防火墙拦截
2. 配置Python环境的网络代理
如果网络需要代理,需让Python环境识别代理:
- 在VSCode终端执行临时代理命令(替换为你的代理地址):
export HTTP_PROXY=http://proxy-addr:port export HTTPS_PROXY=http://proxy-addr:port - 或在代码开头添加代理配置:
import os os.environ['HTTP_PROXY'] = 'http://proxy-addr:port' os.environ['HTTPS_PROXY'] = 'http://proxy-addr:port'
3. 离线加载模型(无需联网)
若无法联网,手动将YOLOv5仓库放入torch缓存:
- 克隆仓库:
git clone https://github.com/ultralytics/yolov5.git - 将克隆后的文件夹重命名为
ultralytics_yolov5_master,移动到/Users/你的用户名/.cache/torch/hub/目录下 - 重新运行代码,torch会直接从缓存读取仓库
内容的提问来源于stack exchange,提问作者Nanaki Singh
相关产品推荐
相关产品推荐

