编译TensorFlow CPU指令集优化版

Posted 狂徒归来

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编译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!

 

以上是关于编译TensorFlow CPU指令集优化版的主要内容,如果未能解决你的问题,请参考以下文章

centos7 源码编译安装TensorFlow CPU 版本

为新指令集扩展优化编译的代码的向后兼容性

您的 CPU 支持未编译此 TensorFlow 二进制文件以使用的指令:AVX AVX2

Firefox(59.0.2)tete009编译版

Android so文件

使用 Docker 从源代码编译 TensorFlow 以提高 CPU 速度