开源框架---通过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. 关于LSTM的输入和训练过程的理解

    1.训练的话一般一批一批训练,即让batch_size 个样本同时训练: 2.每个样本又包含从该样本往后的连续seq_len个样本(如seq_len=15),seq_len也就是LSTM中cell的个 ...

  2. React16+配置打包目录

    在学习react的时候,肯定最终都要用脚手架,对比了手写配置webpack(比较费劲).generator-react-webpack(打不开官方文档……),最终还是选择了react官方的create ...

  3. go打印九九乘法表

    package main import ( "fmt" ) func main() { for i := 1; i < 10; i++ { for j := 1; j < ...

  4. 离线安装docker,并导入docker镜像

    将docker离线安装包导入到系统中,解压并进入文件夹,使用下述命令进行安装: rpm -ivh *.rpm --nodeps --force 安装完成功使用,docker info 查看docker ...

  5. ${__setProperty 等常见jmeter参数相关博客汇总

    jmeter 控制线程组执行顺序   这个要配合全局变量.if和while来实现BeanShell取样器,全局变量:${__setProperty(newswitch,${switch1},)}if条 ...

  6. Word 双栏排版最后多一页空白页删不掉、左栏文字没写完就到右栏了

    1. 问题 问题:Word双栏排版,最后多一页空白页,删不掉.如图: 原因分析:删不掉是因为末尾文字处其实有个下一页分节符,只不过可能看不到. 如何清晰的看到? 视图 > 大纲,就可以看到了.如 ...

  7. 使用 netkeeper 创翼电脑开 WiFi 方法(12)

    学校的宽带使用"netkeeper"联网,但是电脑依然可以开启WiFi,以下是方法: 1. Win10用户请看 2. Win7用户请看 Win7无法在"任务管理器&quo ...

  8. 序列变换(HDU-5256)【LIS】

    题目链接:https://vjudge.net/problem/HDU-5256 题意:给一个数列,每一个数都不相同且为整数,现求,最少需要修改多少次才能使该数列为严格上升的. 思路:首先,对于一个严 ...

  9. 制作一个centos+jdk8+tomcatd9镜像

    docker解析:     1.登录docker             docker ecex –it 容器名/容器id /bin/bash         例如:             dock ...

  10. python学习-34 内置函数的补充

    其他内置函数 1.ord()    与chr()相反 2.pow() print(pow(3,3)) # 相当于3**3 print(pow(3,3,2)) # 相当于3*3%2 运行结果: 27 1 ...