Contents
  1. 1. 安装步骤
  2. 2. 总结

由于我的笔记本是农卡,没法安装CUDA加速,而且我的显卡只有2G显存,安装OpenCL费力不讨好,而且由于我有一个Google云的300美元的体验,所以可以在Google云上使用TPU来进行加速,所以我就干脆不安装显卡加速,但是Tensorflow提供了指令集优化,由于默认使用pip安装没有提供这个功能,所以只能手动编译安装

假如你是用pip安装的Tensorflow你可以会得到下面警告

the tensorflow library wasn't compiled to use sse4.1 instructions

安装步骤

  1. 首先你得先看看你CPU支持什么指令集

    cat /proc/cpuinfo|grep flags
    

执行这个指令就能看到你所支持的指令集

  1. 然后安装bazel

    sudo add-apt-repository ppa:webupd8team/java
    sudo apt-get update && sudo apt-get install oracle-java8-installer
    echo "deb [arch=amd64] http://storage.googleapis.com/bazel-apt stable jdk1.8" | sudo tee /etc/apt/sources.list.d/bazel.list  
    curl https://bazel.build/bazel-release.pub.gpg | sudo apt-key add -  
    sudo apt-get update && sudo apt-get install bazel  
    sudo apt-get upgrade bazel  
    
  1. 安装完之后下载tensorflow源码

    mkdir github && cd github
    git clone –recurse-submodules https://github.com/tensorflow/tensorflow
    cd tensorflow
    ./configure

接下来一路选择N就行

  1. 生成whl文件

    bazel build -c opt --copt=-msse3 --copt=-msse4.1 --copt=-msse4.2 --copt=-mavx --copt=-mavx2 --copt=-mfma //tensorflow/tools/pip_package:build_pip_package
    

在源码处开始编译,注意copt命令主要是添加指令集支持,这里你要看看上面的指令集(去掉m就是你的指令集,如-msse3指令集为sse3)你的CPU是否支持(一般都支持我的I5 4200U都支持),如果不支持删掉那个就行

这里你安装的时间比较长,要看你的CPU了

  1. 验证

退出安装目录运行python

执行下面两句

import tensorflow as tf;sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))

总结

如果没有报上面的不支持指令集的warning,那么你的CPU指令集优化版就安装好了,当然这个加速效果因CPU而异,对于Xeon SP系列(100核心以上)已经能加速到50倍,同GPU差距也就2倍了(原来可是100倍),但是对于我的笔记本来说,加速效果可能就在30%左右(核心少),所以当前加速性价比最高的还是GPU加速,骚年还是买个好一点的GPU吧,没事还可以吃吃鸡。

Contents
  1. 1. 安装步骤
  2. 2. 总结