caffe中google protobuf使用问题
之前caffe中protobuf的版本是3.5.0,可在ternimal下执行:protoc --version 查看当前protobuf版本。
由于另外安装了Tensorflow之后(也有可能是安装了Anaconda,导致protobuf版本发生变化),默认对protobuf版本进行了变化,变成3.1.0。于是在caffe中make的时候出现错误,错误提示如下:


将protobuf版本改变为3.5.0后即可解决问题。具体解决办法:
首先明确你系统中到底有几个protobuf版本,一般系统下在:/usr/local/bin/protoc;/usr/bin/protoc ;/home/wangmaorui/anaconda3/bin/protoc 。这三个路径下都有protobuf。
执行命令:which protoc 查看你当前使用的protobuf路径(或者说版本),一般你安装anaconda后添加路径到系统中则会在 .bashrc下生成:export PATH="/home/wangmaorui/anaconda3/bin:$PATH",如果不使用anaconda下的protobuf则注释掉就好了。
注意:你在caffe中的src/caffe/proto下执行:protoc -I=./ --cpp_out=./ ./caffe.proto后生成的caffe.pb.cc和caffe.pb.h只在当前路径下有效,当你退回到caffe路径下make的时候,这里生成的.cc和.h是不起作用的,make会在build/src/caffe/proto中重新caffe.pb.cc和caffe.pb.h。
举个例子:你在caffe/src/caffe/proto中使用3.5.0版本的protobuf生成.cc和.h文件(此处指定protoc版本进行编译,例如执行命令:/usr/local/bin/protoc ./caffe.proto --cpp_out=./ 表示你使用的/usr/local/bin/下的protoc进行编译
),但是你退回到caffe路径下执行make的时候,在build/src/caffe/proto中得到的.cc和.h文件还是3.1.0版本(此处使用的仍然是/home/wangmaorui/anaconda3/bin/的protoc版本,这个版本直接使用which protoc命令查看)。另一种可操作的方法是你在src/caffe/proto中编译好的.cc和.h文件直接拷贝到build/src/caffe/proto文件中,这样也可以成功。
...
后续考虑是否可以对caffe进行‘’升级‘’,使得满足protobuf对应版本的问题。
caffe中google protobuf使用问题的更多相关文章
- 使用CSharp编写Google Protobuf插件
什么是 Google Protocol Buffer? Google Protocol Buffer( 简称 Protobuf) 是 Google 公司内部的混合语言数据标准,目前已经正在使用的有超过 ...
- (原)python中import caffe提示no module named google.protobuf.internal
转载请注明出处: http://www.cnblogs.com/darkknightzh/p/5993405.html 之前在一台台式机上在python中使用import caffe时,没有出错.但是 ...
- caffe中是如何运用protobuf构建神经网络的?
caffe这个框架设计的比较小巧精妙,它采用了protobuf来作为交互的媒介,避免了繁重的去设计各个语言的接口,开发者可以使用任意语言通过这个protobuf这个媒介,来运行这个框架. 我们这里不过 ...
- caffe编译环境的错误:..build_release/src/caffe/proto/caffe.pb.h:23:35: fatal error: google/protobuf/arena.h: 没有那个文件
在搭建caffe的环境时出现错误: .build_release/src/caffe/proto/caffe.pb.h:23:35: fatal error: google/protobuf/aren ...
- 在UnrealEngine4中使用Google Protobuf
转自:https://blog.csdn.net/or_7r_ccl/article/details/54986393 在UnrealEngine4中使用Google Protobuf ...
- caffe安装编译问题-ImportError: No module named google.protobuf.internal
问题描述 ~/Downloads/caffe$ python Python (default, Dec , ::) [GCC ] on linux2 Type "help", &q ...
- google protobuf 中的proto文件编写规则
1. 简单介绍 protobuf文件:就是定义你要的消息(类似Java中的类)和消息中的各个字段及其数据类型(类似java类中的成员变量和他的数据类型) 2. Protobuf消息定义 消息由至少一个 ...
- caffe搭建--缺少 skimage-缺少 google.protobuf.internal.-caffe搭建--ipython--ubuntu16.04+ caffe+ ipython
mkdir build && cd build cmake .. make pycaffe -j4 sudo vim /etc/profile---- export PYTHONPAT ...
- 《Dotnet9》系列-Google ProtoBuf在C#中的简单应用
时间如流水,只能流去不流回! 点赞再看,养成习惯,这是您给我创作的动力! 本文 Dotnet9 https://dotnet9.com 已收录,站长乐于分享dotnet相关技术,比如Winform.W ...
随机推荐
- CentOS 7 搭建CA认证中心实现https取证
CA认证中心简述 CA :CertificateAuthority的缩写,通常翻译成认证权威或者认证中心,主要用途是为用户发放数字证书 功能:证书发放.证书更新.证书撤销和证书验证. 作用:身份认证, ...
- Linux环境变量具体内容介绍
在Linux中,环境变量是一个很重要的概念.环境变量可以由系统.用户.Shell以及其他程序来设定. 变量就是一个可以被赋值的字符串,赋值范围包括数字.文本.文件名.设备以及其他类型的数据. 下面的例 ...
- Field amqpTemplate in * required a single bean, but 3 were found:
Field amqpTemplate in * required a single bean, but 3 were found: Spring Boot 启动的时候报的错 使用Spring Boot ...
- js数字转换成财务金额
function dealNumberToMoney(money){ var fmtAmt = ""; if(money&&money!=null){ money ...
- hashmap相关面试题
- vue中使用cookies和crypto-js实现记住密码和加密
前端加密 使用crypto-js加解密 第一步,安装 npm install crypto-js 第二步,在你需要的vue组件内import import CryptoJS from "cr ...
- 2018年12月25日 圣诞节快乐 生成器plus
import time#导入时间模块 time.sleep(5)#输入间隔时间5秒 def p_bz():#使用函数 生产包子 for i in range(100): yield "包子% ...
- Spring Boot Log4j2 日志学习
简介 Java 中比较常用的日志工具类,有: Log4j. SLF4j. Commons-logging(简称jcl). Logback. Log4j2(Log4j 升级版). Jdk Logging ...
- UVA1160 X-Plosives
思路 每个元素设为点,化合物设为边 不能出现k条边k个点的环 直接并查集检查即可 代码 #include <cstdio> #include <algorithm> #incl ...
- easyUI使用datagrid-detailview.js实现二级列表嵌套
本文为博主原创,转载请注明: 在easyUI中使用datagrid-detailview.js可快速实现二级折叠列表,示例如下: 注意事项: 原本在谷歌浏览器进行示例测试的,url请求对应的json文 ...