訓練集與測試集

CIFAR-10數據集被劃分為5個訓練batch和1個測試batch,每個batch包含10000張圖片。測試集的圖片是從每個類別中隨機挑選的1000張圖片組成的,而訓練集的圖片則是以隨機順序包含剩下的50000張圖片。需要注意的是,一些訓練集batch可能會出現包含某一類圖片比其他類的圖片數量多的情況。

數據集特點

CIFAR-10數據集的特點是圖像尺寸較小,但類別豐富,且每個類別的樣本數量均衡。這使得CIFAR-10成為一個理想的圖像識別基準數據集,尤其是在評估卷積神經網絡等深度學習模型時。

CIFAR-10數據集下載與解壓

官方提供了多個版本的CIFAR-10數據集,包括Python版本、Matlab版本和二進制版本。這里我們下載Python版本。下載完成后,解壓得到包含以下文件的文件夾:

CIFAR-10文件結構

文件結構說明

CIFAR-10數據集解析

每個batch文件包含一個Python字典結構,包含以下元素:

真正重要的兩個關鍵字是data和labels,剩下的兩個并不是十分重要。

獲取每個batch文件中的字典信息

import numpy as np
import pickle

def unpickle(file):
    with open(file, 'rb') as fo:
        dict = pickle.load(fo, encoding='bytes')
    return dict

提取每張圖片的RGB通道數據

import numpy as np

def GetPhoto(pixel):
    assert len(pixel) == 3072
    r = pixel[0:1024]; r = np.reshape(r, [32, 32, 1])
    g = pixel[1024:2048]; g = np.reshape(g, [32, 32, 1])
    b = pixel[2048:3072]; b = np.reshape(b, [32, 32, 1])

    photo = np.concatenate([r, g, b], -1)

    return photo

提取訓練集batch中的數據


import numpy as np

def GetTrainDataByLabel(label):
    batch_label = []
    labels = []
    data = []
    filenames = []
    for i in range(1, 1+5):
        batch_label.append(unpickle(

上一篇:

使用Python 3.8+在Dataiku DSS中的實踐與挑戰

下一篇:

從數據整理到表格應用:選擇正確的Table-GPT模型
#你可能也喜歡這些API文章!

我們有何不同?

API服務商零注冊

多API并行試用

數據驅動選型,提升決策效率

查看全部API→
??

熱門場景實測,選對API

#AI文本生成大模型API

對比大模型API的內容創意新穎性、情感共鳴力、商業轉化潛力

25個渠道
一鍵對比試用API 限時免費

#AI深度推理大模型API

對比大模型API的邏輯推理準確性、分析深度、可視化建議合理性

10個渠道
一鍵對比試用API 限時免費