编译TensorFlow CPU指令集优化版

编译TensorFlow CPU指令集优化版

如题,CPU指令集优化版,说的是针对某种特定的CPU型号进行过优化的版本。通常官方给的版本是没有针对特定CPU进行过优化的,有网友称,优化过的版本相比优化前的版本性能提升大概30%。

下面简单介绍下在Ubuntu上进行Tensor Flow编译

必要的环境:

  1. bazel, 这玩意的安装方法参考别的资料,比较麻烦
  2. sudo apt-get install python-numpy python-dev python-pip python-wheel
  3. 因为tf的版本与python版本是有关的,所以如果你有建立虚拟python环境,比如你用conda创建了一个虚拟的tf环境‘tensorflow’,那么通过source activate tensorflow先进入该环境,此时显示(tensorflow) [email protected]:~/类似的
  4. gcc 4.7+

下面介绍具体的编译工作:

  1. 在你的工作目录下,执行git clone https://github.com/tensorflow/tensorflow.git
  2. 进入tensorflow目录,cd tensorflow
  3. 开始配置编译参数,./configure,根据需要去配置好对应的东东
  4. 接下来进入编译,bazel build --config=opt //tensorflow/tools/pip_package:build_pip_package, 采用默认优化,该设定会自动编译成你的cpu所支持的指令集版本
  5. 编译whl,也就是python的package,bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg,此操作会在将whl生成在/tmp/tensorflow_pkg目录下
  6. 安装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!

时间: 2024-11-01 21:44:43

编译TensorFlow CPU指令集优化版的相关文章

centos7 源码编译安装TensorFlow CPU 版本

一.前言 我们都知道,普通使用pip安装的TensorFlow是万金油版本,当你运行的时候,会提示你不是当前电脑中最优的版本,特别是CPU版本,没有使用指令集优化会让TensorFlow用起来更慢. 但是在编译之中,发现很多坑,由此记录一下. 环境相关: 系统:centos7 python版本:2.7.5 二.准备 1. 安装相关依赖 # 一般会缺失的依赖 yum -y install java-1.8.0-openjdk-devel automake autoconf libtool libi

没GPU也能玩梵高作画:Ubuntu tensorflow CPU版

            没GPU也能玩梵高作画:Ubuntu tensorflow CPU版 作者:七月在线开发/市场团队骁哲.李伟.July时间:二零一六年九月二十七日 一.前言 9月22号,我们开发/市场团队的两同事利用DL学梵高作画,安装cuda 8.0趟遍无数坑,很多朋友求避坑.因此,3天后的9月25日,便把教程<教你从头到尾利用DL学梵高作画:GTX 1070 cuda 8.0 tensorflow gpu版>公布出去.但令人尴尬的是,不少同学没有GTX 1070.甚至没有一块像样的

Ubuntu16 安装Anaconda3+tensorflow cpu版

打开火狐浏览器,下载anaconda安装包,网址:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/?C=M&O=D 下载完成,到Download文件夹下,打开命令行界面,输入:bash +文件名 我这里是输入:bash Anaconda3-2018.12-Linux-x86_64.sh 中途根据提示,按下enter,输入yes等操作即可. 安装完成添加环境变量: 在终端输入:sudo gedit ~/.bashrc 打开文件后,在最底部

在Windows*上极速飞艇平台定制开发编译Tensorflow教程

最简单极速飞艇平台定制开发[大神源码论坛]dsluntan.com [布丁源码论坛]budingbbs.com 企娥3393756370的 Tensorflow 的安装方法是在 pip 一键式安装官方预编译好的包 pip install tensorflow 通常这种预编译的包的编译参数选择是为了最大兼容性而不是为了最优性能,导致在使用过程中,每次运行代码都会输出一大堆的 warning 信息.例如在安装了谷歌官方的 Tensorflow 1.3.0 包后,运行以下测试代码时 import te

Ubuntu上安装TensorFlow(python2.7版)

笔记内容:Ubuntu上安装TensorFlow(python2.7版)笔记日期:2018-01-31 Ubuntu上安装TensorFlow(python2.7版) 我的系统环境: Ubuntu 16.04 LTS python 2.7 python 3.5 TensorFlow的两个版本: TensorFlow的安装形式主要有以下几种: virtualenv pip docker anaconda 源代码编译 我这里使用pip进行安装,pip是Python软件包管理系统:Pip Instal

干翻线段树——指令集优化指北

前言 在我们刷题的时候,总会碰到一些关于区间操作/修改的题目.这些题目往往要求我们维护一段区间,支持对一段区间进行查询/修改操作.这些题目有如树状数组1一般的简单题,也有如[无聊的数列][2]一般,线段树.树状数组能够完成,但是码量长,可读性差,思考难度大的较难题.这种题目对时间的要求非常严格,询问/查询次数与序列长度均在\(10^5\)级别或以上,能够使\(O(n^2)\)的暴力算法望屋窃叹.那么,有没有什么方法,可以通过数据,代码又易于实现呢? 指令集优化 今天我要讲的指令集优化,就是对这个

POJ-2533最长上升子序列(DP+二分)(优化版)

Longest Ordered Subsequence Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 41944   Accepted: 18453 Description A numeric sequence of ai is ordered if a1 < a2 < ... < aN. Let the subsequence of the given numeric sequence (a1, a2, ...

flask 大型教程项目优化版(1):Hello World

Hello World 作者背景 作者是一个使用多种语言开发复杂程序并且拥有十多年经验的软件工程师.作者第一次学习 Python 是在为一个 C++ 库创建绑定的时候. 除了 Python,作者曾经用 PHP, Ruby, Smalltalk 甚至 C++ 写过 web 应用.在所有这些中,Python/Flask 组合是作者认为最为自由的一种. 应用程序简介 作为本教程的一部分–我要开发的应用程序是一个极具特色的微博服务器,我称之为 microblog . 我会随着应用程序的不断地进展将涉及到

优化版的冒泡排序

;优化版的冒泡排序,最好的情况为线性阶 ,最坏的情况为平方阶 ;算法的最好情况,如一个拍好序列的数组那么做排序,那么就会有几行代码不会产生交换的情况 最坏的情况是全部都交换 ;code /* 此冒泡最好情况被优化为线性阶 最坏就是平方阶 */ void bubble(int arr[3],int n) { int bChange=1,i=0,j=0; for(i=0;i<n&&bChange==1;++i)//n次 { bChange=0; for(j=0;j<n;++j)//