码迷,mamicode.com
首页 > 其他好文 > 详细

在caffe中添加新的layer

时间:2016-05-22 18:06:23      阅读:298      评论:0      收藏:0      [点我收藏+]

标签:

比如现在要添加一个vision layer,名字叫Ly_Layer:(一般命名第一个字母大写,其余小写。)

1、属于哪个类型的layer(共五种:common_layer, data_layer, loss_layer, neuron_layer, vision_layer ),就打开哪个 hpp文件(caffe-master/include/caffe/),这里就打开vision_layers.hpp,然后自己添加该layer的定义,或者直接复制Convolution_Layer的相关代码来修改类名和构造函数名都改为Ly_Layer,如果不用GPU,将*_gpu的声明都去掉。

2、实现自己的layer,编写Ly_Layer.cpp,加入到src/caffe/layers,主要实现Setup、Forward_cpu、Backward_cpu。

3、如果需要GPU实现,那么在Ly_Layer.cu(同样在/src/caffe/ayers)中实现Forward_gpu和Backward_gpu。

4、修改src/caffe/proto/caffe.proto,好到LayerType,添加Ly,并更新ID,如果Layer有参数,添加LyParameter类。

5、在src/caffe/layer_factory.cpp中添加响应代码(一堆的if...else...)。

6、在src/caffe/test中写一个test_Ly_layer.cpp,用include/caffe/test/test_gradient_check_util.hpp来检查前向后向传播是否正确。

 

(.hpp头文件;.cpp执行文件)

在caffe中添加新的layer

标签:

原文地址:http://www.cnblogs.com/ly123456/p/5517098.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!