Caffe for Windows 訓練cifar10

咱們學習Caffe提供的簡單例程,目的是爲了讓初學者輕鬆上手,以examples/cifar10/爲例,主要用於小圖片的分類。網絡

 

1 cifar10數據集學習

60000張32*32彩色圖片,50000張訓練,10000張測試測試

下載cifar10數據集:http://www.cs.toronto.edu/~kriz/cifar-10-binary.tar.gzui

將下載好並解壓好的數據存放於/data/cifar10/路徑spa

下載好的原始數據是BINARY(二進制)格式的,須要轉換成LMDB或LEVELDB格式才能被Caffe識別(本文以LEVELDB格式爲例)。3d

 

2 轉換格式日誌

咱們已經編譯好Caffe,可參考前面的博客Caffe環境搭建,只須要在根目錄D:\caffe-master下編寫一個腳本,完成後雙擊該腳本便可,我是將Caffe的源碼解壓在D盤的。blog

腳本文件以下所示:圖片

.\Build\x64\Release\convert_cifar_data.exe ./data/cifar10 ./examples/cifar10 leveldb
pause
ci

 

.\Build\x64\Release\convert_cifar_data.exe 

./data/cifar10         表示輸入數據文件路徑

./examples/cifar10  表示輸出數據文件路徑

leveldb                   表示數據格式,你也能夠嘗試生成lmdb格式

 

提示:如何編寫bat腳本文件?

答:其實就是新建一個文本文件,而後將後綴名改寫成bat就能夠。

關於腳本里面的Release模式,有人確定會問,我用Debug模式不能夠嗎?

答:也能夠。但由於在Debug模式下會出現一系列的問題,我我的建議仍是在Release模式下生成Caffe。

 

3 圖像數據均值

咱們已經編譯好Caffe,只須要在目錄D:\caffe-master下編寫一個腳本就好,完成後雙擊腳本。

腳本以下所示:

.\Build\x64\Release\compute_image_mean.exe -backend=leveldb ./examples/cifar10/cifar10_train_leveldb mean.binaryproto
pause

 

    .\Build\x64\Release\compute_image_mean.exe    表示圖像數據進行初始化處理,須要compute_image_mean.exe可執行文件

    -backend=leveldb  表示數據格式,若是不添加這句話的,默認轉化爲lmdb

    ./examples/cifar10/cifar10_train_leveldb 表示剛纔生成的訓練數據集的路徑,而不是val驗證數據集的路徑

     mean.binaryproto 表示輸出均值文件名,後綴名爲binaryproto。這裏默認保存在當前路徑下,也就是在D:\caffe-master

 

4 配置網絡文件

該版本的網絡配置文件有不少,我這裏使用/examples/cifar10/cifar10_quick_train_test.prototxt。打開以後修改訓練數據和驗證數據以及均值文件的路徑,以下圖所示,紅色部分爲修改事後的:

因爲我是CPU模式的,因此還須要修改一下/examples/cifar10/cifar10_quick_solver.prototx文件裏面的模式,以下圖所示,紅色圓圈爲修改過的,原先爲GPU模式。

 

5 訓練日誌

因爲使用了cifar10_quick_train_test.prototxt,對應的在模型訓練設置文件上咱們使用cifar10_quick_solver.prototxt,其實不須要修改內容,固然你也能夠本身指定一些參數。

咱們已經編譯好Caffe,只須要在根目錄D:\caffe-master下編寫一個腳本,完成後雙擊該腳本便可。

.\Build\x64\Release\caffe.exe train --solver=examples/cifar10/cifar10_quick_solver.prototxt
pause

要是想進行驗證的話,能夠修改命令爲:

.\Build\x64\Release\caffe.exe test --model=examples/cifar10/cifar10_quick_train_test.prototxt
pause

 運行結果,圖中紅色處爲準確率,咱們訓練測試主要看的也就是它:

相關文章
相關標籤/搜索