如何在Caffe中增加一层新的Layer呢?主要分为四步:
(1)在./src/caffe/proto/caffe.proto 中增加对应layer的paramter message;
(2)在./include/caffe/***layers.hpp中增加该layer的类的声明,***表示有common_layers.hpp,
data_layers.hpp, neuron_layers.hpp, vision_layers.hpp 和loss_layers.hpp等;
(3)在./src/caffe/layers/目录下新建.cpp和.cu(GPU)文件,进行类实现。
(4)在./src/caffe/gtest/中增加layer的测试代码,对所写的layer前传和反传进行测试,测试还包括速度。(可省略,但建议加上)
这位博主添加了一个计算梯度的网络层,简介明了:
http://blog.csdn.net/shuzfan/article/details/51322976
这几位博主增加了自定义的loss层,可供参考:
http://blog.csdn.net/langb2014/article/details/50489305
http://blog.csdn.net/tangwei2014/article/details/46815231
原文:http://www.cnblogs.com/573177885qq/p/6065625.html