前一篇文章已经安装了caffe,不过由于要用到的SSDLite需要ReLU6的支持,因此需要修改caffe部分代码以及添加几个文件。
首先找到src/caffe/proto/caffe.proto
这个文件,找到message LayerParameter
后在其内的optional ReLUParameter relu_param = 123;
之后添加optional ReLU6Parameter relu6_param = 208;
然后再找到message ReLUParameter
并在其后添加
// Message that stores parameters used by ReLU6Layer
message ReLU6Parameter {
enum Engine {
DEFAULT = 0;
CAFFE = 1;
CUDNN = 2;
}
optional Engine engine = 2 [default = DEFAULT];
}
修改完毕,接下来添加所需的头文件和实现文件。
在include/caffe/layers
路径下添加cudnn_relu6_layer.hpp和relu6_layer.hpp。
在src/caffe/layers
路径下添加cudnn_relu6_layer.cpp、relu6_layer.cpp、cudnn_relu6_layer.cu以及relu6_layer.cu。
由于作了修改,所以需要重新编译,这里就直接重新创建了新环境,然后按照上一篇文章的方式再次编译安装caffe。