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 ...
随机推荐
- cxf配置
先记录一下,后期补充配置原因 原先的spring3.X(struts2)的时候配置cxf2.x没问题,基本就是在context.xml中加入 <import resource="cla ...
- 每天一个Linux命令 10
文件处理命令:ln命令名称:ln 命令英文原意:link语法: ln -s [原文件] [目标文件] -s 创建软连接功能描述:生成链接文件 #ln -s /etc/issue /tmp/issue. ...
- Linux 其它知识点
1:import sys ----导入路径 sys.path.append("/hom") ----添加一个hom的路径 2:重新导入模块 from imp import ...
- SpringMVC登录拦截DEMO
交给/login的post请求的控制器处理, 并通过控制器的逻辑控制获取提示信息login.jsp<%-- Created by IntelliJ IDEA. User: shijinglu D ...
- 剑指offer(40)数组中只出现一次的数字
题目描述 一个整型数组里除了两个数字之外,其他的数字都出现了两次.请写程序找出这两个只出现一次的数字. 题目分析 第一种方法:使用js中的indexOf()和lastIndexOf(),只要两个相等, ...
- linux --- 9. docker 容器 和 rabbitmq 队列
一. docker 容器 1.docker是什么? .linux下容器技术有很多,docker是做的最杰出的一款 .docker能够支撑阿里双十一,京东618的业务,说明,性能,安全性不得差 .doc ...
- Java Web获取Web应用根路径
最基本的 1,request.getRealPath("/");这个方法已不推荐用 2,在Servlet 里用this.getServletContext().getRealPat ...
- Windows server 2016安装Docker EE
Windows server 2016安装Docker EE 下载 windows server 2016 180天评估版本. 地址:https://www.microsoft.com/en-us/e ...
- ( 转) Awesome Image Captioning
Awesome Image Captioning 2018-12-03 19:19:56 From: https://github.com/zhjohnchan/awesome-image-capti ...
- (转载)Unity3D开发之编辑器统一修改Text字体
最近遇到一个需求,就是我们在做完一个场景后,美工感觉字体不好看,效果不是很好,想要换一种字体.UGUI的界面已经搭完,如果要一个一个Text寻找,工作量将是巨大.而且作为程序人员是不会容忍自己做这些机 ...