Caffe訓練cifar10數據集

一:目的

用配置好的Windows版本Caffe(no GPU),訓練cifar10數據;

二:cifar10簡介

Cifar-10由60000張32*32的RGB彩色圖片構成,共10個分類。50000張訓練,10000張測試(交叉驗證)。這個數據集最大的特點在於將識別遷移到了普適物體,而且應用於多分類(姊妹數據集Cifar-100達到100類,ILSVRC比賽則是1000類)。


三:訓練過程

1. cifar-10數據集下載;

下載完成後的數據集並解壓後放在caffe-windows\examples\cifar10\input下,如圖所示


2. 對原始數據進行轉換;

(1) 新建caffe-windows\mybat\cifar10文件夾,並在其中新建cifar10_convention.bat,對數據格式進行轉換,批處理文件內容如下

..\..\Build\x64\Release\convert_cifar_data ..\..\examples\cifar10\input ..\..\examples\cifar10\output leveldb
pause
(2) 轉換完成後,在caffe-windows\examples\cifar10\output文件下會生成cifar10_train_leveldb文件夾和cifar10_test_leveldb文件夾,裏面的內容爲


3. 對轉換後的數據計算均值;

新建caffe-windows\mybat\cifar10\cifar10_mean.bat文件,編寫批處理命令如下

..\..\Build\x64\Release\compute_image_mean ..\..\examples\cifar10\output\cifar10_train_leveldb ..\..\examples\cifar10\test\mean.binaryproto --backend leveldb
pause
運行結束後,會在caffe-windows\examples\cifar10\test生成mean.binaryproto文件

4. 修改caffe-windows\examples\cifar10\cifar10_quick_train_test.prototxt爲如下


該文件是網絡結構的配置文件,主要修改的地方有三個,分別爲source,表示的是數據,選擇剛纔生成的數據即可。其次是batch_size,這部分可以根據自己計算機配置進行修改,第三個爲backend,由於剛纔生成的是LEVELDB格式,因此在這裏將其改爲LEVELDB

5. 修改caffe-windows\examples\mnist\lenet_solver.prototxt爲如下


修改相應的net,snapshot_prefix和solver_mode即可

6. 開始訓練

在caffe-windows\mybat\cifar文件夾新建cifar10_train.bat文件,用於數據的訓練,內容如下

..\..\Build\x64\Release\caffe.exe train -solver= ..\..\examples\cifar10\cifar10_quick_solver.prototxt 
pause
雙擊即可運行,運行完成後,會在caffe-windows\examples\cifar10文件夾下生成cifar10_quick_iter_4000.caffemodel.h5和cifar10_quick_iter_4000.solverstate.h5文件

7.測試

(1) 在caffe-windows\examples\cifar10文件夾下新建synset_words.txt文件,表示標籤,裏面的值如下


(2) 用cifar-10數據集中的測試數據進行測試,在這裏,因爲cifar-10數據集中爲純數據,因此我在這裏對其進行了簡單的轉換,生成了100張cifar-10的圖像,將其放在caffe-windows\examples\cifar10\Pic文件夾下


如果有需要,鏈接爲鏈接:https://pan.baidu.com/s/1c3vIap6 密碼:65x5

(3) 在caffe-windows\mybat\cifar10文件夾下新建cifar10_test.bat,對數據進行測試,批處理文件內容如下

..\..\Build\x64\Release\classification ..\..\examples\cifar10\cifar10_quick.prototxt ..\..\examples\cifar10\cifar10_quick_iter_4000.caffemodel.h5 ..\..\examples\cifar10\test\mean.binaryproto ..\..\examples\cifar10\synset_words.txt ..\..\examples\cifar10\Pic\Pic\12_truck.jpg
pause
其中cifar10_quick_iter_4000.caffemodel.h5爲我們訓練生成的結果文件。

預測結果如下


預測的是一個卡車的圖像,預測結果也是一個卡車!

enjoy!


參考:

Caffe上配置和運行Cifar10的示例

caffe典型識別示例CIFAR-10的運行詳解

cifar-10在Caffe上的訓練學習














發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章