我在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!所以,它们之间一定有一些共同之处。
发布于 2021-09-27 15:30:35
显然,fairseq人员在7天前就决定将其GitHub存储库的默认分支从master更改为main。(检查此commit)。
因此,将main分支添加到存储库信息可以解决这个问题:
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!https://stackoverflow.com/questions/69349308
复制相似问题