CIFAR10數據集實戰-數據讀取部分(上)

  • 2019 年 12 月 19 日
  • 筆記

本節課主要介紹CIFAR10數據集

登錄http://www.cs.toronto.edu/~kriz/cifar.html網站,可以自行下載數據集。

打開頁面後

前講的MNIST數據集為0~9的數字識別,而這裡的為10類物品識別。由上可見物品包含有飛機、汽車、鳥、貓等。照片大小為32*32的彩色圖片。每一個類別大概有6000張照片,其中隨機篩選出5000作為學習,餘下的1000用於測試。

首先在pycharm軟體中新建文件夾,並創建main.py文件。

首先引入一部分相關的工具包

import torch  from torchvision import datasets  # 引入pytorch、datasets工具包

定義main函數

def main():        if __name__ == '__main__':      main()

下面開始在裡面寫入程式碼

首先開始載入數據集

def main():        cifar_train = datasets.CIFAR10('cifar', train=True, transform=transforms.Compose([          transforms.Resize((32, 32)),

繼續

在前面引入工具包處加入程式碼

from torchvision import transforms  # 引入數據變換工具包

繼續定義數據集程式碼

def main():        cifar_train = datasets.CIFAR10('cifar', train=True, transform=transforms.Compose([          transforms.Resize((32, 32)),          # .Compose相當於一個數據轉換的集合          # 進行數據轉換,首先將圖片統一為32*32          transforms.ToTensor()          # 將數據轉化到Tensor中        ]))      # 直接在datasets中導入CIFAR10數據集,放在"cifar"文件夾中

這裡暫時不寫Normalize函數

寫到這裡別忘了讓pytorch自己下載數據集

在程式碼後面加入download=True即可實現

]), download=True)

Cifar_train 的程式碼部分已經寫好

寫到這裡要注意這裡只是建立了一次載入一張的程式碼

若想一次性載入一批,則要利用其多執行緒的特性

繼續在引入工具包部分加入相關工具包

from torch.utils.data import DataLoader  # 多執行緒數據讀取

繼續書寫數據讀取部分程式碼

按照其提示,寫入相關參數

cifar_train = DataLoader(cifar_train, batch_size=batchsz, ) # 按照其要求,這裡的參數需要有batch_size, # 在該部分程式碼前面定義batch_size

Tags: