torch.hub.load() raises HTTPError: HTTP Error 404: Not Found when loading model
torch.hub.load() raises HTTPError: HTTP Error 404: Not Found when loading model
我在 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!
所以,他们之间一定有共同点。
显然,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!
我在 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!
所以,他们之间一定有共同点。
显然,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!