(Caffe)Eclipse调试的Python接口(动态链接库_caffe.so)

来源:互联网 发布:如何搭建企业网络平台 编辑:程序博客网 时间:2024/05/29 07:59

本文地址: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 syssys.path.insert(0, caffe_root + 'python')import caffeimport osos.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
1 0
原创粉丝点击