编译Tensorflow

离线编译Tensorflow 更多请关注: https://github.com/chanhal https://www.zhihu.com/people/chanhal 同步更新于:https://zhuanlan.zhihu.com/p/58368354 源码编译Tensorflow需要下载各种依赖,例如:icu, llvm等。但是国内下载这些文件可能出现下载中断的问题,导致始终无法编译,比较终极的办法就是将这些文件下... 阅读详情

一、 安装Bazel

安装依赖包

yum install -y epel-release
yum install -y git java-1.8.0-openjdk-headless java-1.8.0-openjdk-devel gcc gcc-c++ make automake autoconf zip unzip

编译

Bazel没有针对CentOS的发布包,所以先编译安装Bazel

// 下载源码包:
https://docs.bazel.build/versions/master/install-compile-source.html
// 本次下载的是bazel-0.16.0-dist.zip
unzip bazel-0.16.0-dist.zip -d bazel-0.16.0
cd bazel-0.16.0/
./compile.sh

编译完成后会在output目录,将编译好的二进制文件拷贝到/usr/local/bin目录下即可

cp output/bazel /usr/local/bin/
chmod +x /usr/local/bin/bazel

Note: Tensorflow v1.12.0版本需要至少0.16.0以上的bazel才能编译,最开始使用最新的0.21.0版本的bazel去编译tensorflow报错后来使用0.16.0版本后编译成功

二、编译TensorFlow

下载依赖包

yum install python-devel gcc gcc-c++ patch zip python-setuptools
easy_install pip
pip install numpy wheel six mock enum34

下载tensorflow源码并切换指定的版本分支

git clone https://github.com/tensorflow/tensorflow
cd tensorflow
git checkout v1.12.0
git checkout -b v1.12.0

配置

./configure

问一些问题,如果机器上有NVIDIA GPU,需要安装GPU驱动、cuDNN、CUDA等工具(安装Nvida驱动、CUDA和CUDNN)。大部分的设置都可以一路回车。

编译

// 编译CPU版本+MKL
bazel build --config=opt --config=mkl //tensorflow/tools/pip_package:build_pip_package
// 如果是GPU版本(需要在服务器上先安装好cuda)
bazel build --config=opt --config=cuda //tensorflow/tools/pip_package:build_pip_package

// 编译成功后生成whl包
bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg

// 成功后会保存在/tmp/tensorflow_pkg下
Mon Jan 21 17:50:59 CST 2019 : === Output wheel file is in: /tmp/tensorflow_pkg
[root@k8s-node1 tensorflow]# cd /tmp/tensorflow_pkg
[root@k8s-node1 tensorflow_pkg]# ll
total 120692
-rw-r--r-- 1 root root 123586552 Jan 21 17:50 tensorflow-1.12.0-cp27-cp27mu-linux_x86_64.whl

测试

可以使用benckmark进行简单测试

import sys
import numpy as np
import tensorflow as tf
from datetime import datetime
device_name = sys.argv[1]  # Choose device from cmd line. Options: gpu or cpu
shape = (int(sys.argv[2]), int(sys.argv[2]))
if device_name == "gpu":
    device_name = "/gpu:0"
else:
    device_name = "/cpu:0"
with tf.device(device_name):
    random_matrix = tf.random_uniform(shape=shape, minval=0, maxval=1)
    dot_operation = tf.matmul(random_matrix, tf.transpose(random_matrix))
    sum_operation = tf.reduce_sum(dot_operation)
startTime = datetime.now()
with tf.Session(config=tf.ConfigProto(log_device_placement=True)) as session:
        result = session.run(sum_operation)
        print(result)
# It can be hard to see the results on the terminal with lots of output -- add some newlines to improve readability.
print("\n" * 5)
print("Shape:", shape, "Device:", device_name)
print("Time taken:", datetime.now() - startTime)
print("\n" * 5)

调用方式

python benchmark.py cpu 20000

会先用0-1的随机数填充、生成20000*20000的一个矩阵,然后转置,再和原来的矩阵相乘,最后求和。

输出结果

('Shape:', (20000, 20000), 'Device:', '/cpu:0')
('Time taken:', datetime.timedelta(0, 23, 390198))

 

