You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调用torch.hub.load加载resnet18时出现HTTP 403速率超限错误如何解决?

错误原因

这个403速率限制错误由GitHub的公开API限流机制触发:

  • PyTorch Hub加载远程仓库模型时,会默认向GitHub发起API请求校验仓库合法性
  • 未进行身份认证的GitHub API请求每小时最多允许发起60次,如果你使用的服务器出口IP是多用户共享,或是短时间内多次调用torch.hub.load接口,很容易触发该限流阈值
  • 你使用的1.9.0版本PyTorch存在逻辑缺陷:每次调用torch.hub.load都会重复发起API校验,不会复用本地已有的缓存校验结果,进一步提升了限流触发概率
解决方案

你可以根据自己的场景选择任意一种方案解决:

  • 最优方案:直接使用torchvision内置的模型加载逻辑,完全跳过PyTorch Hub调用。resnet18本身是torchvision官方内置的模型,不需要通过Hub加载,将你代码中的模型加载部分替换为如下内容即可:
from torchvision.models import resnet18
model = resnet18(pretrained=True)

该方案完全不会触发GitHub API请求,从根源规避限流问题,同时也符合官方推荐的使用规范。

  • 配置GitHub个人访问Token提升限流阈值:生成一个无额外权限的GitHub个人访问Token(PAT),在运行代码前执行如下命令配置环境变量即可:
export GITHUB_TOKEN=<你生成的GitHub PAT值>

完成配置后GitHub API限流阈值会提升至每小时5000次,常规使用场景下不会再触发限流。

  • 本地加载预下载的仓库代码:提前手动下载pytorch/vision仓库对应v1.9.0版本的代码到本地,调用时指定本地路径加载即可:
model = torch.hub.load('/本地保存的vision-v1.9.0文件路径', 'resnet18', pretrained=True, source='local')
  • 临时规避:如果只是偶尔遇到该问题,等待1小时后GitHub限流会自动重置,重新运行代码即可。

另外你日志中的transforms.Scale告警属于版本兼容提示,不会影响代码运行,将代码中所有transforms.Scale替换为transforms.Resize即可消除告警。

内容的提问来源于stack exchange,提问作者Mona Jalal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 00:48:02