我前几天层写过一篇关于向新版本的caffe中添加新层的博客,那篇我已经标注了是在caffe的pb文件中使用v1LayerParameter的旧格式基础上进行的修改,我通过那篇博文的方法将新版本caffe中的euclidance loss (均方误差层)修改为patchloss层,并编译通过。而这片博文记录下:我通过仿照segmentation-caffe中unpooling添加层的方式对caffe新添加了PatchMean层,这种方式是在新版本caffe中向新格式中修改(在LayerLarameter中添加):
1)在LayerParameter下添加相应message 和 ID
message LayerParameter { // ... optional ZZZParameter zzz_param = 143; }2)接着在下方添加该类的实现
// Message that stores parameters used by ZZZLayer message ZZZParameter { // Whether or not slope paramters are shared across channels. optional int32 mul = 1 [default = 2]; }3)在include/caffe/*下添加hpp文件
4)在src/caffe/layers/*添加cpp和cu文件
编译运行即可。
接着在下方