hrsc2016 下载 数据集_使用torchvision下载MINIST及配置踩坑笔记

1、MINIST简介

MNIST 数据集是在神经网络学习中一个被嚼烂的数据集

MNIST 数据集可在

知乎 - 安全中心​yann.lecun.com

获取, 它包含了四个部分:

  • Training set images: train-images-idx3-ubyte.gz (9.9 MB, 解压后 47 MB, 包含 60,000 个样本)
  • Training set labels: train-labels-idx1-ubyte.gz (29 KB, 解压后 60 KB, 包含 60,000 个标签)
  • Test set images: t10k-images-idx3-ubyte.gz (1.6 MB, 解压后 7.8 MB, 包含 10,000 个样本)
  • Test set labels: t10k-labels-idx1-ubyte.gz (5KB, 解压后 10 KB, 包含 10,000 个标签)

MNIST 数据集来自美国国家标准与技术研究所, National Institute of Standards and Technology (NIST). 训练集 (training set) 由来自 250 个不同人手写的数字构成, 其中 50% 是高中学生, 50% 来自人口普查局 (the Census Bureau) 的工作人员. 测试集(test set) 也是同样比例的手写数字数据.

2、使用torchvision导入数据集

对于 DOWNLOAD_MINIST 这个变量,是函数的torchvision.datasets.MINIST()函数里面的一个参数,如果为True表示从网上下载该数据集并放进指定目录,如果自己已经下载了该数据集,则修改为False,不需要去重新下载。

train_data = torchvision.datasets.MNIST(
    root = './MINIST',  #数据集的位置
    train = True,       #如果为True则为训练集,如果为False则为测试集
    transform = torchvision.transforms.ToTensor(),   #将图片转化成取值[0,1]的Tensor用于网络处理
    download=DOWNLOAD_MINIST
)

3、错误及解决方法

通过调用torchvision.datasets.MNIST去加载数据集的时候,不管之前已经下载好数据集,设置download = False,会出现数据集加载失败,报错内容如下

Traceback (most recent call last):
  File "D:/Pycharm/deep Learning20200129/practice/cnn_train.py", line 18, in 
    download=DOWNLOAD_MINIST
  File "D:Setuppythonlibsite-packagestorchvisiondatasetsmnist.py", line 54, in __init__
    raise RuntimeError('Dataset not found.' +
RuntimeError: Dataset not found. You can use download=True to download it

Process finished with exit code 1

hrsc2016 下载 数据集_使用torchvision下载MINIST及配置踩坑笔记_第1张图片

设置download = True,在下载的过程中会卡住,任然无法下载数据集,无法进行后续的工作。

解决方法如下,在Pycharm中,在MINIST函数的位置ctrl+B跳转到函数中,

屏蔽之前的数据集下载地址url,改成自己已经下载好的地址,将网上下载改成本地文件下载

class MNIST(data.Dataset):
    """`MNIST `_ Dataset.

    Args:
        root (string): Root directory of dataset where ``processed/training.pt``
            and  ``processed/test.pt`` exist.
        train (bool, optional): If True, creates dataset from ``training.pt``,
            otherwise from ``test.pt``.
        download (bool, optional): If true, downloads the dataset from the internet and
            puts it in root directory. If dataset is already downloaded, it is not
            downloaded again.
        transform (callable, optional): A function/transform that  takes in an PIL image
            and returns a transformed version. E.g, ``transforms.RandomCrop``
        target_transform (callable, optional): A function/transform that takes in the
            target and transforms it.
    """
    # urls = [
    #     'http://yann.lecun.com/exdb/mnist/train-images-idx3-ubyte.gz',
    #     'http://yann.lecun.com/exdb/mnist/train-labels-idx1-ubyte.gz',
    #     'http://yann.lecun.com/exdb/mnist/t10k-images-idx3-ubyte.gz',
    #     'http://yann.lecun.com/exdb/mnist/t10k-labels-idx1-ubyte.gz',
    # ]
    urls = [
        'file:///D:/MINIST/train-images-idx3-ubyte.gz',
        'file:///D:/MINIST/train-labels-idx1-ubyte.gz',
        'file:///D:/MINIST/t10k-images-idx3-ubyte.gz',
        'file:///D:/MINIST/t10k-labels-idx1-ubyte.gz',
    ]

hrsc2016 下载 数据集_使用torchvision下载MINIST及配置踩坑笔记_第2张图片

hrsc2016 下载 数据集_使用torchvision下载MINIST及配置踩坑笔记_第3张图片

以上是我的数据集的位置,具体的参照你们自己的问题进行修改,修改后将该函数就可以正常运行

hrsc2016 下载 数据集_使用torchvision下载MINIST及配置踩坑笔记_第4张图片
从本地下载过程

运行后建立的数据集文件结构如图所示

hrsc2016 下载 数据集_使用torchvision下载MINIST及配置踩坑笔记_第5张图片
函数构建的数据集目录,proccessed和raw是自己生成的

解决方法参照于

CSDN-专业IT技术社区-登录​blog.csdn.net

你可能感兴趣的:(hrsc2016,下载,数据集)