Ubuntu GPU配置+tensorflow安裝:cuda8.0 cuDNN6.0 tensorflow-gpu1.4.0

一定不要tensorflow-gpu和tensorflow(cpu版)一起裝,因?yàn)檫@樣裝有個(gè)先后順序問(wèn)題,先安裝tensorflow-gpu再安裝tensorflow,gpu版本直接不能用了???

我是自帶的3.5裝tensorflow-gpu,且主要用它做實(shí)驗(yàn)
anaconda的3.6不怎么用,試驗(yàn)著用,cpu版本tensorflow不在里面裝了,別瞎搞,吃得太飽了?。?!

0.NVIDIA顯卡驅(qū)動(dòng)安裝

lspci | grep -i nvidia
08:00.0 3D controller: NVIDIA Corporation GM108M [GeForce 840M] (rev a2)

GeForce 840M是NVIDIA的一款顯卡,于2014年3月推出。該顯卡采用28納米制程,基于GM108圖形處理器,采用N15S-GT版本,支持DirectX 12.0。它具有384個(gè)著色單元,16個(gè)紋理映射單元和8個(gè)ROP。

NVIDIA已經(jīng)在卡上放置了2,048 MB DDR3內(nèi)存,它們使用64位內(nèi)存接口連接。GPU的工作頻率為1029 MHz,可升至1124 MHz,內(nèi)存運(yùn)行速度為1001 MHz。

作為igp卡,其功耗最高為33 W. 此設(shè)備沒有顯示連接,因?yàn)樗鼪]有設(shè)計(jì)為連接監(jiān)視器。GeForce 840M使用PCI-Express 3.0 x8接口連接到系統(tǒng)的其余部分。

參考https://blog.csdn.net/Knight_vae/article/details/102009020

第一步在設(shè)置中的附加驅(qū)動(dòng)直接選擇nvidia-384(專有,test),我的是這樣,重啟電腦。

輸入 lsmod | grep nouveau,沒有任何輸出說(shuō)明禁用成功。

使用標(biāo)準(zhǔn)Ubuntu倉(cāng)庫(kù)進(jìn)行自動(dòng)化安裝(最簡(jiǎn)單,最推薦)

shen@ubuntu:~$ lsmod | grep nouveau

首先,檢測(cè)你的NVIDIA顯卡型號(hào)和推薦的驅(qū)動(dòng)程序的模型。

shen@ubuntu:~$ ubuntu-drivers devices 
== /sys/devices/pci0000:00/0000:00:1c.4/0000:08:00.0 ==
modalias : pci:v000010DEd00001341sv00001028sd00000656bc03sc02i00
model    : GM108M [GeForce 840M]
vendor   : NVIDIA Corporation
driver   : nvidia-384 - distro non-free recommended
driver   : xserver-xorg-video-nouveau - distro free builtin
driver   : nvidia-340 - distro non-free

nvidia-384 - distro non-free recommended,應(yīng)該本來(lái)就有?nvidia-smi查看驅(qū)動(dòng)是否安裝成功,sudo nvidia-settings查看可視化界面設(shè)置。

shen@ubuntu:~$ sudo ubuntu-drivers autoinstall
[sudo] shen 的密碼: 
正在讀取軟件包列表... 完成
正在分析軟件包的依賴關(guān)系樹       
正在讀取狀態(tài)信息... 完成       
升級(jí)了 0 個(gè)軟件包,新安裝了 0 個(gè)軟件包,要卸載 0 個(gè)軟件包,有 85 個(gè)軟件包未被升級(jí)。
shen@ubuntu:~$ nvidia-smi
Sun Apr  4 17:10:06 2021       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 384.130                Driver Version: 384.130                   |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce 840M        Off  | 00000000:08:00.0 Off |                  N/A |
| N/A   46C    P8    N/A /  N/A |    153MiB /  2002MiB |      5%      Default |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      1497      G   /usr/lib/xorg/Xorg                            66MiB |
|    0      3310      G   compiz                                        24MiB |
|    0      3448      G   fcitx-qimpanel                                 3MiB |
|    0      3716      G   ...AAgAAAAAAAAACAAAAAAAAAA= --shared-files    57MiB |
+-----------------------------------------------------------------------------+

1.cuda了解

支持 CUDA 的 GeForce 和 TITAN 產(chǎn)品

[GeForce 840M] 運(yùn)算能力5.0

nvidia-384 - distro non-free recommended,Driver Version: 384.130

CUDA對(duì)應(yīng)的NVIDIA驅(qū)動(dòng)版本對(duì)照表

CUDA Toolkit           | Linux x86_64 Driver Version    Windows x86_64 Driver Version
CUDA 11.2.2 Update 2    >=460.32.03 >=461.33
......
CUDA 9.1 (9.1.85)   >= 390.46   >= 391.29-----------not
CUDA 9.0 (9.0.76)   >= 384.81   >= 385.54------------not
CUDA 8.0 (8.0.61 GA2)   >= 375.26   >= 376.51----ok
CUDA 8.0 (8.0.44)   >= 367.48   >= 369.30-----------
CUDA 7.5 (7.5.16)   >= 352.31   >= 353.66
CUDA 7.0 (7.0.28)   >= 346.46   >= 347.62

CUDA版本和cuDNN版本,總的來(lái)說(shuō),想要兼容CUDA8,就需要較低版本的cuDNN,