tensorflow源码编译教程_从源码编译安装TensorFlow 普通安装方法是pip官方的包,但这种大街货往往没有针对本地环境做优化。比如调用时会警告说你的机器支持一些可加速运算的指令,但编译时没有启用,让你心痒难耐。2017-06-2610:34:11.820609:Wtensorflow/core/platform/cpu_feature_guard.cc:45]TheTensorFlowlibrarywasn'tcompiledtou... 阅读详情

相关推荐

bazel源码编译Tensorflow

因为研究需求,要从Tensorflow源码编译libtensorflow_cc.so和libtensorflow_framwork.so两个库,工具是bazel。 编译硬件需求:GCC4.8以上,bazel0.10.0以上,tensorflow r1.8。 我的硬件需求:GCC7.3.0,bazel0.15.0,tensorflow r1.8。 GCC安装就不用说了,一般Linux自带,gc...

Code Wang的博客 5443

tensorflow编译操作---完整版

首先我们需要下载对应的tensorflow的源码,在 图中可以看到对应源码的各个不同版本,这里下载自己所需要的那个版本即可 接下来需要下载tensorflow对应的编译工具,这里我们到tensorflow编译工具对应网址之中查看相应的编译工具bazel的编译工具 由于我调用的是tensorflow-2.4.0对应的代码,所以我需要使用Bazel 3.1.0去对tensorflow的源码进行编译 这里选择相应的安装版本进行下载 我们选择对应的bazel-3.1.0-installer-linux-x86_64

小姑仔的博客 1539

TensorFlow GPU 与 源码编译

在深度学习中,服务器的GPU可以极大地加快算法的执行速度,不同版本的TensorFlow默认使用的GPU版本不同,导致与服务器无法兼容,这就需要根据服务器的GPU版本,重新编译TensorFlow源码。 欢迎Follow我的GitHub:https://github.com/SpikeKing 检查GPU 检测服务器的GPU,用于在编译中选择合适的GPU版本。CUDA是NVIDIA发布的...

AGI 3548

源码编译Tensorflow库

源码编译Tensorflow库文件,加载推理tensorflow模型

烂笔头·张的博客 462

tensorflow lite 安装编译过程

目录 1. 下载tensorflow源码 2. 安装依赖库 2.1 安装工具链 2.2 下载依赖文件 3. 编译文件 适用平台:linux, 嵌入式tx2, 安卓,IOS 本文以linux为例,根据自己的平台修改 1. 下载tensorflow源码 在github上下载源码 git clone https://github.com/tensorflow/tensorflo...

qq_37116150的博客 3329

Tensorflow快速编译

1. 配置环境变量使得./configure不用手动选择是否下载全新的llvm等,环境变量如下: export TF_NEED_SEASTAR=0 #还有很多类似的,详见configure.py 2. 在TensorFlow的编译目录里执行: tensorflow/tools/ci_build/builds/configured CPU 来reconfig。 3. 使用configu...

weixin_41644391的博客 735

【Tensorflow】源码编译详细教程

目的是,在开发 tensorflow 的过程中, 没有必要每次都编译 whl package 来安装生效,这样比较花费时间,如果我们是在 c++ 层代码, 仅仅需要在改动 c++ 之后, 编译需要调用的 so 文件,然后替换掉系统中的 so 文件;,网络上已经有很多教程了, 本篇文章,不讲接一开始各种环境的准备,直接说明在开发过程中,我们用到的集中编译方式和编译目标。如果确定开发完成,最终要提供客户使用,那么直接编译成安装包即可;

春秋繁露 1419

C++TensorFlow Lite编译及使用

C++TensorFlow Lite编译及使用 Linux环境 安装软件环境 安装bazel-0.17.2-installer-linux-x86_64.sh 下载tensorflow-1.12.3.tar.gz 安装NDK 下载android-ndk-r15c 安装Android Studio 使用国内网址下载Google Android studio 编译TensorFlow Lite动态...

MichaelWang的博客 7681

TensorFlow源码编译

1、版本tensorflow-1.15.5 https://github.com/tensorflow/tensorflow/releases/tag/v1.15.5 Note that this is the last patch release for the TensorFlow 1.x series. 本文将源代码下载在/home/svn路径下,并在编译完成后,将编译所得tensorflow环境,统一放置在/home/svn/tensorflow路径。 2、使用对应版本的python cd /u

