Linux下Caffe如何除錯
Caffe也算是一個程式碼量比較大的工程,閱讀程式碼過程進行除錯有助於我們理解程式碼。
1、編譯debug模式的Caffe
首先要先將Caffe編譯成debug模式,即需要將Makefile.config中"DEBUG := 1"前面的註釋去掉再進行重新編譯,這樣就能得到Caffe版本就能夠除錯。
2、安裝IDE
要除錯的話也需要一個IDE,經過這兩天的摸索找到了一個比較滿意的IDE:Anjuta。Anjuta在Ubuntu下的安裝方法為:sudo apt-get install anjuta
3、匯入caffe
安裝完後開啟Anjuta,然後匯入Caffe專案工程,具體步驟為:
(1)import an existing project
(2) import from folder
(3)下拉選擇caffe根目錄,並點選開啟,import。
(4)可用外掛,選擇預設就好。
4、設定斷點
然後開啟需要除錯的程式碼檔案,使用設定斷點按鈕(選單欄最後面一個紅綠黃的按鈕)進行斷點設定。
5、配置程式引數
點選“執行 -> 程式引數”,以除錯訓練mnist為例:
(1)在Program一欄中,選擇右邊的開啟按鈕,然後選擇資料夾caffe/build/tools/下的caffe可執行檔案。
(2)對於Arguments一欄,填入引數:train --solver=examples/mnist/lenet_solver.prototxt,然後點選“應用”
6、開始除錯
點選“執行 -> 除錯程式”,使用除錯快捷鍵:F5(單步跨入函式)、F6(單步跨過函式)、Shift+F5(單步跨出函式)進行除錯。當然,也可以設定偵錯程式命令的。Anjuta使用方法還是比較簡單的,大家檢視一下選單就能知道怎麼用,不大清楚的歡迎留言咯,大家相互交流,哈哈。下面附一張我使用Anjuta除錯Caffe程式碼的截圖(左下方可以檢視變數的值等,右下方是程式的執行結果)