编译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) lev@lev-Precision-Tower-5810:~/类似的
  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!

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

  1. TensorFlow CPU环境 SSE/AVX/FMA 指令集编译

    TensorFlow CPU环境 SSE/AVX/FMA 指令集编译 sess.run()出现如下Warning W tensorflow/core/platform/cpu_feature_guar ...

  2. centos7 源码编译安装TensorFlow CPU 版本

    一.前言 我们都知道,普通使用pip安装的TensorFlow是万金油版本,当你运行的时候,会提示你不是当前电脑中最优的版本,特别是CPU版本,没有使用指令集优化会让TensorFlow用起来更慢. ...

  3. Ubuntu16 安装Anaconda3+tensorflow cpu版

    打开火狐浏览器,下载anaconda安装包,网址:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/?C=M&O=D 下载完成,到Do ...

  4. 在Windows*上编译Tensorflow教程

    背景介绍 最简单的 Tensorflow 的安装方法是在 pip 一键式安装官方预编译好的包 pip install tensorflow 通常这种预编译的包的编译参数选择是为了最大兼容性而不是为了最 ...

  5. CPU 指令集(Instruction Set Architecture, ISA)

    本文摘自网络 概念 指令集是存储在CPU内部,对CPU运算进行指导和优化的硬程序,用来引导CPU进行加减运算和控制计算机操作系统的一系列指令集合.拥有这些指令集,CPU就可以更高效地运行.系统所下达的 ...

  6. GHOST WIN7系统64位经典优化版 V2016年

    来自系统妈:http://www.xitongma.com 深度技术GHOST win7系统32,64位经典优化版 V2016年3月 系统概述 深度技术ghost win7系统64位经典优化版适用于笔 ...

  7. Windows 10 Tensorflow 2 gpu正式版安装和更新日志

    Windows 10 Tensorflow 2 gpu正式版安装和更新日志 Tensorflow 2.0.0 released on2019年10月1日星期二 Link: https://github ...

  8. Ubuntu16.04编译tensorflow的C++接口

    原文:https://www.bearoom.xyz/2018/09/27/ubuntu1604buildtf4cpp/ 之前有一篇介绍到在windows下利用VS2015编译tensorflow的C ...

  9. 通用PE工具箱 4.0精简优化版

    通用PE工具箱 4.0精简优化版 经用过不少 WinPE 系统,都不是很满意,普遍存在篡改主页.添加广告链接至收藏夹.未经允许安装推广软件等流氓行为,还集成了诸多不常用的工具,令人头疼不已.那么今天给 ...

随机推荐

  1. Google Play发布App中遇到"多个APK:版本1未提供给任何设备配置使用。"问题的解决方法

    在google play上发布apk,当上传了apk文件,填写了相关的内容信息和介绍图片.图标后,出现“发布应用”始终灰色无法点击,查看原因显示如下问题: 其中支持的设备数量始终显示为0,怀疑是编译出 ...

  2. 【js类库AngularJs】解决angular+springmvc的post提交问题

    [js类库AngularJs]解决angular+springmvc的post提交问题 AngularJS诞生于2009年,由Misko Hevery 等人创建,后为Google所收购.是一款优秀的前 ...

  3. C++string类型转换为C数组

    #include <string> #include <iostream> using namespace std; int main(){ string str; str.a ...

  4. Android中一个关于ListView的奇怪问题

    今天在做项目的时候发现了一个比较奇怪的问题,是关于ListView的,即ListView的android:height属性会影响程序中ListView的getView()方法的调用次数,如果设置Lis ...

  5. css实现页面文字不换行、自动换行、强制换行

    强制不换行 div{ white-space:nowrap; } 自动换行 div{ word-wrap: break-word; word-break: normal; } 强制英文单词断行 div ...

  6. 基础的Mapgis三维二次开发-插件式

    最近在做一个杭州石油的项目开发一个小系统. 1.命令必须是 ICommand 的派生类 using System; using System.Collections.Generic; using Sy ...

  7. 【模拟】HHHOJ#251. 「NOIP模拟赛 伍」高精度

    积累模拟经验 题目描述 维护一个二进制数,支持如下操作 "+" 该数加 11 "-" 该数减 11 "*" 该数乘 22 "\&q ...

  8. 【Python学习之五】高级特性3(切片、迭代、列表生成器、生成器、迭代器)

    3.列表生成器(List Comprehensions) 列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式.举个例子,要生成list ...

  9. Linux常用快捷键以及如何查看命令帮助

    1.1    Linux系统快速操作常用快捷键 快捷键名称 快捷作用 Ctrl + a 将光标移至行首 Ctrl + e 将光标移至行尾 Ctrl + u 前提光标在行尾,则清除当前行所有的内容(有空 ...

  10. java做http接口

    问题描述 我要对外提供一个http接口给别人调用...但是我不知道用java怎么做这个接口.请大家详细给我讲讲.从开发到如何发布到服务器.谢谢了 解决方案 如果你这个很简单的话,而且数量也很少,建议直 ...