Li_suhuan的博客 1656

BrepNet实战:5分钟搞定三维CAD模型的加工特征识别(附Python代码)

本文详细介绍了BrepNet在三维CAD模型加工特征识别中的实战应用,通过Python代码演示了从环境搭建到模型训练的全流程。BrepNet基于边界表示(BRep)的深度学习框架,能够高效识别加工特征,显著提升工业设计和智能制造领域的效率。文章还提供了性能优化和部署建议,帮助开发者快速实现AI驱动的几何特征识别。

weixin_29044713的博客 508

2021.11.23 Covins 多机器人单目协同建图 跑Euroc数据集 更新

近日,一直在调试如何使用Covins跑通数据集,因为是初学者,所以很多bug出来的时候原理都不懂,只能复制——百度——尝试解决的过程。 现分享一下近日的结果以及与Covins作者帮助解答的一些问题。 使用代码行跑依次跑Euroc多数据集 这里的意思是使用作者提供的covins_examples文件夹中的euroc_examples_mh123_vigba.sh文件,这个文件是将三个Euroc数据集依次运行,跑完第一个数据集,第二个数据集运行的时候在第一个数据集生成地图的基础上继续绘制,由于我只下载了两个数据

qq_42614598的博客 2475

Windows编译Tensorflow2.2.0 C++ dll (CPU bazel)

Windows编译Tensorflow2.2.0 C++ dll (bazel)0、建议预先下载的几个包1、VS2019, anaconda, bazel, msys2 下载、安装、路径设置1.1、VS 20191.2、anaconda欢迎使用Markdown编辑器标题新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaT

weixin_43661313的博客 3557

【sap2000】部分模型通过.s2k文件合并模型generating a global model through partial models by .s2k text file

现在需要通过选项File → Import → SAP2000 .s2k Text File → Add to existing model(如果使用其中一个部分模型作为基础)或New model(如果使用新文件)添加部分模型,并使用以下导入选项。模型A(阶段1/5) Model A (Phase 1/5)模型B(阶段2/5) Model B (Phase 2/5)模型C(阶段3/5) Model C (Phase 3/5)模型E(阶段5/5) Model E (Phase 5/5)

hmywillstronger的博客 1750

Mac上TensorFlow源码编译

