1.准备工作:编辑好的新层文件:newlayer.cpp, newlayer.hpp, newlayer.cu
2.将.cpp和.cu放在src/caffe/layers/
下,将.hpp放在include/caffe/layers/
下
3.修改caffe.proto
3.1 添加层的参数
在message LayerParameter {}中添加新参数信息。添加信息时,首先要制定一个唯一ID,这个ID的可选值可以由这句话看出:
// NOTE
// Update the next available ID when you add a new LayerParameter field.
// LayerParameter next available layer-specific ID: 143 (last added: BatchCLuster)
message LayerParameter {
由上图可以看出,可选的ID为143。
于是我们就可以添加这样一行:
optional NewLayerParameter newlayer_param = 143;
本段来源:
3.2 定义层的成员参数
message NormalizeParameter {
optional bool across_spatial = 1 [default =false];
optional bool channel_shared = 2 [default =false];
optional FillerParameter scale_filler = 3;
optional float eps = 5 [default = 1e-9];
}
注意初始化成员的值不要相同。
3.3 编译caffe: make -j8