【发布时间】:2019-08-01 07:02:51
【问题描述】:
我是深度学习和 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 中引发该错误。
非常感谢。
【问题讨论】:
标签: python-3.x deep-learning mnist torchvision