python-3.x - PyTorch 时尚-MNIST (ETL)

标签 python-3.x deep-learning mnist torchvision

我是深度学习和 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/

相关文章:

python - Python3 中的语法错误

python-3.x - 无法让 SSL 用于安全 Websocket 连接

deep-learning - 注意力机制到底是真正的注意力还是只是再次回顾内存?

python - Keras——保存mnist数据集的image embedding

django.core.exceptions.ImproperlyConfigured : CreateView is missing a QuerySet

python - 将 self.__class__ 设置为其他东西有多危险?

c++ - Caffe C++保存网络caffemodel文件

tensorflow - 在 Tensorflow 中实现对比损失和三元组损失

pytorch - 属性错误: 'builtin_function_or_method' object has no attribute 'requires_grad'