Ubuntu16.04 + cuda9.0 + cudnn_v7 + tensorflow-gpu + opencv3.4.2
阿新 • • 發佈:2018-11-08
Ubuntu16.04 + cuda9.0 + cudnn_v7 + tensorflow-gpu + opencv3.4.2
版權宣告:本文為博主原創文章,未經博主允許不得轉載。https://blog.csdn.net/qq_26239525/article/details/82714116
先參考部落格 ,配置基本的ubuntu環境:
ubuntu 16.04 系統安裝、環境配置:https://blog.csdn.net/qq_26239525/article/details/82316493
系統環境:
Ubuntu系統:16.04
NVIDIA顯示卡:GeForce GTX TITAN X
安裝過程:
1.安裝依賴項
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler sudo apt-get install --no-install-recommends libboost-all-dev sudo apt-get install libopenblas-dev liblapack-dev libatlas-base-dev sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
2.安裝顯示卡驅動
開啟系統設定->軟體和更新->附加驅動:
選擇第一個nvidia-384驅動,應用更改,安裝完成之後,在終端輸入:
nvidia-smi # 檢視GPU和驅動程式資訊,若顯示GPU資訊,則表示驅動安裝成功
3.安裝cuda9.0
cuda9.0下載地址:https://developer.nvidia.com/cuda-90-download-archive
按以上五個選項選擇,然後將此檔案下載下來。
終端輸入:
sudo sh cuda_9.0.176_384.81_linux.run
安裝過程中會執行一些確認資訊,其中有一個更新驅動的選項,這個選擇否。因為前邊驅動我們已經正確安裝。
等待安裝完成,
配置環境變數:
sudo gedit ~/.bashrc
將以下內容寫入到~/.bashrc尾部:
export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
在終端執行命令
source ~/.bashrc
讓配置立即生效
測試CUDA的sammples:
cd /usr/local/cuda-9.0/samples/1_Utilities/deviceQuery #由自己電腦目錄決定
sudo make
sudo ./deviceQuery
4.安裝cudnn
https://developer.nvidia.com/rdp/cudnn-archive 下載cudnn(需要註冊賬號登入):
下載好cudnn-9.0-linux-x64-v7.tgz之後:
cd ~/下載
tar zxvf cudnn-9.0-linux-x64-v7.tgz
cd cuda/include/
sudo cp cudnn.h /usr/local/cuda/include/ #複製標頭檔案
再將cd進入lib64目錄下的動態檔案進行復制和連結:
cd cuda/lib64/
sudo cp lib* /usr/local/cuda/lib64/ #複製動態連結庫
cd /usr/local/cuda/lib64/
sudo rm -rf libcudnn.so libcudnn.so.7 #刪除原有動態檔案
sudo ln -s libcudnn.so.7.0.5 libcudnn.so.7 #生成軟銜接(注意這裡要和自己下載的cudnn版本對應,可以在/usr/local/cuda/lib64下檢視自己libcudnn的版本)
sudo ln -s libcudnn.so.7 libcudnn.so #生成軟連結
安裝完成。
5.安裝anaconda + tensorflow-gpu
下載anaconda:https://www.anaconda.com/download/#linuxpython
終端輸入:
bash Anaconda3-5.2.0-Linux-x86_64.sh
然後執行安裝:
安裝完成後,終端輸入:
anaconda-navigator
開啟anaconda
如果報錯沒有此命令,需要新增路徑:
(https://docs.anaconda.com/anaconda/faq#distribution-faq-linux-path)
開啟anaconda,建立環境tensorflow-gpu:
安裝包tensorflow-gpu版本,右鍵可以選擇更改版本,這裡我選擇的是1.5.0版本。
等待安裝完成後,可以安裝vscode和jupyter軟體。
測試一下,在python環境中輸入:
import numpy
import tensorflow as tf
a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2, 3], name='a')
b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[3, 2], name='b')
c = tf.matmul(a, b)
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
print(sess.run(c))
之後就會出現詳細的資訊:
Device mapping:
/job:localhost/replica:0/task:0/device:GPU:0 -> device: 0, name: Tesla K40c, pci bus
id: 0000:05:00.0
b: /job:localhost/replica:0/task:0/device:GPU:0
a: /job:localhost/replica:0/task:0/device:GPU:0
MatMul: /job:localhost/replica:0/task:0/device:GPU:0
[[ 22. 28.]
[ 49. 64.]]
就能看到是GPU在工作還是CPU再工作了。
6.安裝opencv3.4.2
參考部落格:Ubuntu16.04 + 原始碼編譯OpenCV3.4.2
本文內容所參考的一些部落格: