完整教程:使用caffe測試mnist數據集

這篇原創筆記來自鐵粉zhupc,感謝爲大家提供的這份caffe測試mnist數據集的精彩總結。

想要入門深度學習沒有幾個趁手的兵器是不行的,目前流行的框架tensorflow、pytorch、caffe等,筆者也是最近接觸了caffe,發現caffe非常適合初學者入門深度學習。不必像tensorflow那樣,先學習Python,然後在學習tf,這個過程感覺像在重新學習一門語言。caffe是c++編寫的,所以從github上下載下來後需要你自己編譯,令人高興的是caffe也支持windows,你去github上下載微軟發佈的caffe用vs2013編譯即可成功,它也區分cpu版本與gpu版本,如何編譯安裝的百度上教程基本可用,筆者在windows跟ubuntu都編譯成功了。入門的童鞋基本上接觸的第一個教程就是mnist識別手寫數字,caffe無疑可以讓你最快的搭建整個網絡並跑通。

這裏假設你已經安裝好caffe。caffe給我們配備了很多個例子,安裝好的caffe中,在example文件夾下,有很多現成的網絡,以mnist爲例。首先,我們需要下mnist數據集,在進入到data文件夾下,有個獲取數據的腳本 caffe/data/mnist/get_mnist.sh,執行完成後會得到下面幾個文件,通過名字判斷可知道分別是測試集與訓練集的樣本與標籤。

進入到caffe/examples/mnist 文件夾下,執行./create_mnist.sh 腳本,如果你的caffe沒有編譯,可能會提示錯誤convert_mnist_data.bin: not found。 重新編譯一下caffe即可。腳本執行成功後你會得到兩個文件夾

Lmdb是一種數據庫,查詢和插入非常高效,caffe使用lmdb作爲數據源,同時caffe也支持hdf5文件。

Caffe搭建網絡是基於prototxt文件,超參數也在裏面配置。所以只需要根據自己的需求配置網絡與超參數prototxt文件,就可以了。在mnist目錄下,有以下幾個文件:

找到 文件caffe/examples/mnist/lenet_train_test.prototxt 這個文件是訓練用的文件,想要自定義網絡就可以這個文件配置網絡。

簡單粗暴的配置,相信你很容易看懂,配置數據源,定義layer類型。

你還需要caffe/examples/mnist/lenet_sover.prototxt文件。lenet_solver文件是用來配置超參數,打開這個文件

框選出來的是幾個重要的配置,首先定義網絡文件位置,配置測試集迭代次數,定義學習率。以及最大迭代次數,文件末尾也可以自由的定義使用GPU或者CPU,snapshot_prefix指的是快照生成的路徑,這裏要配置好。另外建議,數據源最好配置上絕對路徑,這樣的話在任何目錄下都可以執行下面命令。

找到tools文件夾下的caffe,配置solver路徑後,即可運行。

有的童鞋可能用我的命令執行不通過,你只需要查看三個路徑是否配置正確,一個是solver文件中的 net 路徑,跟快照路徑,網絡文件中的數據源路徑。還需要注意的是你在什麼路徑下執行 train命令。

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