ciaodvd数据集的简单介绍_人工智能进阶-CIFAR-10数据集介绍
CIFAR-10
該數據集共有60000張彩色圖像,這些圖像是32*32,分為10個類,每類6000張圖。這里面有50000張用于訓練,構成了5個訓練批,每一批10000張圖;另外10000用于測試,單獨構成一批。
測試批的數據里,取自10類中的每一類,每一類隨機取1000張。抽剩下的就隨機排列組成了訓練批。注意一個訓練批中的各類圖像并不一定數量相同,總的來看訓練批,每一類都有5000張圖。
下面這幅圖就是列舉了10各類,每一類展示了隨機的10張圖片:
需要說明的是,這10類都是各自獨立的,不會出現重疊。
數據的下載:
(共有三個版本:python,matlab,binary version 適用于C語言)
http://www.cs.toronto.edu/~kriz/cifar-10-python.tar.gz
http://www.cs.toronto.edu/~kriz/cifar-10-matlab.tar.gz
http://www.cs.toronto.edu/~kriz/cifar-10-binary.tar.gz
你可以在cuda-convert的項目頁面上找到此數據集上的一些基線可復制的結果。這個結果是由CNN卷積神經網絡得到的。簡要的說,在沒有數據擴充的情況下,測試誤差為18%,反之為11%。
數據集布局
Python/Matlab 版本
這兩個數據形式是一樣的,就以python為例。
該數據集文件包含data_batch1……data_batch5,和test_batch。他們都是由cPickle庫產生的序列化后的對象(關于pickle,移步https://docs.python.org/3/library/pickle.html)。這里給出python2和python3的例程,他可以打開這樣的pkl文件,返回一個字典結構的數據:
Python2:
1 def unpickle(file):2 import cPickle3 with open(file, 'rb') as fo:4 dict = cPickle.load(fo)5 return dictPython3:
1 def unpickle(file):2 import pickle3 with open(file, 'rb') as fo:4 dict = pickle.load(fo, encoding='bytes')5 return dict這樣的話,每個batch文件包含一個字典,每個字典包含有:
- Data
一個10000*3072的numpy數組(numpy:https://docs.scipy.org/doc/numpy-dev/user/quickstart.html),數據類型是無符號整形uint8。這個數組的每一行存儲了32*32大小的彩色圖像(32*32*3通道=3072)。前1024個數是red通道,然后分別是green,blue。另外,圖像是以行的順序存儲的,也就是說前32個數就是這幅圖的像素矩陣的第一行。
- labels
一個范圍在0-9的含有10000個數的列表(一維的數組)。第i個數就是第i個圖像的類標。
數據集除了6個batch之外,還有一個文件batches.meta。它包含一個python字典對象,內容有:
一個包含10個元素的列表,每一個描述了labels array中每個數字對應類標的名字。比如:label_names[0] == "airplane
總結
以上是生活随笔為你收集整理的ciaodvd数据集的简单介绍_人工智能进阶-CIFAR-10数据集介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java8.0 platform图_Ja
- 下一篇: matlab 水文频率曲线,【求助】如何