pyTorch: torchvision.datasets加载CIFAR10报错

Question:

\quad torchvision.datasets.CIFAR10下载失败,程序断如下,

trainset = torchvision.datasets.CIFAR10(root='./data', train=True,
                                        download=True, transform=transform)
testset = torchvision.datasets.CIFAR10(root='./data', train=False,
                                       download=True, transform=transform)

trainloader = torch.utils.data.DataLoader(trainset, batch_size=4,
                                          shuffle=True, num_workers=2)
testloader = torch.utils.data.DataLoader(testset, batch_size=4,
                                         shuffle=False, num_workers=2)

报错如下,
在这里插入图片描述

于是,我们手动到官网下载CIFA10数据集,
官方数据集地址:https://www.cs.toronto.edu/~kriz/cifar-10-python.tar.gz
在这里插入图片描述

下载好数据集后,解压压缩文件,将cifar-10-batches-py拷贝到你的项目中的data文件夹内,

  1. 不能修改cifar-10-batches-py文件名。
  2. 注意当前.py文件与data包的相对位置(程序中采用相对路径进行读取)。

在这里插入图片描述
同时修改程序段,将download改为False,即可!

trainset = torchvision.datasets.CIFAR10(root='./data', train=True,
                                        download=False, transform=transform)
                                        
testset = torchvision.datasets.CIFAR10(root='./data', train=False,
                                       download=False, transform=transform)
                                       
trainloader = torch.utils.data.DataLoader(trainset, batch_size=4,
                                          shuffle=True, num_workers=2)
                                          
testloader = torch.utils.data.DataLoader(testset, batch_size=4,
                                         shuffle=False, num_workers=2)

说明下,

  1. root,表示CIFAR10数据的加载目录;
  2. train,表示是否加载数据库的训练集,False的时候加载测试集;
  3. download,表示是否自动下载cifar数据集;
  4. transform,表示是否需要对数据进行预处理,none为不进行预处理;
发布了54 篇原创文章 · 获赞 4 · 访问量 3572

猜你喜欢

转载自blog.csdn.net/qq_40994260/article/details/103511536
今日推荐