caffe中编译自定义或修改后的层
1. 背景
最近需要训练人脸识别里面的CombinedMargin Loss方法,这个loss里面有一些新定义的层,并且对一个全连接层进行了源码修改。因此需要在官方的caffe源码基础上把这些新加的或修改的层添加进去到官方caffe源码里面,并重新编译,下面记录具体的编译步骤
参考链接:https://blog.****.net/rainforestgreen/article/details/85232657
2. 修改caffe.proto文件
2.1 我下载的caffe代码为官方链接,这里。然后我把官方链接git到了ubuntu下面
2.1 下载CombinedMargin loss的新定义层和新修改层的文件,这里。可以看到都是新修改的层
并且这里作者给出了如何添加新修改层到官方caffe中并进行重新编译的方法,如下图。
2.3 按照作者的方法,我首先把toadd.proto中的全部内容全选复制,然后粘贴到了$CAFFE_ROOT/src/caffe/proto/caffe.proto里面
2.4 按照作者的方法,我把CombinedMargin工程中所有 .hpp
文件复制到 $CAFFE_ROOT/include/caffe/layers/
文件夹,如果出现同名的,我进行了覆盖。
2.5 按照作者的方法,我把CombinedMargin工程中所有 .cpp
and .cu
文件复制到 $CAFFE_ROOT/src/caffe/layers/
文件夹,如果出现同名的,我进行了覆盖。
2.6 然后编译修改后的caffe官方版本,接下来 enjoy CombinedMargin Loss with youself !!!