CUDA版本較低必定安裝不了,即tensorflow 1.4及以下的不支持cuda9.0,且tensorflow1.0版本以上是不支持cuda8.0以下。tensorflow-gpu1.5開始不支持使用CUDA8.0,而cuda8.0對(duì)應(yīng)的cuDNN必須是6.0+。
而CUDA版本較高,如tf1.13.1使用CUDA10.1也會(huì)報(bào)錯(cuò)。也就是說(shuō)強(qiáng)烈推薦tf1.5安裝CUDA9.0(別9.x),而CUDA9.0又必須需要cuDNN7+。

————但我只能裝cuda8: CUDA 8.0 (8.0.61 GA2) >= 375.26

安裝

注意:安裝之前一定要先把CUDA和cuDNN的版本搞清楚了,因?yàn)镃UDA與cuDNN的版本必須要和Tensorflow的版本對(duì)應(yīng)上
參照資料,選擇的版本是Tensorflow1.4,cuda8.0,cudnn6.0。


image

CUDA Toolkit 8.0 - Feb 2017
注意:下載runfile(local)文件,ubuntu 16.04 x86_64

下載完成以后,找到CUDA8.0所在位置(我的是放在home目錄下),終端輸入:.

sudo chmod +x cuda_8.0.61_375.26_linux.run
sudo ./cuda_8.0.61_375.26_linux.run

安裝過(guò)程中會(huì)有幾個(gè)選項(xiàng)需要確認(rèn),注意:不要安裝cuda自帶的顯卡驅(qū)動(dòng),其他的直接選y,路徑輸入默認(rèn)值即可

Do you accept the previously read EULA?
accept/decline/quit: accept

Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 375.26?
(y)es/(n)o/(q)uit: n

Install the CUDA 8.0 Toolkit?
(y)es/(n)o/(q)uit: y

Enter Toolkit Location
 [ default is /usr/local/cuda-8.0 ]: 

Do you want to install a symbolic link at /usr/local/cuda?
(y)es/(n)o/(q)uit: y

Install the CUDA 8.0 Samples?
(y)es/(n)o/(q)uit: y

Enter CUDA Samples Location
 [ default is /home/shen ]: 

Installing the CUDA Toolkit in /usr/local/cuda-8.0 ...
Missing recommended library: libXmu.so

Installing the CUDA Samples in /home/shen ...
Copying samples to /home/shen/NVIDIA_CUDA-8.0_Samples now...
Finished copying samples.

===========
= Summary =
===========

Driver:   Not Selected
Toolkit:  Installed in /usr/local/cuda-8.0
Samples:  Installed in /home/shen, but missing recommended libraries

Please make sure that
 -   PATH includes /usr/local/cuda-8.0/bin
 -   LD_LIBRARY_PATH includes /usr/local/cuda-8.0/lib64, or, add /usr/local/cuda-8.0/lib64 to /etc/ld.so.conf and run ldconfig as root

To uninstall the CUDA Toolkit, run the uninstall script in /usr/local/cuda-8.0/bin

Please see CUDA_Installation_Guide_Linux.pdf in /usr/local/cuda-8.0/doc/pdf for detailed information on setting up CUDA.

***WARNING: Incomplete installation! This installation did not install the CUDA Driver. A driver of version at least 361.00 is required for CUDA 8.0 functionality to work.
To install the driver using this installer, run the following command, replacing <CudaInstaller> with the name of this run file:
    sudo <CudaInstaller>.run -silent -driver

Logfile is /tmp/cuda_install_15256.log

配置環(huán)境

安裝完成以后,需要把cuda路徑添加到當(dāng)前用戶的配置文件里:

     sudo gedit ~/.bashrc
 

將安裝路徑添加到文件末尾:

     export PATH=/usr/local/cuda-8.0/bin:$PATH
     export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH

然后執(zhí)行如下命令使路徑生效:

       . ~/.bashrc

驗(yàn)證

shen@ubuntu:~/Desktop$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2016 NVIDIA Corporation
Built on Tue_Jan_10_13:22:03_CST_2017
Cuda compilation tools, release 8.0, V8.0.61

接著嘗試運(yùn)行一下cuda中自帶的例子:

cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery
可以看到輸出成功
  .........
  Compute Mode:
 < Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >

deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 9.0, CUDA Runtime         Version = 8.0, NumDevs = 1, Device0 = GeForce 840M
Result = PASS

2. cuDNN: 官網(wǎng)下載cuda對(duì)應(yīng)版本的cudnn

注意:下載cuDNN v6.0 Library for Linux

下載完成以后將其解壓,在目錄中依次執(zhí)行如下命令(我沒解壓到cuda8.0目錄):

tar -xzvf 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*

3. tensorflow官網(wǎng)有指導(dǎo)

pip安裝

sudo apt-get install python3-pip python3-dev
sudo pip install tensorflow-gpu==1.4.0

卸載方法

sudo pip uninstall tensorflow # for Python 3.n

?。?!anaconda python tensorflow cuda cudnn對(duì)應(yīng)版本很重要

tensorflow要求python3.3-3.6 。自帶3.5,裝個(gè)Anaconda3-5.2.0(python 3.6.5)(啊啊啊其實(shí)如果可能也沒必要?。。?

https://blog.csdn.net/littlehaes/article/details/100575694
https://blog.csdn.net/yuejisuo1948/article/details/81043823

anaconda:https://repo.anaconda.com/archive/

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

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

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