安装过程参考:
https://blog.csdn.net/samylee/article/details/50965935
前期比较顺利,当运行到make all -j16时,出现错误:
src/caffe/CMakeFiles/proto.dir/build.make:74: recipe for target 'src/caffe/CMakeFiles/proto.dir/__/__/include/caffe/proto/caffe.pb.cc.o' failed
make[2]: *** [src/caffe/CMakeFiles/proto.dir/__/__/include/caffe/proto/caffe.pb.cc.o] Error 1
CMakeFiles/Makefile2:203: recipe for target 'src/caffe/CMakeFiles/proto.dir/all' failed
make[1]: *** [src/caffe/CMakeFiles/proto.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2
猜测是protobuf版本问题,可能是之前安装过caffe和tensorflow,有多个protobuf版本,所以报错。
查看当前protobuf版本:
protoc --version
返回2.5.0,感觉版本没错,尝试了很久后准备换其他方法make。
-------------------------------------------------------------------------------------------------------------------------------------
回到caffe根目录(caffe-fast-rcnn)下,运行make all ,报同样的错,尝试:
sudo apt-get install libboost-all-dev
make clean
make all -j16
错误变成:
类似:
cudnnStatus_t CUDNNWINAPI cudnnSetPooling2dDescriptor(
Makefile:501: recipe for target '.build_release/src/caffe/layers/image_data_layer.o' failed
make: *** [.build_release/src/caffe/layers/image_data_layer.o] Error 1
继续解决下一个错误…………
第一句话查找之后发现是cudnn和caffe不匹配的问题,想起来我的caffe环境还没有安装cudnn模块
conda install cudnn
make all -j16
果然cudnn不再提示错误,但仍然显示错误:
Makefile:508: recipe for target '.build_release/src/caffe/proto/caffe.pb.o' failedhttps://stackoverflow.com/questions/36678292/caffe-error-with-protobuf-version
查看protobuf版本:protoc --version
发现是3.5
卸载后重装2.5版本:
conda uninstall libprotobuf
which protoc #查看protoc文件所在文件夹
复制protobuf-2.5中的protoc文件到上边显示的文件夹中替换原来文件
再次make,显示错误:
Makefile:501: recipe for target '.build_release/src/caffe/util/benchmark.o' failed
make: *** [.build_release/src/caffe/util/benchmark.o] Error 1