caffe for windows 實現cifar10圖像訓練生成caffemodel

本文主要的環境是caffe+win8+vs2013+cuda7.0使用了gpu。Solution是在release版本下。具體的環境請看我轉載的happynear大神搭建的caffe框架。

一、數據集準備

到官網中下載cifar10數據集,如果使用的是c++,那麼下載.bin文件。數據集介紹已經很詳細了。cifar10數據集官網下載
下載並解壓,看到共有6個.bin文件,前面五個是訓練集,最後一個是測試集。

二、將數據集轉成leveldb格式


用vs2013打開項目工程。有一個project是convert_cifar_data。(若沒有,則可以在Solution新建一個cuda project,導入tools文件夾中的convert_cifar_data.cpp文件,配置環境即可)。
編譯這個project,之後會在../../examples/cifar10/文件夾下找到convert_cifar_data.exe。
新建兩個文件夾,分別命名爲input_folder,output_folder。input_folder中放入第一階段準備好的cifar10數據。output_folder爲轉換數據之後存儲位置。
同級目錄下新建一個批處理文件,後綴名.bat,輸入以下內容並保存。
convert_cifar_data.exe  input_folder output_folders leveldb
pause
這裏將數據集轉成了leveldb格式。運行convet_cifar_data.bat文件,完成數據的轉換。

三、計算數據的均值文件

新建一個cuda project,命名爲compute_image_mean,導入tools文件夾中的compute_image_mean.cpp文件,配置環境。

編譯,輸出路徑爲爲../../bin\,所以,在bin 文件夾下找到生成的compute_image_mean.exe。
將第二階段生成的input_folder,output_folder拷貝過來。同級目錄下新建一個.bat文件。輸入以下內容並保存。

compute_image_mean.exe output_folders/cifar10_train_leveldb mean.binaryproto

pause
運行compute_image_mean.bat文件,生成了mean.binaryproto文件。這個文件即爲均值文件。

四、訓練cifar10數據集

在examples/cifar10/文件夾中,找到cifar10_quick_trian_test.prototxt。
修改裏面的mean_file和source的路徑。backend一律改爲LEVELDB。
只要是編譯好的caffe框架,在bin文件夾裏面都有一個caffe.exe。這是一個訓練數據集的可執行文件,在上級目錄下新建一個.bat,添加內容,保存並運行。
.\bin\caffe.exe train --solver=examples/cifar10/cifar10_quick_solver.prototxt
pause
看到在dos窗口已經開始訓練了,訓練迭代次數等參數均在cifar10_quick_solver.prototxt文件中。這裏採用了gpu訓練,迭代了4000次,最終的訓練精度爲0.7061。
在examples/cifar10/文件夾中,找到了訓練出來的模型cifar10_quick_iter_4000.caffemodel。



發佈了37 篇原創文章 · 獲贊 19 · 訪問量 15萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章