本人電腦環境rtx1660ti + gtx720m,因爲要學習深度學習方面東西,需要配置相應環境。之前配置ubuntu16.04,因爲內核版本太低,無法使用wifi(可能提升內核版本也可以,沒做嘗試)。爲了能解決wifi使用問題,以及使用更新版本的系統,準備配置ubuntu18.04,配置好之後,不僅wifi鏈接解決了,感覺Ubuntu18.04無論從界面設置、功能以及用戶體驗方面,明顯比Ubuntu16.04要好用很多啊。
一、確認版本對應關係
1. ubuntu版本對應內核版本
1)想查看內核版本,可以用命令 uname -r
root@zfy-N9x0TC:/home/zfy# uname -r
5.0.0-36-generic
想查看Ubuntu的版本,可以用命令
lsb_release -a
root@zfy-N9x0TC:/home/zfy# uname -r
5.0.0-36-generic
root@zfy-N9x0TC:/home/zfy# ^C
root@zfy-N9x0TC:/home/zfy# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04.3 LTS
Release: 18.04
Codename: bionic
2). 查詢當前gcc版本:
gcc -v
root@zfy-N9x0TC:/home/zfy# gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/7/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Thread model: posix
gcc version 7.4.0 (Ubuntu 7.4.0-1ubuntu1~18.04.1)
如果沒有的話,會顯示命令不存在,可以根據提示安裝。
2). 查看glibc版本方法有兩種:
第一種爲:ldd --version;
root@zfy-N9x0TC:/home/zfy# ldd --version
ldd (Ubuntu GLIBC 2.27-3ubuntu1) 2.27
第二種方法爲:getconf GNU_LIBC_VERSION。
2. cuda與顯卡驅動的版本對應關係:
二、準備cuda以及cudnn軟件
1.nvidia顯卡驅動通過聯網下載;
2.cuda下載界面
3.cudnn下載界面
ubuntu18.04
https://www.cnblogs.com/FromATP/p/10854142.html
三.開始安裝
1、安裝Nivida顯卡驅動
1)禁用顯卡驅動
查看nouveau驅動是否被禁用(https://blog.csdn.net/vslyu/article/details/80368564)
nouveau驅動是Ubuntu系統上面自帶的驅動,要想使用NVIDIA的顯卡驅動,必須先禁用掉Ubuntu自帶的該nouveau驅動,禁用的具體操作參看參見https://www.jianshu.com/p/5b708817f5d8。輸入lsmod|grep nouveau命令進行查看確認即可:
$ lsmod | grep nouveau
如果有輸出,說明還沒禁用,進行下面操作。
$ sudo nano /etc/modprobe.d/blacklist.conf
方法1. 禁止集成的nouveau驅動(https://blog.csdn.net/tianrolin/article/details/52830422)
Ubuntu系統集成的顯卡驅動程序是nouveau,它是第三方爲NVIDIA開發的開源驅動,我們需要先將其屏蔽才能安裝NVIDIA官方驅動。
將驅動添加到黑名單blacklist.conf中,但是由於該文件的屬性不允許修改。所以需要先修改文件屬性。
查看屬性
$sudo ls -lh /etc/modprobe.d/blacklist.conf
修改屬性
$sudo chmod 666 /etc/modprobe.d/blacklist.conf
用gedit編輯器打開
$sudo gedit /etc/modprobe.d/blacklist.conf
在該文件後添加一下幾行:
blacklist vga16fb
blacklist nouveau
blacklist rivafb
blacklist rivatv
blacklist nvidiafb
最下面的blacklist等語句顯示nouveau驅動已被成功屏蔽掉。
將文件屬性重新修改回去
zfy@zfy-N9x0TC:~$ sudo chmod 644 /etc/modprobe.d/blacklist.conf
更新系統:
$ sudo update-initramfs -u
重啓系統, 再次查看集成顯卡狀態,lsmod | grep nouveau,無輸出,則禁止成功.
zfy@zfy-N9x0TC:~$ lsmod | grep nouveau
方法2.禁用nouveau驅動(https://blog.csdn.net/qq_15933615/article/details/79600525)
終端中運行:
$ lsmod | grep nouveau
如果有輸出,則代表nouveau正在運行, 需要我們手動禁掉nouveau。
在/etc/modprobe.d中創建文件blacklist-nouveau.conf
$ sudo touch /etc/modprobe.d/blacklist-nouveau.conf
$ sudo gedit /etc/modprobe.d/blacklist-nouveau.conf
在文件中輸入以下內容:
blacklist nouveau
options nouveau modeset=0
2)更新系統:
$ sudo update-initramfs -u
重啓後查看nouveau是否已經成功禁用,無輸出則爲成功:
$ lsmod | grep nouveau
這時,我們已經成功禁用了nouveau,無輸出
3)添加NVIDIA顯卡驅動的ppa庫
通過ppa的方式安裝私有的NVIDIA顯卡驅動,注意不要從NVIDIA官網下載驅動進行安裝(姑且選擇這種方法進行安裝,不明白爲什麼):
zfy@zfy-N9x0TC:~$ sudo add-apt-repository ppa:graphics-drivers/ppa
zfy@zfy-N9x0TC:~$ sudo apt-get update
5. 尋找合適的驅動版本(https://blog.csdn.net/h19930329/article/details/82534871)
ubuntu-drivers devices
zfy@zfy-N9x0TC:/home/zfy# ubuntu-drivers devices
== /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 ==
modalias : pci:v000010DEd00002191sv00001558sd0000951Dbc03sc00i00
vendor : NVIDIA Corporation
driver : nvidia-driver-435 - distro non-free
driver : nvidia-driver-440 - third-party free recommended
driver : nvidia-driver-430 - distro non-free
driver : xserver-xorg-video-nouveau - distro free builtin
6. 安裝顯卡驅動
sudo ubuntu-drivers autoinstall
或者選擇自己想安裝的版本
sudo apt install nvidia-430
安裝完成後 查看顯卡信息
nvidia-smi
zfy@zfy-N9x0TC:/home/zfy# nvidia-smi
Thu Nov 28 22:38:00 2019
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 440.26 Driver Version: 440.26 CUDA Version: 10.2 |
|-------------------------------+----------------------+----------------------+
| 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 GTX 166... Off | 00000000:01:00.0 Off | N/A |
| N/A 35C P8 5W / N/A | 221MiB / 5944MiB | 5% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 1265 G /usr/lib/xorg/Xorg 121MiB |
| 0 1723 G /usr/bin/gnome-shell 95MiB |
| 0 4040 G /usr/lib/firefox/firefox 1MiB |
+-----------------------------------------------------------------------------+
2.安裝cuda
1)首先需要安裝lightdm,主要是用來關閉啓動圖形界面用,也可以用別的命令。
sudo apt-get install lightdm
)
2)去官網下載:https://developer.nvidia.com/cuda-downloads
注意一定要下載runfile。
Ctrl-Alt+F1 進入命令行界面
cd Downloads
sudo service lightdm stop #禁用X服務
sudo /etc/init.d/lightdm stop #一樣的命令
chmod +x ./
cuda_10.1.105_418.39_linux.run #
給文件添加運行權限:
sudo sh cuda_10.1.105_418.39_linux.run --no-opengl-libs
該安裝會進入選擇界面,將nvidia驅動勾去除,選擇install即可。
sudo /etc/init.d/lightdm start #啓用服務
reboot
重啓之後進入修改環境配置
sudo gedit ~/.bashrc
加入:
export PATH=/usr/local/cuda-10.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
執行:
source ~/.bashrc
3)測試安裝是否成功:
cd /usr/local/cuda-10.0/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery
顯示gpu信息,說明安裝成功。
3. 配置cuDNN
1) 官網下載:https://developer.nvidia.com/rdp/cudnn-download
註冊賬號之後,下載對應版本的cudnn
下載完直接解壓,解壓會出現一個cuda文件夾,裏面有兩個文件include 和 lib64,把裏面的文件copy到/usr/local/cuda/裏面相應的目錄裏。 如果你就在local下解壓的就不要移動了。只需要給文件加讀權限即可!
cd Downloads
2)解壓
tar -xzvf cudnn-10.0-linux-x64-v7.6.3.30.tgz
3)把include/ 和 lib64/目錄下的文件拷貝到cuda的安裝目錄下的include/ 和 lib64裏面
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*
4)驗證cudnn是否安裝成功
查看cudnn版本
在終端輸入
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
如果出現版本信息,說明安裝成功。
三、tensorflow、python對應版本
https://tensorflow.google.cn/install/source#gpu_support_2
https://www.cnblogs.com/mypath/articles/7877493.html