python - urllib.error.HTTPError:HTTP 错误 403:从 pytorch hub 加载 resnet18 时超出速率限制
问题描述
我不确定为什么会收到速率限制错误。
(fashcomp) [jalal@goku fashion-compatibility]$ python main.py --test --l2_embed --resume runs/nondisjoint_l2norm/model_best.pth.tar --datadir ../../../data/fashion
/scratch3/venv/fashcomp/lib/python3.8/site-packages/torchvision/transforms/transforms.py:310: UserWarning: The use of the transforms.Scale transform is deprecated, please use transforms.Resize instead.
warnings.warn("The use of the transforms.Scale transform is deprecated, " +
Traceback (most recent call last):
File "main.py", line 313, in <module>
main()
File "main.py", line 105, in main
model = torch.hub.load('pytorch/vision:v1.9.0', 'resnet18', pretrained=True)
File "/scratch3/venv/fashcomp/lib/python3.8/site-packages/torch/hub.py", line 362, in load
repo_or_dir = _get_cache_or_reload(repo_or_dir, force_reload, verbose)
File "/scratch3/venv/fashcomp/lib/python3.8/site-packages/torch/hub.py", line 162, in _get_cache_or_reload
_validate_not_a_forked_repo(repo_owner, repo_name, branch)
File "/scratch3/venv/fashcomp/lib/python3.8/site-packages/torch/hub.py", line 124, in _validate_not_a_forked_repo
with urlopen(url) as r:
File "/usr/local/lib/python3.8/urllib/request.py", line 222, in urlopen
return opener.open(url, data, timeout)
File "/usr/local/lib/python3.8/urllib/request.py", line 531, in open
response = meth(req, response)
File "/usr/local/lib/python3.8/urllib/request.py", line 640, in http_response
response = self.parent.error(
File "/usr/local/lib/python3.8/urllib/request.py", line 569, in error
return self._call_chain(*args)
File "/usr/local/lib/python3.8/urllib/request.py", line 502, in _call_chain
result = func(*args)
File "/usr/local/lib/python3.8/urllib/request.py", line 649, in http_error_default
raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 403: rate limit exceeded
我有:
$ pip freeze
h5py==3.3.0
joblib==1.0.1
numpy==1.21.2
Pillow==8.3.1
scikit-learn==0.24.2
scipy==1.7.1
sklearn==0.0
threadpoolctl==2.2.0
torch==1.9.0
torchaudio==0.9.0
torchvision==0.10.0
typing-extensions==3.10.0.0
解决方案
这是 Pytorch 1.9 中的一个错误。作为一种解决方法,请尝试添加:
torch.hub._validate_not_a_forked_repo=lambda a,b,c: True
torch.hub
在任何呼叫之前到您的脚本。IE:
torch.hub._validate_not_a_forked_repo=lambda a,b,c: True
model = torch.hub.load('pytorch/vision:v0.9.0', 'resnet18', pretrained=True)
根据 Philip Meier(开发人员之一)的帖子,这是 Pytorch 1.9 ( #56138 ) 中引入的一个错误,您不应该在旧版本中遇到这个问题。
这已经在 master 中修复了,但目前尚不清楚是否有 1.9.1 附带此功能。因此,在 1.10 发布之前,您要么必须使用旧版本,要么torchvision
改用或简单地使用上面提出的解决方法。
更新:
Pytorch 发布了 1.9(即 1.9.1)的错误修复,因此更新到 1.9.1 应该可以永久纠正这个问题。
推荐阅读
- amazon-web-services - 使用有状态集存储 Cassandra 数据
- typescript - 将类型映射到字符串属性
- ffmpeg - FFMPEG 实时流发送消息并在发送某些帧后退出
- linux - 如何使用 fortran (MKL) 将静态库中的函数打包到 .so 文件中
- python - Python 库不会延续到 Atom
- c - 为什么调用 snprintf() 这么慢?
- javascript - Bot 多次发送消息内容 | 不和谐.js
- django-views - Django post() 定义中的 .get() 和 get_object_or_404() 有什么区别?
- html - CSS元素>样式属性中的元素选择器
- r-markdown - 安装 rmarkdown 包给了我非零退出状态