天天看点

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)

           

报错

如下,

pyTorch: torchvision.datasets加载CIFAR10报错

于是,我们手动到官网下载CIFA10数据集,

官方数据集地址:https://www.cs.toronto.edu/~kriz/cifar-10-python.tar.gz

pyTorch: torchvision.datasets加载CIFAR10报错

下载好数据集后,解压压缩文件,将

cifar-10-batches-py

拷贝到你的项目中的data文件夹内,

  1. 不能修改

    cifar-10-batches-py

    文件名。
  2. 注意当前.py文件与data包的相对位置(程序中采用相对路径进行读取)。
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为不进行预处理;

继续阅读