使用Linux grep 命令。例如在src/caffe/layer_factory.cpp 中有个宏调用:REGISTER_LAYER_CREATOR(Pooling,GetPoolingLayer)
cd $caffe_root
grep -n -H -R "REGISTER_LAYER_CREATOR"
命令行参数解释:
-n --显示行号,便于定位
-H --显示文件名便于定位
-R --递归查询每一个子目录,适合工程较大,分对歌目录存放的场景
直观的显示了所有包含这个宏的文件名和行号,我们能通过数策划仔细甄别出宏定义的位置,另外,无需分别打开每个文件,也能看到这个那个工程中所有通过该宏注册的层生成器(卷积层,下采样层,非线形层Sigmoid,ReLU,和TanH,分类层So f t ma x,以及python 层。)打开include/caffe/layer_factory.hpp ,跳到第113行可以看到该宏的定义
#define REGISTER_LAYER_CREATOR(type, creator)
static LayerRegistererg_creator_f_##type(#type, creator);
static LayerRegistererg_creator_d_##type(#type, creator)