编译TensorFlow CPU指令集优化版
编译TensorFlow CPU指令集优化版
如题,CPU指令集优化版,说的是针对某种特定的CPU型号进行过优化的版本。通常官方给的版本是没有针对特定CPU进行过优化的,有网友称,优化过的版本相比优化前的版本性能提升大概30%。
下面简单介绍下在Ubuntu上进行Tensor Flow编译
必要的环境:
- bazel, 这玩意的安装方法参考别的资料,比较麻烦
- sudo apt-get install python-numpy python-dev python-pip python-wheel
- 因为tf的版本与python版本是有关的,所以如果你有建立虚拟python环境,比如你用conda创建了一个虚拟的tf环境‘tensorflow’,那么通过
source activate tensorflow先进入该环境,此时显示(tensorflow) lev@lev-Precision-Tower-5810:~/类似的 - gcc 4.7+
下面介绍具体的编译工作:
- 在你的工作目录下,执行
git clone https://github.com/tensorflow/tensorflow.git - 进入tensorflow目录,
cd tensorflow - 开始配置编译参数,
./configure,根据需要去配置好对应的东东 - 接下来进入编译,
bazel build --config=opt //tensorflow/tools/pip_package:build_pip_package, 采用默认优化,该设定会自动编译成你的cpu所支持的指令集版本 - 编译whl,也就是python的package,
bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg,此操作会在将whl生成在/tmp/tensorflow_pkg目录下 - 安装whl, 去
/tmp/tensorflow_pkg下找到你的造的轮子,比如我的pip install /tmp/tensorflow_pkg/tensorflow-1.4.0-cp36-cp36m-linux_x86_64.whl, 这个时候,记得退出tensorflow的源码目录,再用命令行运行python,导入tf,如果不退出,直接运行python环境import tensorflow会报错,因为此时import的是源码目录里的tensorflow, 不是你刚刚安装好的。
好了,现在你可以进行愉快的玩耍了,have fun!
编译TensorFlow CPU指令集优化版的更多相关文章
- TensorFlow CPU环境 SSE/AVX/FMA 指令集编译
TensorFlow CPU环境 SSE/AVX/FMA 指令集编译 sess.run()出现如下Warning W tensorflow/core/platform/cpu_feature_guar ...
- centos7 源码编译安装TensorFlow CPU 版本
一.前言 我们都知道,普通使用pip安装的TensorFlow是万金油版本,当你运行的时候,会提示你不是当前电脑中最优的版本,特别是CPU版本,没有使用指令集优化会让TensorFlow用起来更慢. ...
- Ubuntu16 安装Anaconda3+tensorflow cpu版
打开火狐浏览器,下载anaconda安装包,网址:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/?C=M&O=D 下载完成,到Do ...
- 在Windows*上编译Tensorflow教程
背景介绍 最简单的 Tensorflow 的安装方法是在 pip 一键式安装官方预编译好的包 pip install tensorflow 通常这种预编译的包的编译参数选择是为了最大兼容性而不是为了最 ...
- CPU 指令集(Instruction Set Architecture, ISA)
本文摘自网络 概念 指令集是存储在CPU内部,对CPU运算进行指导和优化的硬程序,用来引导CPU进行加减运算和控制计算机操作系统的一系列指令集合.拥有这些指令集,CPU就可以更高效地运行.系统所下达的 ...
- GHOST WIN7系统64位经典优化版 V2016年
来自系统妈:http://www.xitongma.com 深度技术GHOST win7系统32,64位经典优化版 V2016年3月 系统概述 深度技术ghost win7系统64位经典优化版适用于笔 ...
- Windows 10 Tensorflow 2 gpu正式版安装和更新日志
Windows 10 Tensorflow 2 gpu正式版安装和更新日志 Tensorflow 2.0.0 released on2019年10月1日星期二 Link: https://github ...
- Ubuntu16.04编译tensorflow的C++接口
原文:https://www.bearoom.xyz/2018/09/27/ubuntu1604buildtf4cpp/ 之前有一篇介绍到在windows下利用VS2015编译tensorflow的C ...
- 通用PE工具箱 4.0精简优化版
通用PE工具箱 4.0精简优化版 经用过不少 WinPE 系统,都不是很满意,普遍存在篡改主页.添加广告链接至收藏夹.未经允许安装推广软件等流氓行为,还集成了诸多不常用的工具,令人头疼不已.那么今天给 ...
随机推荐
- jQuery中slim版本与普通版本的区别
在jQuery3中,推出了一个slim版本.slim,百度翻译:细长的; 苗条的,纤细的; 微小的; 无价值的. 区别概述: slim即简化版,比普通版本缺少Ajax和特效模块模块. 官方发布地址:h ...
- Class 类
在javascript 中应用类的概念 // javascript web applications 富应用开发 // 类库:生成类的地方:给所有的构造函数提供基础方法,如 extend, inclu ...
- ORA-02273: this unique/primary key is referenced by some foreign keys
关于ORA-02273错误,以前还真没有仔细留意过.昨天遇到了这个问题,遂顺便总结一番,以后遇到这类问题就可以直接用下面方案解决.如下所示,我们首先准备一下测试环境. CREATE TABLE TES ...
- 2017.10.6 QBXT 模拟赛
题目链接 T1 Sort 一下与原数组比较 ,若有两个数或者没有数发生位置交换 ,则输出YES ,否则输出NO #include <algorithm> #include <ccty ...
- iphone开发思维导图
- AWVS12 防止反复注册
以管理员权限运行cmd,输入以下内容: cacls "C:\ProgramData\Acunetix\shared\license." /t /p everyone:r 如图:
- 用python写trojan的过程中遇到的各种问题
由于之前已经conn, addr = s.accept() 所以改为 conn.recv spyder无法同时运行client 和 server 分别在spyder和anaconda prompt运 ...
- 使用lua做序列化和反序列化
-- lua对象序列化 function serialize(obj) local lua = "" local t = type(obj) if t == "numbe ...
- 修改broadcom 4322无线网卡ID教程,不再显示第三方无线网卡
本帖最后由 hellokingabc 于 2016-1-11 03:07 编辑 黑苹果已经基本完美,但是无线网卡总是出现问题,经常断网,经过搜索,原因在于无线网卡在OSX系统下显示为第三方无线网卡,只 ...
- JavaScript之基操
局部变量前面要加var 如 var name = "jiahuai" 全局变量 name = "jiahuai" 写完每一行JavaScript代码用;号隔 ...