ubuntu16.04下安裝TensorFlow(GPU) 詳細圖文教程

今天下午安裝了一下tensorflow,很久以前安裝過caffe,給我的感覺就是tensorflow安裝起來會比caffe簡單點,下面是我的操作步驟

首先介紹一下我的環(huán)境

硬件配置:CPU i5,GPU NVIDIA 1080,三星 ssd256G,西數(shù)2T機械硬盤,主板 微星b360
系統(tǒng):Ubuntu16.04 64位

安裝步驟

首先要明確要安裝cuda、cudnn使得tensorflow能利用gpu進行加速,cuda、cudnn版本是要對應(yīng)的,cuda我沒有選最新的,怕有坑我選的是cuda8.0,至于cudnn要選擇什么對應(yīng)的版本可以再(https://developer.nvidia.com/cudnn)查看,下面也會細講

1.gcc版本控制

因為gcc5及以后在編譯的時候要做一些其他操作,如下官網(wǎng)所述


圖一

所以我是為了快速配好就將gcc降級,降到4.9,執(zhí)行下列操作

sudo apt-get install g++-4.9
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 20
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 10
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.9 20
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 10
sudo update-alternatives --install /usr/bin/cc cc /usr/bin/gcc 30
sudo update-alternatives --set cc /usr/bin/gcc
sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/g++ 30
sudo update-alternatives --set c++ /usr/bin/g++
2.cuda 8.0安裝

tensorflow安裝頁面可以看到下面圖片,官方推薦cuda選擇8.0以上版本,cudnn選擇6.0以上版本(cudnn至于具體選哪個下面再講)

圖二

cuda下載地址:https://developer.nvidia.com/cuda-downloads
打開后一般是下載最新cuda的界面如下

圖三

選擇legacy releases可以查看以前版本的cuda
圖四

這里選擇的是8.0版本,點擊出現(xiàn)下面界面后選擇對應(yīng)的版本的deb[local]包即可下載(使用deb包安裝會比較方便)
圖五

下載好deb安裝包后執(zhí)行下列三個命令即可安裝完成
圖六

這時候cuda已經(jīng)安裝好了,安裝在/usr/local/cuda
2.1環(huán)境變量設(shè)置
在文件~/.bashrc中設(shè)置環(huán)境變量,在該文件的最后加上下面兩行

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

2.2檢查cuda是否安裝正確
cd到/usr/loca/cuda/bin/(cuda的安裝目錄,這個是默認(rèn)的,也許你的不同),運行cuda-install-samples-7.5.sh ./ ,表示在當(dāng)前文件夾下安裝samples,然后進入NVIDIA_CUDA-7.5_Samples下make
make成功后cd到NVIDIA_CUDA-7.5_Samples/bin/x86_64/linux/release下,運行./deviceQuery看是否安裝成功
運行./bandwidthTest看顯卡和cuda有沒有連接成功

3.cudnn 6.0安裝

cudnn的下載需要登錄才能獲取,沒有其他要求
下載地址:https://developer.nvidia.com/cudnn
登錄后,和cuda一樣,顯示的是下載最新版本

圖七

點擊archived cudnn releases會顯示舊版本的下載,這里選擇的是for cuda8.0,cudnn6.0(我之前裝過5.0,到后面編譯會出錯,后面改成了6.0)
圖八

下載好cudnn后,執(zhí)行下面語句
比如我下載地址為~/Downloads/cudnn-8.0-linux-x64-v6.0.tgz,

cd  ~/Downloads/
tar xvzf /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*

到這里cudnn就配置好了

4.其他軟件的安裝

在編譯tensorflow之前官網(wǎng)所述,還要安裝bazel和一些python庫

圖九

4.1bazel安裝
bazel的官方安裝文檔,在里面可以看到,它可以通過apt安裝,按照下圖執(zhí)行即可安裝完成
圖十

4.2python一些庫的安裝
這部分安裝在tensorflow官網(wǎng)也有,如下圖
圖十一

5.tensorflow編譯

到這里依賴都安裝好了,下面是源碼編譯tensorflow
1.從github獲取tensorflow

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

2.配置

cd tensorflow  # cd to the top-level directory created
./configure

這里配置官網(wǎng)提供了一張圖,安裝官網(wǎng)配置就可以


圖十二

3.編譯
運行下列語句即可,第二句中的路徑/tmp可以自己改,我就放在/tmp中

 bazel build --config=opt --config=cuda //tensorflow/tools/pip_package:build_pip_package
 bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg

4.安裝
運行下面語句,語句中的路徑/tmp就是上個步驟的路徑,tensorflow-1.10.0-py2-none-any.whl中的版本號可以從/tmp中查看,用你自己的版本號即可

sudo pip install /tmp/tensorflow_pkg/tensorflow-1.10.0-py2-none-any.whl

到這里tensorflow就安裝完成了

可以在終端輸入python,然后在python環(huán)境中輸入下列語句,查看tensorflow是否正確安裝

import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(hello))

如果能成功輸出Hello, TensorFlow!,說明安裝成功了

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容