如何解决torchvision MNIST 数据集下载问题
我正在尝试从 torchvision 包中获取 MNIST 数据集:
import torch
import torchvision
from torchvision import datasets,transforms
train = datasets.MNIST('',train=True,download=True,transform=transforms.Compose([
transforms.ToTensor()
]))
运行此代码时,出现以下错误:
Downloading http://yann.lecun.com/exdb/mnist/train-images-idx3-ubyte.gz to MNIST\raw\train-images-idx3-ubyte.gz
---------------------------------------------------------------------------
HTTPError Traceback (most recent call last)
<ipython-input-3-f99c3ec55e27> in <module>
----> 1 train = datasets.MNIST('',2 transform=transforms.Compose([
3 transforms.ToTensor()
4 ]))
C:\ProgramData\Anaconda3\lib\site-packages\torchvision\datasets\mnist.py in __init__(self,root,train,transform,target_transform,download)
77
78 if download:
---> 79 self.download()
80
81 if not self._check_exists():
C:\ProgramData\Anaconda3\lib\site-packages\torchvision\datasets\mnist.py in download(self)
144 for url,md5 in self.resources:
145 filename = url.rpartition('/')[2]
--> 146 download_and_extract_archive(url,download_root=self.raw_folder,filename=filename,md5=md5)
147
148 # process and save as torch files
C:\ProgramData\Anaconda3\lib\site-packages\torchvision\datasets\utils.py in download_and_extract_archive(url,download_root,extract_root,filename,md5,remove_finished)
312 filename = os.path.basename(url)
313
--> 314 download_url(url,md5)
315
316 archive = os.path.join(download_root,filename)
C:\ProgramData\Anaconda3\lib\site-packages\torchvision\datasets\utils.py in download_url(url,max_redirect_hops)
138 _urlretrieve(url,fpath)
139 else:
--> 140 raise e
141 # check integrity of downloaded file
142 if not check_integrity(fpath,md5):
C:\ProgramData\Anaconda3\lib\site-packages\torchvision\datasets\utils.py in download_url(url,max_redirect_hops)
130 try:
131 print('Downloading ' + url + ' to ' + fpath)
--> 132 _urlretrieve(url,fpath)
133 except (urllib.error.URLError,IOError) as e: # type: ignore[attr-defined]
134 if url[:5] == 'https':
C:\ProgramData\Anaconda3\lib\site-packages\torchvision\datasets\utils.py in _urlretrieve(url,chunk_size)
27 def _urlretrieve(url: str,filename: str,chunk_size: int = 1024) -> None:
28 with open(filename,"wb") as fh:
---> 29 with urllib.request.urlopen(urllib.request.Request(url,headers={"User-Agent": USER_AGENT})) as response:
30 with tqdm(total=response.length) as pbar:
31 for chunk in iter(lambda: response.read(chunk_size),""):
C:\ProgramData\Anaconda3\lib\urllib\request.py in urlopen(url,data,timeout,cafile,capath,cadefault,context)
220 else:
221 opener = _opener
--> 222 return opener.open(url,timeout)
223
224 def install_opener(opener):
C:\ProgramData\Anaconda3\lib\urllib\request.py in open(self,fullurl,timeout)
529 for processor in self.process_response.get(protocol,[]):
530 meth = getattr(processor,meth_name)
--> 531 response = meth(req,response)
532
533 return response
C:\ProgramData\Anaconda3\lib\urllib\request.py in http_response(self,request,response)
638 # request was successfully received,understood,and accepted.
639 if not (200 <= code < 300):
--> 640 response = self.parent.error(
641 'http',response,code,msg,hdrs)
642
C:\ProgramData\Anaconda3\lib\urllib\request.py in error(self,proto,*args)
567 if http_err:
568 args = (dict,'default','http_error_default') + orig_args
--> 569 return self._call_chain(*args)
570
571 # XXX probably also want an abstract factory that knows when it makes
C:\ProgramData\Anaconda3\lib\urllib\request.py in _call_chain(self,chain,kind,meth_name,*args)
500 for handler in handlers:
501 func = getattr(handler,meth_name)
--> 502 result = func(*args)
503 if result is not None:
504 return result
C:\ProgramData\Anaconda3\lib\urllib\request.py in http_error_default(self,req,fp,hdrs)
647 class HTTPDefaultErrorHandler(BaseHandler):
648 def http_error_default(self,hdrs):
--> 649 raise HTTPError(req.full_url,hdrs,fp)
650
651 class HTTPRedirectHandler(BaseHandler):
HTTPError: HTTP Error 503: Service Unavailable
我想知道为什么会发生这个错误以及我需要做什么来解决这个问题。 真的很感谢所有的帮助。 问候, 阿潘
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。