TensorFlow作为Google在AI领域的基础运行环境,如今作为大热门被广泛研究,这里使用Mac对TensorFlow源码进行编译。 1 安装必要的软件 1.1 安装JDK 8 JDK 8 can be downloaded from Oracle’s JDK Page : 下载链接: (http://www.oracle.com/technetwork/java/javase/down...

s1120080286的专栏 1402

基于EKF的UWB-IMU融合定位系统在农业机器人中的抗干扰优化与Matlab仿真

本文探讨了基于扩展卡尔曼滤波(EKF)的UWB-IMU传感器融合定位系统在农业机器人中的应用。通过Matlab仿真验证,该系统有效解决了农业环境中UWB信号遮挡和IMU累积误差问题,实现了厘米级高精度定位,显著提升了机器人在复杂场景下的抗干扰能力和导航可靠性。

numpy6sculptor的博客 624

H无穷控制学习笔记——加权灵敏度H无穷控制问题

一、加权灵敏度H无穷问题 系统结构如上图所示。被控对象P的状态空间方程为(Ap,Bp,Cp,DpA_p,B_p,C_p,D_pAp​,Bp​,Cp​,Dp​),加权函数W1的状态空间方程为(A1,B1,C1,D1A_1,B_1,C_1,D_1A1​,B1​,C1​,D1​),加权函数W2的状态空间方程为(A2,B2,C2,D2A_2,B_2,C_2,D_2A2​,B2​,C2​,D2​),加权函数W3的状态空间方程为(A3,B3,C3,D3A_3,B_3,C_3,D_3A3​,B3​,C3​,D3​)。

一饮丶一啄的博客 4350

tensorflow源码编译在C++环境使用

tensorflow源码编译在C++环境使用

记录图像处理中遇到的点点滴滴 1715

Python爬虫实战:5分钟搞定大众点评评论数据抓取(附完整代码)

本文详细介绍了使用Python爬虫高效获取大众点评评论数据的5个关键技巧,包括环境配置、智能页面解析、反反爬策略、数据存储与容错设计以及性能优化。通过实战案例和完整代码,帮助开发者快速掌握文本挖掘技术,适用于市场分析和商业决策。

weixin_30660027的博客 290

Tensorflow serving的源码编译安装(成功编译安装)

Tensorflow 学习路途中的血汗泪!!!!!! 哥写的不是博客,哥写的是寂寞!!

fenbo2013的博客 4226

大疆FPGA/芯片开发工程师(A卷)笔试题(含详解)

大疆芯片开发岗A卷 一、单选题 1.下列关于多bit数据跨时钟域的处理思路,错误的有   A、发送方给出数据,接收方用本地时钟同步两拍再使用   B、发送方把数据写到异步fifo,接收方从异步fifo里读出   C、对于连续变化的信号,发送方转为格雷码发送,接收方收到后再转为二进制   D、发送方给出数据,发送方给出握手请求,接收方收到后回复,发送方撤销数据 2.对12.918做无损定点化,需要的最小位宽是多少位,位宽选择11位时的量化误差是多少   A、12位,0.0118   B、13位,0.0039

Mr.翟的博客 2万+

QT应用编程: 编写低功耗BLE蓝牙调试助手(Android系统APP)

一、环境介绍 QT版本: 5.12.6 编译环境: win10 64位 目标系统: Android 完整工程源码下载地址(包含APK文件):https://download.youkuaiyun.com/download/xiaolong1126626497/19051696 二、功能介绍 本软件是一款BLE蓝牙串口调试助手,支持常规的发送和接收调试,BLE是低功耗类型蓝牙,在智能家居、物联网领域使用较多。BLE低功耗蓝牙一般不能直接使用手机进行连接,手机蓝牙默认都是工作在传统蓝牙模式,无法直接连接BL..

7660

windows编译tensorflow.dll

一、使用Bazel编译 编译完没有找到dll,还没仔细研究。过程如下。 Install Bazel Install Bazel, the build tool used to compile TensorFlow. Add the location of the Bazel executable to your %PATH% environment variable. Install M...

wfafa的专栏 4142

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Tensorflow 本地编译

Tensorflow 编译编译流程 编译流程 参考 https://tensorflow.google.cn/install/source 安装依赖项 git clone https://github.com/tensorflow/tensorflow.git cd tensorflow ./configure bazel build --config=monolithic //tensorfl...

weixin_43214624的博客 786

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

tensorflow c++编译及调用

tensorflow的接口强大,同时模型及ops也多,许多顶会论文都是在tensorflow基础上发表的,但主要注重python接口,这点比不上mxnet 那么,如何编译c++库及接口,如何调用生成的模型进行推理呢?本文以label_image中的例子为主,介绍主要点,希望对大家有所帮助: 1. 环境:centos7, tensorflow-1.13, gcc 4.8.5 2. 编译:cd到...

thankyvision 1603

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

编译tensorflow的小小记录

编译tensorflow有专门的编译工具bazel,所以需要先安装bazel。我使用的是源码编译bazel。 第一个坑:git clone bazel源码或者使用下载的bazel-0.21.0.tar.gz,这种源码里缺少生成需要的文件,所以需要下载的是bazel-0.21.0-dist.zip这种带有dist的源码包。编译命令简单,./compile.sh就可以了。这里需要的依赖工具有:pkg...

f120854632的博客 733

docker tensorflow_Tensorflow源码编译

编译真的是一个大坑!一是外网连不上,二是很多地址在更新。就很难,经历n次尝试我终于编译成功了。以下教程是CPU的,GPU服务器我还没有,有了再更新吧。首先下载源码(别真的下)也可以直接从github(https://github.com/tensorflow/tensorflow)上下载cd tensorflow然后通过运行 TensorFlow 源代码树根目录下的 ./configure 配置系...

weixin_39773239的博客 567
上一篇: OpenStack对接Ceph
下一篇: NVIDIA GPU驱动安装
Aaron.com
博客等级 码龄17年 25粉丝 39原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值