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

pytorch导入本地数据集

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

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

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

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

过程讲解

第一阶段

  • 首先就是将我们的数据集下载,然后随便放到一个文件夹中,但是注意这个文件夹的路径最好没有中文
    在这里插入图片描述
  • 这里我选择的路径是 I:\datasets
  • 之后我们需要在浏览器中打开这个路径
  • 在这里插入图片描述
  • 到此我们就先将此浏览器保持在这里,注意不要关闭

第二阶段

  • 我们需要找到我们安装pytorch包的目录中的torchvision包中,找到其中datasets中的cifar.py文件
  • 我这里由于使用的是anaconda 所以路径如下:
    在这里插入图片描述
  • 如果你没有使用anaconda,那么就找到安装python的路径,直接搜索cifar.py文件就可以轻松找到了
  • 之后我们修改cifar.py文件
  • 将我们刚刚打开浏览器的路径复制,并且后面加上我们下载的CIFAR10数据集的文件名,直接修改这个url的参数即可!
    在这里插入图片描述
    可能会出现的问题:
  • 我这里是将原来的注释掉了,我另起了一行 但是在运行的时候会报错,这个报错
    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,
)

结果如下:
在这里插入图片描述

  • 45
    点赞
  • 234
    收藏
    觉得还不错? 一键收藏
  • 22
    评论
这是一个使用PyTorch从本地导入CIFAR数据集的代码示例: ```python import torch from torchvision import datasets, transforms # 定义数据预处理的转换 transform = transforms.Compose([ transforms.ToTensor(), transforms.Normalize(mean=[0.5, 0.5, 0.5], std=[0.5, 0.5, 0.5]) ]) # 加载训练集和测试集 train_dataset = datasets.CIFAR10(root='./data', train=True, download=True, transform=transform) test_dataset = datasets.CIFAR10(root='./data', train=False, download=True, transform=transform) # 创建数据加载器 train_loader = torch.utils.data.DataLoader(train_dataset, batch_size=64, shuffle=True) test_loader = torch.utils.data.DataLoader(test_dataset, batch_size=64, shuffle=False) # 可以使用train_loader和test_loader来迭代获取数据 for images, labels in train_loader: # 在这里进行训练数据的处理 pass for images, labels in test_loader: # 在这里进行测试数据的处理 pass ``` 上述代码中,首先定义了数据预处理的转换,将图像转换为张量并进行归一化。然后使用`datasets.CIFAR10`类加载CIFAR-10数据集,指定数据集的根目录、训练集/测试集、是否下载以及数据预处理转换。接着使用`torch.utils.data.DataLoader`创建数据加载器,指定数据集和批次大小。最后,可以使用数据加载器来迭代获取训练集和测试集的数据。 请确保已经安装了PyTorch和torchvision库,并将数据集下载到指定的路径(在上述代码中为'./data')。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值