开源框架---通过Bazel编译使用tensorflow c++ API 记录

tensorflow python API,在python中借用pip安装tensorflow,真的很方便,几句指令就完成了。

tensorflow c++ API,通过Bazel编译tensorflow源码方式接通C++接口,配了好几天,终于顺利结束。第一次这么配置,真的是一路踩坑,不断的解决,已经忘了如何一步步完成的。就是遇到问题就解决,奋力爬出坑。总结不顺利的几点原因:

1,版本问题。不兼容,或高或低。tf + protobuf + bazel + python + numpy +...  哪个版本都需要兼容才能顺利向下进行。重复着装里卸载,卸载了重装,匹配为止。
   比如,一句简单的指令安装bazel是最新版本,与之前安装好的tf版本不对应,卸载,下载低版本的 bazel安装包,95M+ 官网本机下载好慢好慢,1~2h过去了,可能还没什么大的进展。后来通过花*币买的。其他,深印象的下载,太多了,....

2,网络问题。有的需要google源,依赖项会因为网络不稳、无法翻墙、....等网络原因,出现不同的情况,速度慢还报错。有的资源下载一半,卡了...
   比如,tensorflow/contrib/makefile/downloads/eigen...这个就下载了很久,一下午... 或下载的不全获有问题...

第一次,尝试这种源码方式安装tf,耗时3天+终于通了。

--------------------------------------------------------------------------------------------------------------------

下文转载,也遇到与该作者一样的问题。当时自己一顿摸索,踩了很多坑,最后不是这么简单解决的,但是都是发现缺什么想招解决的。作者解决的简便、还好。感谢!

记得,当时我应该是下载缺失的文件,单独安装,然后在CMakelists.txt中在添加路径。

--------------------------------------------------------------------------------------------------------------------

(1)、nsync_cv.h文件缺失:

这个文件一般是会在tensorflow/contrib/makefile/downloads/nsync/public这个文件夹下的,但是我这边是编译tensorflow的时候有些依赖文件没有下载到导致它缺失,解决方法是存在/tensorflow/contrib/makefile/download_dependencies.sh这个文件,执行它来下载相关的文件,相关文件会放在/home/zcx/tensorflow-r1.7/tensorflow/contrib/makefile/downloads这个文件夹下;

(2)、提示Eigen相关的问题
这个问题跟前面的类似,如果下载了相关的依赖文件之后,在/tensorflow-r1.7/tensorflow/contrib/makefile/downloads文件夹下找到eigen文件夹,进入之后执行以下指令进行eigen的编译:
    mkdir build
    cd build
    cmake ..
    make
    sudo make install

(3)、提示关于protobuf版本的问题
问题如下:

这个主要是protobuf版本的问题,所以要查看bazel-genfiles/tensorflow/core/framework/types.pb.h这个文件夹中关于protobuf的版本要求,然后下载相应的版本来更新即可,这里tensorflow1.12要求是protobuf要大于等于3.6:

所以就去github上下载对应的protobuf版本。要下载源码,然后编译安装即可。
@https://blog.csdn.net/yz2zcx/article/details/83153588

