背景:
论文入口:
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:
编译完成!!