天天看點

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為不進行預處理;

繼續閱讀