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 ...
随机推荐
- Openstack-Namespaces
介绍OpenStack neutron使用Linux网络命名空间来避免物理网络和虚拟网络间的冲突,或者不同虚拟网络间的冲突. 网络命名空间就是一个独立的网络协议栈,它有自己的网络接口,路由,以及防火墙 ...
- memcache 常用方法
<?php $memcache = new Memcache; //initialised memcahe $memcache->connect("127.0.0.1" ...
- https://scrapingclub.com/exercise/detail_sign/
def parse(self, response): # pattern1 = re.compile('token=(.*?);') # token = pattern1.findall(respon ...
- 杨韬的Python/Jupyter学习笔记
Python语法学习 https://zhuanlan.zhihu.com/p/24162430 Python 安装库 安装Jupyter Notebook 先安装Python cmd 进入K:\Ju ...
- JSONModel(I)
JSONModel使用简介 JSONModel 只需要将你的 model 类继承自 JSONModel ,而同时 model 中的属性名又恰巧可以和 JSON 数据中的 key 名字一样的话,那么非常 ...
- 给学习立个flag
今天是2018年7月7号,此时的砖相比昨天格外烫手,望着手套因被磨破而露出来的半截手指头,一股股热浪溜溜的从指间划过,背后还有小山一样高的砖头,感觉对面today店里的冰镇西瓜又成了不可奢望的梦... ...
- java学习路线之必会的java基础教程
大数据产业已进入发展的“快车道”,急需大量优秀的大数据人才作为后盾.如果你是Java编程出身,那学习大数据自然是锦上添花:但如果你是刚刚接触大数据技术,还在Java编程基础阶段,这篇文章非常值得你看! ...
- ubuntu安装git
安装git,输入sudo apt-get install git 这是unbutu安装东西的简单命令啊 apt-get
- LinkedList 利用的是尾插法
- Maven Web Projest经Update Projest报错:Cannot nest 'myApp/src/main/resource' inside 'myApp/src'. To enable the nesting exclude 'main/' from 'myApp/src'
1,报错场景 2,解决方法 修改pom.xml,去掉该行:<sourceDirectory>src/</sourceDirectory>