pytorch如何导入本地数据集(CIFAR10为例)——详细教程

pytorch导入本地数据集

  • 最近刚接触机器学习,发现运行别人的代码数据集每次都需要自动从外网下载,速度实在是太慢了!自己摸爬滚打了一天,最终自己下载了本地CIFAR10数据集,并且成功导入。

  • 数据集链接如下:如果失效私聊我即可

  • 链接:https://pan.baidu.com/s/1Tg1hOY8XqUL2Na5jwyP4WQ
    提取码:wgvx

  • 这里有一个特别要注意的点,就是下载的数据集一定要是正规的!就是不要别人那种已经解压好的,因为我们下载之后只需要修改名称即可。不能自己下载之后再压缩,他自己的压缩格式和我们的不一样!程序下载之后进行压缩会报错。

过程讲解

第一阶段

  • 首先就是将我们的数据集下载,然后随便放到一个文件夹中,但是注意这个文件夹的路径最好没有中文
    pytorch如何导入本地数据集(CIFAR10为例)——详细教程_第1张图片
  • 这里我选择的路径是 I:\datasets
  • 之后我们需要在浏览器中打开这个路径
  • pytorch如何导入本地数据集(CIFAR10为例)——详细教程_第2张图片
  • 到此我们就先将此浏览器保持在这里,注意不要关闭

第二阶段

  • 我们需要找到我们安装pytorch包的目录中的torchvision包中,找到其中datasets中的cifar.py文件
  • 我这里由于使用的是anaconda 所以路径如下:
    pytorch如何导入本地数据集(CIFAR10为例)——详细教程_第3张图片
  • 如果你没有使用anaconda,那么就找到安装python的路径,直接搜索cifar.py文件就可以轻松找到了
  • 之后我们修改cifar.py文件
  • 将我们刚刚打开浏览器的路径复制,并且后面加上我们下载的CIFAR10数据集的文件名,直接修改这个url的参数即可!
    pytorch如何导入本地数据集(CIFAR10为例)——详细教程_第4张图片
    可能会出现的问题:
  • 我这里是将原来的注释掉了,我另起了一行 但是在运行的时候会报错,这个报错
    TabError: inconsistent use of tabs and spaces in indentation
  • 这是由于我们在修改的时候空格的地方其实没有空格导致的,可能是用了tab直接对齐!所以要将前面那些空格的地方全部删掉,然后自己打空格就好了!
  • 在网上还看到有人说直接用pycharm的代码重新格式,但是这样会导致代码原有格式变化,所以不要使用!

第三阶段

  • 此时我们就可以直接运行代码了 此时运行代码的时候会从我们刚刚指定的路径下进行下载压缩包,然后自动解压!
import torchvision
LOAD_CIFAR = True
DOWNLOAD_CIFAR = True

train_data = torchvision.datasets.CIFAR10(
    root='./data/',
    train=True,
    transform=torchvision.transforms.ToTensor(),
    download=DOWNLOAD_CIFAR,
)

结果如下:
pytorch如何导入本地数据集(CIFAR10为例)——详细教程_第5张图片

你可能感兴趣的:(机器学习)