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代碼的截圖(左下方可以查看變量的值等,右下方是程序的運行結果)