如果需要改動caffe原始碼,往往需要對caffe的實驗進行單步除錯.
如果不用gbd除錯,可以通過圖形介面在ubuntu下除錯,這裡推薦乙個很好用的軟體,anjuta .支援在ubuntu下的圖形介面除錯.
下面以bvlc/caffe庫上的mnist上訓練lenet為例,說明如何除錯.假設前面的資料準備已經完成,下面開始編譯部分:
1.首先把caffe_root目錄下的makefile.config配置檔案中的debug=1處的注釋去掉:debug := 1
;
2.重新make;
3.anjugate不需要生成專案檔案,直接在anjugate中開啟專案,從源**匯入,直接用makefile即可;
4.在anjugate中的選單項」執行->程式引數中進行配置」;其中
5.caffe.cpp的位置在caffe_root/tools/目錄下,在main函式中設定斷點,或者在任意lenet中包含的層對應cpp或cu檔案中設定斷點,都可以在檔案中中斷,從而進行除錯.比如: 在softmax_loss_layer.cu(cpp)中設定斷點.
reference:
安裝Caffe Ubuntu環境下
安裝必要的工具依賴 sudo apt get install build essential 必要的編譯工具依賴 sudo apt get install no install recommends libboost all dev sudo apt get install libatlas bas...
linux下的gdb除錯
如果編譯時,增加了引數 g,就會生成帶源 除錯符號的可執行檔案。增加的除錯符號一般會使檔案變的大一點。gcc o xx xx.c g 進一步地,就可以執行下面的指令啟動除錯工具進入除錯環境對程式進行除錯了。gdb xx 在除錯環境下,可以輸入下列指令來控制除錯。l n第乙個字母是小寫的l,列出第n行...
j link 下的串列埠除錯
今天終於把困擾了兩個星期的串列埠給除錯好了。一切的問題在於沒有仔細的閱讀那段開機啟動的 u boot,裡面設定的時鐘應該好好體會,因為時鐘改變了波特率,若自己重新設定時鐘,雖然apll con 與mpll con可以設定,但是對於clk div0的hclkx2就沒那麼容易了,雖然不知道是為什麼,但感...