我是Deep Learning和PyTorch的新手,所以如果有些问题看起来很愚蠢或者我没有问正确的格式,请跟我说。我正在观看这部视频,作为PyTorch深度学习系列的一部分:https://www.youtube.com/watch?v=8n-TGaBZnk4。该视频专门针对ETL(使用Fashion-MNIST数据集)。我在7:05对视频提出了一些问题。
问题1:在Fashion-MNIST子类构造函数中,我们向它传递了参数:‘root’
,其中讲师提到:这是磁盘中数据所在的位置。对不起,这可能是一个愚蠢的问题,但这是数据位于源服务器(来自URL)磁盘上的位置,还是要在本地保存计算机数据的路径位置?
问题2:同样对于时尚-MNIST是'root'
总是相同的位置路径:即'./data/FashionMNIST'
?
问题3:如果'root'
定义了数据在源服务器上的位置路径,那么它将在本地下载到哪里?我检查了我的'download'
文件夹(我使用的是Windows 7笔记本电脑),但在那里找不到文件?
问题4:视频提到我们应该检查后续调用中的数据是否已经下载(即在我们通过download=true
的论证中)。
4(a):这样做的好方法是什么?我们是否制定了if
声明来检查这个问题?或者是否有更智能的方法来检查下载的数据?
4(b):"subsequent calls"
也是什么意思?当我们需要再次为test_data下载调用'FashionMNIST'
构造函数时,这是否意味着什么?
问题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
是本地磁盘上保存数据的路径,您可以根据自己的喜好给出ny路径,这不会导致问题。
回答3:网址等在文件中定义,数据的路径就是你需要做的全部:为了查看数据下载地址的网址here is a link。
答案4:download = True
只允许下载,如果数据不存在,下载程序将自动检查数据是否已经存在,如果存在则仍然无法下载,即使下载设置为真,也会发生在后台你不必担心它。