1. 程式人生 > >Ubuntu16.04 + cuda9.0 + cudnn_v7 + tensorflow-gpu + opencv3.4.2

Ubuntu16.04 + cuda9.0 + cudnn_v7 + tensorflow-gpu + opencv3.4.2

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

本文內容所參考的一些部落格:

ubuntu 16.04 系統安裝、環境配置:https://blog.csdn.net/qq_26239525/article/details/82316493
ubuntu16.04下安裝CUDA cuDNN及tensorflow-gpu版本及caffe-gpu過程:https://blog.csdn.net/xinyuanjoe/article/details/78679884
確定自己的TensorFlow是CPU還是GPU的版本:https://blog.csdn.net/zlase/article/details/79261348