1. 程式人生 > >ubuntu 16.04 安裝Tensorflow(CPU和GPU)

ubuntu 16.04 安裝Tensorflow(CPU和GPU)

一、ubuntu 16.04 安裝Tensorflow(CPU)

1、安裝pip

      開啟終端輸入命令:sudo apt-get install python-pip python-dev

2、安裝tensorflow

      sudopip install --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.8.0rc0-cp27-none-linux_x86_64.whl

      安裝成功:

      

 

3、測試

      import tensorflow as tf

      a=tf.constant([1.0,2.0,3.0],shape=[3],name='a')

      b=tf.constant([1.0,2.0,3.0],shape=[3],name='b')

      c=a+b

      sess=tf.Session(config=tf.ConfigProto(log_device_placement=True))

      print sess.run(c)

      

 

二、ubuntu 16.04 安裝Tensorflow(GPU)

1、安裝顯示卡GPU驅動

      開啟終端:sudo apt-get update

      選擇系統設定→軟體更新→附加驅動→選擇nvidia最新驅動→應用更改.

      

      驗證安裝成功:nvidia-settings

      

 

2、安裝Tensorflow依賴的編譯工具bazel

      bazel安裝方法網址:https://bazel.build/versions/master/docs/install-ubuntu.html

(1) 安裝bazel前,需先安裝JDK8

      sudo apt-get installsoftware-properties-common

      sudoadd-apt-repository ppa:webupd8team/java

      sudo apt-get update

      sudo apt-get installoracle-java8-installer

      驗證java版本:java -version

       

(2) 安裝bazel

      echo "deb [arch=amd64]http://storage.googleapis.com/bazel-apt stable jdk1.8" | sudo tee/etc/apt/sources.list.d/bazel.list

      sudo apt install curl

      curlhttps://bazel.build/bazel-release.pub.gpg | sudo apt-key add -

      sudo apt-get update

      sudo apt-get upgrade bazel

 

3、安裝cuda 8.0

      下載地址:https://developer.nvidia.com/cuda-downloads

      

      sudo dpkg -icuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64.deb

      sudo apt-get update

      sudo apt-get install cuda

      檢視gcc版本資訊:gcc –v

      

      由於cuda8.0不支援gcc 5.0以上的編譯器,因此需要降級,把編譯器版本降到4.9:

      sudoapt-get install g++-4.9

      sudoupdate-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 20

      sudoupdate-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 10

      sudoupdate-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.9 20

      sudoupdate-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 10

      sudoupdate-alternatives --install /usr/bin/cc cc /usr/bin/gcc 30

      sudoupdate-alternatives --set cc /usr/bin/gcc

      sudoupdate-alternatives --install /usr/bin/c++ c++ /usr/bin/g++ 30

      sudoupdate-alternatives --set c++ /usr/bin/g++

      

 

4、安裝cuDNN 6.0

      下載地址: https://developer.nvidia.com/cudnn

      

        cp cudnn-8.0-linux-x64-v6.0.solitairetheme8 cudnn-8.0-linux-x64-v6.0.tgz

        tar -xvf cudnn-8.0-linux-x64-v6.0.tgz

        sudo cp cuda/include/cudnn.h/usr/local/cuda/include

        sudo cp cuda/lib64/libcudnn*/usr/local/cuda/lib64

        sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*

 

5、配置環境變數

      sudo gedit ~/.bashrc

      export LD_LIBRARY_PATH=”$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64”

      export CUDA_HOME=/usr/local/cuda

      exportPATH="$CUDA_HOME/bin:$PATH"

     

     source ~/.bashrc

 

6、安裝Tensflow

(1) 安裝Tensorflow依賴的其它工具包

      sudo apt-get install python-numpy swigpython-dev python-wheel

(2) 下載最新的Tensorflow原始碼

      sudo apt-get install git

      git clone https://github.com/tensorflow/tensorflow

(3) 執行configure指令碼配置環境資訊

      

(4) 通過bazel來編譯pip的安裝包,然後通過pip安裝

      bazel build -c opt --config=cuda//tensorflow/tools/pip_package:build_pip_package

      bazel-bin/tensorflow/tools/pip_package/build_pip_package/tmp/tensorflow_pkg

      sudo pip install/tmp/tensorflow_pkg/tensorflow-1.2.0rc2-cp27-cp27mu-linux_x86_64.whl

      第一個命令中 --config=cuda引數為對GPU的支援,如何不需要支援GPU,就不需要這個引數。

      安裝成功:

      

(5) 程式碼測試

      在配置好GPU環境的Tensorflow中,如果操作沒有明確地指定執行裝置,Tenserflow會優先選擇GPU。

      import tensorflow as tf

      a=tf.constant([1.0,2.0,3.0],shape=[3],name='a')

      b=tf.constant([1.0,2.0,3.0],shape=[3],name='b')

      c=a+b

      sess=tf.Session(config=tf.ConfigProto(log_device_placement=True))

      print sess.run(c)

      

     下面給一個通過tf.device手工指定執行裝置的例子:

     import tensorflow as tf

     with tf.device('/cpu:0'):

            a=tf.constant([1.0,2.0,3.0],shape=[3],name='a')

            b=tf.constant([1.0,2.0,3.0],shape=[3],name='b')

     with tf.device('/gpu:0'):

            c=a+b

     sess=tf.Session(config=tf.ConfigProto(log_device_placement=True))

     print sess.run(c)

     

原文是https://blog.csdn.net/jiang_z_q/article/details/73264561