我是深度学习和PyTorch的新手,所以如果有些问题看起来很愚蠢,或者我没有以正确的格式提问,请您多多包涵。 我正在观看有关PyTorch深度学习系列文章https://www.youtube.com/watch?v=8n-TGaBZnk4的视频。该视频专门讲述ETL(使用Fashion-MNIST数据集)。 我对7:05的视频有一些疑问。
问题1:在Fashion-MNIST子类构造函数中,我们为其传递了参数:
‘root’
,讲师提到的位置:这是磁盘中数据所在的位置。抱歉,这可能是一个愚蠢的问题,但这是数据位于源服务器上(来自URL)磁盘的位置,还是您要在本地将数据保存在计算机上的路径位置?
问题2:同样,对于Fashion-MNIST,'root'
始终是相同的位置路径:即'./data/FashionMNIST'
?
问题3:如果'root'
定义了数据在源服务器上的位置路径,那么它将在本地下载到哪里?我检查了'download'
文件夹(我使用的是Windows 7笔记本电脑),在那找不到文件?
问题4:视频提到我们应该检查后续调用中的数据是否已经下载(即,在参数中我们传递了download=true
)。
4(a):有什么好的方法?我们是否放置if
语句来检查这一点?还是有一种更智能的方式来检查下载的数据?
4(b):"subsequent calls"
的含义是什么?这是否意味着我们需要再次调用'FashionMNIST'
构造函数进行test_data下载?
问题5:最后,我尝试在Spyder IDE(Python 3.5)上运行以下代码(视频中的代码):
import torch
import torchvision
import torchvision.transforms as transforms
train_set = torchvision.datasets.FashionMNIST(
root='./data/FashionMNIST'
,train=True
,download=True
,transform=transforms.Compose([
transforms.ToTensor()
])
)
我得到了输出:
Traceback (most recent call last):
File "<ipython-input-3-3ac000b9e90a>", line 10, in <module>
transforms.ToTensor()
File "C:\Program Files\Anaconda3\lib\site-packages\torchvision\datasets\mnist.py", line 68, in __init__
self.download()
File "C:\Program Files\Anaconda3\lib\site-packages\torchvision\datasets\mnist.py", line 136, in download
makedir_exist_ok(self.raw_folder)
File "C:\Program Files\Anaconda3\lib\site-packages\torchvision\datasets\utils.py", line 41, in makedir_exist_ok
os.makedirs(dirpath)
File "C:\Program Files\Anaconda3\lib\os.py", line 241, in makedirs
mkdir(name, mode)
FileNotFoundError: [WinError 206] The filename or extension is too long: './data/FashionMNIST\\FashionMNIST\\raw'
不确定为什么最后会出现该错误。另外,根据视频,我在Jupyter Notebook上运行了代码,并且运行良好。但是我想知道为什么它会在Spyder IDE中引发该错误。
非常感谢。
答案 0 :(得分:1)
没有一个真正的问题是一个愚蠢的问题,一个又一个地回答问题:
答案1和2:
root
是本地磁盘上将保存数据的路径,您可以根据自己的喜好指定ny路径,这样不会引起问题。
答案3: 网址等是在文件中定义的,数据的路径就是您所要做的:为了查看从here is a link下载数据的网址。
答案4.:download = True
仅授予其如果数据不存在的下载权限,下载器将自动检查数据是否已存在,如果存在,即使设置了下载,它仍然不会下载确实,它再次发生在您不必担心的背景中。