一定不要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。
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/