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)