前言:针对在使用别人caffe程序,make时出现ImportError: No module named google.protobuf.internal,且会将自己原先配置好的caffe损坏问题
前提:ubuntu 16.0.4 python2.7 cuda=9.0+cudnn=7.0
import caffe时出现:
ImportError: No module named google.protobuf.internal
主要解决不安装最新的protobuf(3.6.1)下解决方案(为make别人caffe程序的工程项目做准备)
首先查看 protobuf 信息
whereis protoc #查看那些路径下安装了protobuf
which protoc #查看默认选用的protobuf
protoc --version #查看当前默认的protobuf的版本(配置caffe时很重要)
方法1
在自己安装的caffe路径下,makefile文件中修改
(注意:这里不要使用 gedit makefile 命令,而是找到 makefile 直接打开)
$(Q)protoc --proto_path=$(PROTO_SRC_DIR) --cpp_out=$(PROTO_BUILD_DIR) $<修改为:
$(Q)/usr/bin/protoc --proto_path=$(PROTO_SRC_DIR) --cpp_out=$(PROTO_BUILD_DIR) $<
$(Q)protoc --proto_path=src --python_out=python $<修改为:
$(Q)/usr/bin/protoc --proto_path=$(PROTO_SRC_DIR) --python_out=$(PY_PROTO_BUILD_DIR) $<
方法2 (推荐)
cd 到 ~/anaconda2/bin 目录下 执行下面指令:
pip install protobuf==2.6.1
(测试import caffe)成功
注:仅为本人在已经配置好caffe环境前提下,使用别人的caffe程序编译时出错,重新配置caffe时的经历,仅供参考
具体安装caffe的经过请看 https://mp.youkuaiyun.com/postedit/84426982
参考:https://blog.youkuaiyun.com/m0_38082419/article/details/80117132
https://blog.youkuaiyun.com/u013249853/article/details/79827491?utm_source=blogxgwz2