torch.hub.load报错urllib.error.HTTPError: HTTP Error 403: rate limit exceeded

在运行DINOv2的示例代码时,需要载入预训练的模型,比如:

python 复制代码
backbone_model = torch.hub.load(repo_or_dir="facebookresearch/dinov2", model=backbone_name)

torch.hub.load报错"urllib.error.HTTPError: HTTP Error 403: rate limit exceeded",具体报错信息如下:

Traceback (most recent call last):

File "/data1/domainnet/dinov2/demo.py", line 15, in <module>

backbone_model = torch.hub.load(repo_or_dir="facebookresearch/dinov2", model=backbone_name)

File "/root/miniconda3/envs/dinov2-extras/lib/python3.9/site-packages/torch/hub.py", line 555, in load

repo_or_dir = _get_cache_or_reload(repo_or_dir, force_reload, trust_repo, "load",

File "/root/miniconda3/envs/dinov2-extras/lib/python3.9/site-packages/torch/hub.py", line 222, in _get_cache_or_reload

_validate_not_a_forked_repo(repo_owner, repo_name, ref)

File "/root/miniconda3/envs/dinov2-extras/lib/python3.9/site-packages/torch/hub.py", line 181, in _validate_not_a_forked_repo

response = json.loads(_read_url(Request(url, headers=headers)))

File "/root/miniconda3/envs/dinov2-extras/lib/python3.9/site-packages/torch/hub.py", line 164, in _read_url

with urlopen(url) as r:

File "/root/miniconda3/envs/dinov2-extras/lib/python3.9/urllib/request.py", line 214, in urlopen

return opener.open(url, data, timeout)

File "/root/miniconda3/envs/dinov2-extras/lib/python3.9/urllib/request.py", line 523, in open

response = meth(req, response)

File "/root/miniconda3/envs/dinov2-extras/lib/python3.9/urllib/request.py", line 632, in http_response

response = self.parent.error(

File "/root/miniconda3/envs/dinov2-extras/lib/python3.9/urllib/request.py", line 561, in error

return self._call_chain(*args)

File "/root/miniconda3/envs/dinov2-extras/lib/python3.9/urllib/request.py", line 494, in _call_chain

result = func(*args)

File "/root/miniconda3/envs/dinov2-extras/lib/python3.9/urllib/request.py", line 641, in http_error_default

raise HTTPError(req.full_url, code, msg, hdrs, fp)

urllib.error.HTTPError: HTTP Error 403: rate limit exceeded

据说这个是PyTorch部分版本的Bug,可以在torch.hub相关代码前加一行,如下:

python 复制代码
torch.hub._validate_not_a_forked_repo = lambda a, b, c: True

backbone_model = torch.hub.load(repo_or_dir="facebookresearch/dinov2", model=backbone_name)

问题解决。

相关推荐
极智视界9 分钟前
分类场景数据集大全「包含数据标注+训练脚本」 (持续原地更新)
人工智能·yolo·数据集·分类算法·数据标注·classification·分类数据集
深科文库11 分钟前
构建 MCP 服务器:第 4 部分 — 创建工具
python·chatgpt·prompt·aigc·agi·ai-native
witton15 分钟前
美化显示LLDB调试的数据结构
数据结构·python·lldb·美化·debugger·mupdf·pretty printer
翻滚的小@强25 分钟前
自动驾驶科普(百度Apollo)学习笔记
人工智能·自动驾驶·百度apollo
从零开始学习人工智能26 分钟前
从游戏到自动驾驶:互联网时代强化学习如何让机器学会自主决策?
人工智能·游戏·自动驾驶
幼稚园的山代王41 分钟前
Prompt Enginering(提示工程)先进技术
java·人工智能·ai·chatgpt·langchain·prompt
dfsj6601141 分钟前
LLMs 系列科普文(14)
人工智能·深度学习·算法
摘取一颗天上星️1 小时前
深入解析机器学习的心脏:损失函数及其背后的奥秘
人工智能·深度学习·机器学习·损失函数·梯度下降
远方16091 小时前
20-Oracle 23 ai free Database Sharding-特性验证
数据库·人工智能·oracle
znhy60581 小时前
智能终端与边缘计算按章复习
人工智能·边缘计算