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

