【问题标题】:torch.hub.load() raises HTTPError: HTTP Error 404: Not Found when loading modeltorch.hub.load() 引发 HTTPError:HTTP 错误 404:加载模型时未找到
【发布时间】:2021-09-27 23:45:56
【问题描述】:

我在fairseq GitHub 存储库中找到了这段简单的代码,它基本上从torch.hub 加载了bart.base PyTorch 模型:

bart = torch.hub.load('pytorch/fairseq', 'bart.base')

这段代码大约在两周前运行良好,现在它引发了以下错误,尽管我没有进行任何更改:

HTTPError                                 Traceback (most recent call last)
<ipython-input-7-68181b5f094c> in <module>()
      1 # torch.cuda.empty_cache()
----> 2 bart = torch.hub.load('pytorch/fairseq', 'bart.base') #takes around two minutes
      3 # bart.cuda()  # use GPU
...
...
/usr/lib/python3.7/urllib/request.py in http_error_default(self, req, fp, code, msg, hdrs)
    647 class HTTPDefaultErrorHandler(BaseHandler):
    648     def http_error_default(self, req, fp, code, msg, hdrs):
--> 649         raise HTTPError(req.full_url, code, msg, hdrs, fp)
    650 
    651 class HTTPRedirectHandler(BaseHandler):

HTTPError: HTTP Error 404: Not Found

另外,我发现fairseq 上的其他模型也会发生这种情况。以下所有模型都会引发相同的错误:

>>> torch.hub.load('pytorch/fairseq', 'transformer.wmt16.en-de')
# ERROR!

>>> torch.hub.load('pytorch/fairseq', 'camembert')
# ERROR!

所以,它们之间一定有共同点。

【问题讨论】:

    标签: python python-3.x pytorch fairseq torchhub


    【解决方案1】:

    显然,fairseq 的人决定将他们的 GitHub 存储库的默认分支从 master 更改为 main 正好 7 天前。 (查看commit)。

    因此,将 main 分支添加到 repo 信息将解决问题:

    bart = torch.hub.load('pytorch/fairseq:main', 'bart.base') #<--- added :main
    

    这是因为在torch.hub.load() 函数中,默认分支名称是master。所以实际上,你打电话给pytorch/fairseq:master,现在已经不存在了。

    所有其他模型现在都在工作:

    torch.hub.load('pytorch/fairseq:main', 'transformer.wmt16.en-de')
    # WORKS!
    
    >>> torch.hub.load('pytorch/fairseq:main', 'camembert')
    # WORKS!
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-21
      • 1970-01-01
      • 1970-01-01
      • 2015-01-26
      • 1970-01-01
      • 2021-11-19
      • 2021-07-21
      • 1970-01-01
      相关资源
      最近更新 更多