背景:
论文入口:
https://arxiv.org/abs/1704.04861
配置文件下载入口:
https://github.com/farmingyard/caffe-mobilenet
在caffe版本的MobileNet 和ShuufleNet中,我们会用到ConvolutionDepthwise
层,即深度可分离卷积。
Caffe原本的框架里是没有ConvolutionDepthwise
层的定义。
我们需要自己添加进Caffe里,并重新编译,否则就可能会出现下面的错误:
Check failed: registry.count(type) == 1 (0 vs. 1) Unknown layer type: ConvolutionDepthwise
配置方法:
先下载配置文件
下载后文件如下:
主要我们用到框框里的3个文件进行配置
因为这些都是作者自己定义的layer,是Caffe框架本身没有的,需要我们添加到Caffe框架下
同一般的添加层的方法类似:
(1)
将
conv_dw_layer.cpp
conv_dw_layer.cu
这2个文件放置到 caffe/src/caffe/layers 目录下
(2)
将
conv_dw_layer.hpp
这1个文件放置到 caffe/include/caffe/layers 目录下
(3)
这个层不需要额外在caffe.proto文件中声明,所以就方便很多,只需把前面3个文件分别放在对应的位置即可。
(4)
重新编译caffe文件
回到caffe的目录下,然后输入:
sudo make clean
sudo make all
编译完成!!