(Caffe)Eclipse調試的Python接口(動態鏈接庫_caffe.so)

本文地址:http://blog.csdn.net/mounty_fsc/article/details/51092967

1 簡介:

Ubuntu環境下搭建帶Caffe環境。在使用Python接口時候,主要代碼來源於動態鏈接庫_caffe.so,本文介紹如果在從Python中調試執行代碼Python接口,然後在Eclipse中調試動態該鏈接庫_caffe.so.

2 動機:

在用Python接口調用Caffe接口時候,常常希望跟蹤程序執行步驟,並查看變量情況等,故而調試動態鏈接庫_caffe.so

3 相關環境:

Ubuntu,Eclipse IDE for C/C++ Developers,Anaconda,Spyder,Caffe

4 相關知識:

_caffe.so的源代碼在相同路徑下帶_caffe.cpp中,在調試_caffe.so前,先搭建好Eclipse調試Caffe C++代碼帶環境,(Caffe,Lenet5)Eclipse單步調試(一)

5 步驟:

提前準備:

  1. Eclipse導入Caffe項目,找到python/caffe/_caffe.cpp

  2. 配置調試信息,注意,應選擇如圖所示帶C/C++ Attach to Application,填寫_caffe.so的路徑

  3. Python處調試代碼爲,調試語句爲caffe.set_mode_gpu()

    caffe_root = '/home/mounty/caffe-master/'  
    import sys
    sys.path.insert(0, caffe_root + 'python')
    import caffe
    import os
    os.chdir(caffe_root)
    
    caffe.set_device(0)
    
    caffe.set_mode_gpu()
    
    print 'over'

    開始調試:

  4. 以root方式啓動Eclipse,sudo ./eclipse 。否則將可能出現問題

  5. 在Spyder中啓動調試,如圖,在第10行處設好斷點,然後讓Python運行到此處。此時Python已經加載_caffe.so到內存中了。

  6. 找到5中Python程序的進程id,如圖,一般來說pid是最大的那些進程。

  7. 在_caffe.cpp中對應帶函數中設置好斷點,啓動步驟2中的配置,按Debug運行。此時彈出選擇附加進程id的對話框。根據pid選擇正確帶進程。

  8. 在Spyder中Ctrl+F10進行運行進程(此時可能看不到任何效果,這是正常的)

  9. 回到Eclipse下面按F8繼續運行程序,然後程序將在斷點處掛起,可以調試了~

注意:

  1. Caffe應該是Debug編譯帶
  2. root打開Eclipse:sudo ./eclipse
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章