caffe深度学习【十六】配置Shufflenet v1,caffe添加shuffle_channel_layer层

背景:

论文入口:

https://arxiv.org/pdf/1707.01083.pdf

配置文件下载入口:

https://github.com/farmingyard/ShuffleNet

下载后文件如下:

主要我们用到框框里的3个文件进行配置

因为这些都是作者自己定义的layer,是Caffe框架本身没有的,需要我们添加到Caffe框架下 

配置方法:

同一般的添加层的方法类似:

(1)

shuffle_channel_layer.cpp

shuffle_channel_layer.cu

这2个文件放置到   caffe/src/caffe/layers  目录下

(2)

shuffle_channel_layer.hpp

这1个文件放置到   caffe/include/caffe/layers  目录下

(3)

添加声明

打开  caffe/src/caffe/proto/caffe.proto  这个文件

然后搜索:

message LayerParameter

在最后添加这句话:

注意,这里的164随意取,只要不和前面用过的ID重复即可

message LayerParameter {
...
optional ShuffleChannelParameter shuffle_channel_param = 164;
}

然后在caffe.proto文件的最后,添加

message ShuffleChannelParameter {
  optional uint32 group = 1[default = 1]; // The number of group
}

然后保存,退出即可

(4)

重新编译caffe文件

回到caffe的目录下,然后输入:

sudo make clean
sudo make all

如果编译caffe时出现如下问题:

主要原因是我们上一步,修改了caffe.proto文件因为我们用文本编辑器打开了文件后,文本编辑器在caffe.proto文件的开头静默插入字节顺序标记。

请参考我的另一篇博客解决:

caffe深度学习【十二】编译错误:caffe.proto:1:1: Interpreting non ascii codepoint 239.

解决后,成功开始重新编译caffe:

编译完成!!

猜你喜欢

转载自blog.csdn.net/qq_38451119/article/details/82657510