目前简单的跑了一些常用的模型,但是深感对caffe了解还是不够,所以继续深入学习caffe.
首先,参考了知乎的一个回答,深度学习caffe的代码怎么读? Gein Chen,准备就按照人家的流程走一下,希望能够多学点东西。
1.程序跑起来,已经实现了
2.caffe单步调试。参考caffe使用gdb单步调试及源码阅读,这一篇写的很详细,很贴心。
要调试,准备用gdb,那么就学习一下,参考博客,linux下如何使用gdb调试,看看有没有英文原版的介绍吧。果然有,先崇尚原汁原味的吧:Debugging Under Unix: gdb Tutorial先看这个,这个什么玩意,不好。知道了,这个文件是个老文件,得修改一下:
头文件:
#include <iostream>
还要在主函数前面加上,
using namespace std
,不然程序会报错。
然后输入
make
编译文件,使其产生main的可执行程序,然后才能够被gdb调用,但是,这个英文参考却没有说,真是可恶,幸亏我机智,想了一下。好了,现在可以继续看了。这个是最基本的,很快就看完了。
然后再看这个, GDB Debugger Command Cheat Sheet,开干。
这两个都看了一下,涉及到的内容很基本,很少。。而且这两个网址的操作可能比较旧了,第一个都十几年之前写的个程序,第二个有个命令都还用不了,我估计是gdb更新了,导致有些命令跟之前不一样了。
于是,我打开了我电脑上gdb对应版本推荐的网址:http://www.gnu.org/software/gdb/documentation/ 里面东西挺多的。就暂时先了解了一下基本的,后面有空有需要再详细看看吧。
刚才看了也不能白看,起码得自己调试个自己的代码试试。
刚才查了一下,g++ 与gcc的区别联系,简单来说,他们都是编译器,gcc范围广,可以调试c, c++等语言,而g++特指调试c++语言的,用它调试c++更加强大方便,所以独立出来了。
学习一下ldd的用法:
https://blog.csdn.net/stpeace/article/details/47069215
竟然是排名第一的人,大佬大佬啊。
这篇博客挺不错其实,https://blog.csdn.net/dengbingfeng/article/details/51469051
里面记录了许多博客链接,质量怎么样看看就知道了。