caffe中编译自定义或修改后的层

1. 背景

最近需要训练人脸识别里面的CombinedMargin Loss方法,这个loss里面有一些新定义的层,并且对一个全连接层进行了源码修改。因此需要在官方的caffe源码基础上把这些新加的或修改的层添加进去到官方caffe源码里面,并重新编译,下面记录具体的编译步骤

参考链接:https://blog.csdn.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.3.1 将 optional CombinedMarginParameter combined_margin_param = 149;
  optional NormalizeParameter normalize_param = 150;两个放到 message LayerParameter{}下面(注意149和150必须是和前面数字不重复的数字,我的note提示下一个可用的为149,所以我就使用149了,你可以修改成任何和前面不重复的其他数字).

2.3.2 将CombinedMarginParameter和NormalizeParameter放到程序最后,并在message InnerProductParameter {}中增加

 optional bool normalize = 7 [default = false];即可。

 

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  !!!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鸡啄米的时光机

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值