之前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使用问题的更多相关文章

  1. 使用CSharp编写Google Protobuf插件

    什么是 Google Protocol Buffer? Google Protocol Buffer( 简称 Protobuf) 是 Google 公司内部的混合语言数据标准,目前已经正在使用的有超过 ...

  2. (原)python中import caffe提示no module named google.protobuf.internal

    转载请注明出处: http://www.cnblogs.com/darkknightzh/p/5993405.html 之前在一台台式机上在python中使用import caffe时,没有出错.但是 ...

  3. caffe中是如何运用protobuf构建神经网络的?

    caffe这个框架设计的比较小巧精妙,它采用了protobuf来作为交互的媒介,避免了繁重的去设计各个语言的接口,开发者可以使用任意语言通过这个protobuf这个媒介,来运行这个框架. 我们这里不过 ...

  4. 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 ...

  5. 在UnrealEngine4中使用Google Protobuf

    转自:https://blog.csdn.net/or_7r_ccl/article/details/54986393 在UnrealEngine4中使用Google Protobuf         ...

  6. caffe安装编译问题-ImportError: No module named google.protobuf.internal

    问题描述 ~/Downloads/caffe$ python Python (default, Dec , ::) [GCC ] on linux2 Type "help", &q ...

  7. google protobuf 中的proto文件编写规则

    1. 简单介绍 protobuf文件:就是定义你要的消息(类似Java中的类)和消息中的各个字段及其数据类型(类似java类中的成员变量和他的数据类型) 2. Protobuf消息定义 消息由至少一个 ...

  8. 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 ...

  9. 《Dotnet9》系列-Google ProtoBuf在C#中的简单应用

    时间如流水,只能流去不流回! 点赞再看,养成习惯,这是您给我创作的动力! 本文 Dotnet9 https://dotnet9.com 已收录,站长乐于分享dotnet相关技术,比如Winform.W ...

随机推荐

  1. String 常用方法

    // 不会改变原字符串string.substring(startIndex, endIndex) —— 根据头尾位置返回一个字符串 string.substr(startIndex, length) ...

  2. Linux Time_wait网络状态 调优

    Time_wait状态 表示收到了对方的FIN报文,并发送出了ACK报文,就等2MSL后即可回到CLOSED可用状态了. 如果FIN_WAIT_1状态下,收到了对方同时带FIN标志和ACK标志的报文时 ...

  3. 【题解】Luogu P2057 [SHOI2007]善意的投票

    原题传送门 我们一眼就能看出这是一道最小割的题 我们设不睡觉这种状态为S,睡觉这种状态为T 对于每个人,如果不想睡觉,就从S向这个人连流量为1的边,否则,就从这个人向T连流量为1的边 对于每一对朋友, ...

  4. 基于PI+QT实现OpenCV图像处理操作(基本环境搭建)

    这篇博客就是在PI上直接写出来的!cheers!! PI3的性能已经非常强劲,而作为一个能够独立运行的运算单元,使用它来做图像处理,将是非常适合的.为了挖掘机器的最大潜能,我没有采用比较常见的pyth ...

  5. 剑指offer(35)数组中的逆序对

    题目描述 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对.输入一个数组,求出这个数组中的逆序对的总数P.并将P对1000000007取模的结果输出. 即输出P%1000 ...

  6. 【Python61--异常处理】

    一.URLrror 当我们的urlopen无法处理一个响应的时候就会出现一个urlerror的错误,但同时url会伴随一个res的属性,包含一个由错误编码和错误信息url 举例: import url ...

  7. linux(centos)测试带宽

    1.安装speedtest-cli speedtest-cli是一个用Python编写的轻量级Linux命令行工具,在Python2.4至3.4版本下均可运行.它基于Speedtest.net的基础架 ...

  8. 阿里技术专家详解Dubbo实践,演进及未来规划

    https://mp.weixin.qq.com/s/9rVGHYfeE8yM2qkSVd2yEQ

  9. ssm整合(方案一 引入jar)

    最近为了研究redis整合,基本都是ssm+redis 好吧 我是老古董了,以前都是ssi,那就折腾一下ssm先,具体方案: 方案一:基本引入jar版.方案二:maven版(后续继续整) 这篇主要是通 ...

  10. fcn+caffe+voc2012实验记录

    参考博客: http://blog.csdn.net/haoji007/article/details/77148374 http://blog.csdn.net/jacke121/article/d ...