开源框架---通过Bazel编译使用tensorflow c++ API 记录的更多相关文章

  1. Bazel 编译工具; tensorflow 编译

    什么是bazel https://docs.bazel.build/versions/master/bazel-overview.html 使用 bazel 构建 c++ 工程 https://git ...

  2. 【实践】如何利用tensorflow的object_detection api开源框架训练基于自己数据集的模型(Windows10系统)

    如何利用tensorflow的object_detection api开源框架训练基于自己数据集的模型(Windows10系统) 一.环境配置 1. Python3.7.x(注:我用的是3.7.3.安 ...

  3. 开源框架---tensorflow c++ API 一个卡了很久的问题

    <开源框架---tensorflow c++ API 运行第一个“手写字的例子”> 中可以说明tensorflow c++ API是好用的,.......

  4. TensorFlow入门——bazel编译(带GPU)

    这一系列基本上是属于我自己进行到了那个步骤就做到那个步骤的 由于新装了GPU (GTX750ti)和CUDA9.0.CUDNN7.1版本的软件,所以希望TensorFlow能在GPU上运行,也算上补上 ...

  5. Pyhton开源框架(加强版)

    info:Djangourl:https://www.oschina.net/p/djangodetail: Django 是 Python 编程语言驱动的一个开源模型-视图-控制器(MVC)风格的 ...

  6. Python开源框架

    info:更多Django信息url:https://www.oschina.net/p/djangodetail: Django 是 Python 编程语言驱动的一个开源模型-视图-控制器(MVC) ...

  7. Ubuntu16.04编译安装tensorflow,2018最新血泪踩坑之后的全面总结!绝对成功!【转】

    本文转载自:https://blog.csdn.net/pzh11001/article/details/79683133 大家好,我是 (深度学习硬件DIY总群)(719577294)群主:    ...

  8. plain framework 1 一款主要用于网络(游戏)开发的C/C++开源框架 安装篇 updated

    上次介绍了一下plain framework的基础相关资料,今天该框架正式开源发布.项目的地址托管于github上,我相信大多数朋友都应该知道.今天要介绍的是该框架的目录基本结构,以及分别在linux ...

  9. iOS常用第三方开源框架和优秀开发者博客等

    博客收藏iOS开发过程好的开源框架.开源项目.Xcode工具插件.Mac软件.文章等,会不断更新维护,希望对你们有帮助.如果有推荐或者建议,请到此处提交推荐或者联系我. 该文档已提交GitHub,点击 ...

随机推荐

  1. jvm minor gc 为什么比 full gc 快很多

    1.minor gc 也需要STW,只不过正常情况下 minor gc  STW时间非常短,所以很多人误以为没有STW. 这里的正常情况是,Eden 区产生的新对象大部分被回收了,不需要拷贝. 2.M ...

  2. Moq中判断方法是否被执行时,参数中有列表的情况

    如果参数中有列表,列表项为引用类型时,则会判断列表项是否为同一引用 列表本身不判断

  3. 【数据库开发】C++测试redis中的publish/subscribe

    运用 http://blog.csdn.net/xumaojun/article/details/51558237 中的redis_publisher.hredis_publisher.cpp red ...

  4. vba Excel连接数据库

    PostgreSql: 第一步 在网上下载postres的驱动程序,之后安装,下载地址:https://www.devart.com/odbc/postgresql/download.html 第二步 ...

  5. 提车应该检查哪?4S店都怕你检查这4个“雷区”,别等后悔才知道

    https://mbd.baidu.com/newspage/data/landingsuper?context=%7B%22nid%22%3A%22news_9381645601643691163% ...

  6. 【CodeForces】1172E. Nauuo and ODT

    题解 看了一遍题解(以及代码)但是没写代码-- 后来做梦的时候忽然梦到了这道题--意识到我需要补一下-- 这道题就是,对于每种颜色,把没有染成这种颜色的点标成黑点,然后计算每个联通块的平方 然后每个点 ...

  7. 搭建apache2.4+php7+mysql+phpmyadmin

    apache2.2不支持php7,会报错 cannot load php7apache2_4.dll into server 前排提示:保证安装文件夹和我的一致可以省事很多哦 下载地址 下载apach ...

  8. 【Python | opencv+PIL】常见操作(创建、添加帧、绘图、读取等)的效率对比及其优化

    一.背景 本人准备用python做图像和视频编辑的操作,却发现opencv和PIL的效率并不是很理想,并且同样的需求有多种不同的写法并有着不同的效率.见全网并无较完整的效率对比文档,遂决定自己丰衣足食 ...

  9. Scratch 3.0,新在哪里?

    大家期待已久的Scratch 3.0,已经上线一段时间了. 学生们可轻松通过连接WeDo2.0和EV3机器人 进行scratch编程学习啦! 或许有些朋友还不太了解Scratch,没关系,小乐今天就为 ...

  10. 怎样理解数组的空元素empty与undefined的区别

    数组的空元素empty表示空位, 它不是一种数据类型, 而是由于人为修改arr.length 或者写入时多写了逗号造成的. var arr = [1,2,3,4,,,5]; arr.length; a ...