c++调试caffe
1.1 重新编译
1.2 在eclipse中构建工程- 入口函数
- train / Finetune a model代码解读
- 用solver->Solve()函数
- blob类
- layer类
- net类
7.1 NetState
7.2 NetParameter caffemodel中存了些什么
c++调试caffe
调试c++源码可以采用eclipse。
1.1 重新编译
更改Makefile.config中的
DEBUG := 1
重新编译caffe。
1.2 在eclipse中构建工程
* 设置workspace*
将eclipse的workspace设置为caffe所在目录的上级目录。比如caffe-master在文件夹\Documents下,则将workspace设置为\Documents。
* 创建工程*
File → New → Project → C/C++ → Makefile Project with Existin Code
Browse到caffe-master,会自动获取工程名。
选择Linux GCC作为编译器。下一步即可。
* 编辑编译选项*
在创建好的工程目录的工程名上右键进入属性设置。
点击Run/Debug Setting,第一次时需要新建,以后只需要编辑即可,图中点击编辑。
进入编辑界面(新建界面和编辑界面一样)
在Main选项卡设置caffe应用程序,指向$CAFFE-PATH/build/tools/caffe
在Arguments设置主函数调试参数train -solver=examples/hed/solvers.prototxt。
这个例子中是要用caffe进行训练,训练的solver路径是$CAFFE-PATH/examples/hed/solvers.prototxt
至此就可以进行caffe的调试了。
但要注意的是:
一般在定义网络结构的proto和solver的proto的时候都采用的相对路径,在进行调试的时候相对路径会发生变化,因此在调试时可以直接采用绝对路径。
- 入口函数
调试caffe的入口main函数位于
$CAFFE-PATH/tools/caffe.cpp