Check failed: registry.count(type) == 1 (0 vs. 1) Unknown layer type: ConvolutionDepthwise

在部分Caffe版本的MobileNet 和 ShuufleNet的deploy.prototxt文件中我们可能会用到type为ConvolutionDepthwise 的层。发生以上错误就是因为,Caffe框架中没有相关的 ConvolutionDepthwise 层的定义。我们若想使用需要自己添加进Caffe。

1.添加ConvolutionDepthwise层

我们可以在MobileNet或者是Caffe的官方文档中下载配置相关成所需要的文件:

conv_dw_layer.cpp
conv_dw_layer.cu
conv_dw_layer.hpp

类似于ShuffleNet的配置过程:
首先在 caffe/src/caffe/layers文件夹中拷贝:

conv_dw_layer.cpp
conv_dw_layer.cu

然后再 caffe/include/caffe/layers 文件夹中拷入:

conv_dw_layer.hpp

这个层不需要额外在caffe.proto文件中声明,所以接下来在caffe文件夹下:

make all -j4

就可以解决了!

你可能感兴趣的:(机器学习)