我是深度学习和 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):“后续调用”
是什么意思?这是否意味着我们需要再次调用 '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 中抛出该错误。
提前非常感谢。
最佳答案
没有真正的问题是愚蠢的问题,逐一回答问题:
答案 1 和 2:
root
是本地磁盘上保存数据的路径,您可以根据自己的喜好指定任何路径,不会造成问题。
答3: url 等在文件中定义,您所需要做的就是数据的路径:为了查看下载数据的 url here is a link .
Ans 4. : download = True
只是授予下载权限,如果数据不存在,下载器会自动检查数据是否已经存在,如果存在则仍然不会下载,即使下载设置为 true,它也会在后台发生,您不必担心。
Ans5:这个问题不是 torch 问题,确切地说,它更多地与它在 Windows 中的编译方式有关,该问题已详细讨论 here & here
关于python-3.x - PyTorch 时尚-MNIST (ETL),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55093836/