Ubuntu 18.04 Caffe-CPU 安装心得

Ubuntu 18.04 Caffe-CPU 一键安装

CPU的一条命令安装:

sudo apt install caffe-cpu

GPU的一条命令安装:

sudo apt install caffe-cuda

一条命令安装依赖:

sudo apt build-dep caffe-cpu        # dependencies for CPU-only version
sudo apt build-dep caffe-cuda       # dependencies for CUDA version

然后开启terminal,进入python,import caffe,如果没有报错,证明caffe环境配置成功。

那么caffe究竟被安装到什么路径下呢,其实安装在了 /usr/bin 路径下

Ubuntu 18.04 Caffe-CPU 命令行安装

安装教程: https://www.cnblogs.com/acgoto/p/11570188.html
(自认为是最详细的版本)

踩坑:
1. Makefile:635: recipe for target ‘.build_release/tools/compute_image_mean.bin’ failed

转载链接:https://blog.csdn.net/u011037837/article/details/78439377

.build_release/lib/libcaffe.so:对‘cv::_OutputArray::_OutputArray(cv::Mat&)’未定义的引用
.build_release/lib/libcaffe.so:对‘cv::_InputArray::_InputArray(cv::Mat const&)’未定义的引用
.build_release/lib/libcaffe.so:对‘vtable for cv::_InputArray’未定义的引用
collect2: error: ld returned 1 exit status
Makefile:635: recipe for target '.build_release/tools/compute_image_mean.bin' failed
make: *** [.build_release/tools/compute_image_mean.bin] Error 1

解决办法:Makefile.config里的

#USE_PKG_CONFIG :=

这一行前面的#给去掉,然后在他下一行添加

LIBRARIES += glog gflags protobuf leveldb snappy \
       lmdb boost_system hdf5_hl hdf5 m \
       opencv_core opencv_highgui opencv_imgproc opencv_imgcodecs

2. caffe 编译出现protobuf

PROTOC src/caffe/proto/caffe.proto
CXX .build_release/src/caffe/proto/caffe.pb.cc
In file included from .build_release/src/caffe/proto/caffe.pb.cc:4:0:
.build_release/src/caffe/proto/caffe.pb.h:10:10: fatal error: google/protobuf/port_def.inc: 没有那个文件或目录
 #include <google/protobuf/port_def.inc>
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
Makefile:570: recipe for target '.build_release/src/caffe/proto/caffe.pb.o' failed
make: *** [.build_release/src/caffe/proto/caffe.pb.o] Error 1

环境里安装过 protobuf,之前的caffe编译也成功了。这次在出现这个问题时,怀疑是没有找到对应的protobuf。

解决方法: 参考链接

可以在Makefile文件中直接指定protoc路径
命令 whereis protoc 可以查看哪些路径下安装了protoc
命令which protoc 可以查看默认选用protoc的路径
命令 protoc --version 可以查看当前protoc版本

指定protoc的版本可以在 Makefile文件内修改

在Makefile 中修改这两句:

$(Q)protoc --proto_path=$(PROTO_SRC_DIR) --cpp_out=$(PROTO_BUILD_DIR) $&lt;
$(Q)protoc --proto_path=$(PROTO_SRC_DIR) --python_out=$(PY_PROTO_BUILD_DIR) $&lt;

$(Q)/usr/bin/protoc --proto_path=$(PROTO_SRC_DIR) --cpp_out=$(PROTO_BUILD_DIR) $&lt;
$(Q)/usr/bin/protoc --proto_path=$(PROTO_SRC_DIR) --python_out=$(PY_PROTO_BUILD_DIR) $&lt;

即把开头的"protoc"补全路径即可 (/usr/bin/protoc即为自己向指定给的版本路径)

注:这种修改不会影响系统默认的protoc版本,只会在caffe编译的时候调用相应的proto版本

参考文献

  1. https://www.cnblogs.com/juluwangshier/p/12364519.html
  2. https://blog.csdn.net/sinat_38439143/article/details/97244296
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值