1. 程式人生 > >deepin15.8+NVIDIA_390.87+cuda9.0+cudnn7.4+tensorflow-gpu_1.9配置血淚史

deepin15.8+NVIDIA_390.87+cuda9.0+cudnn7.4+tensorflow-gpu_1.9配置血淚史

就在剛剛,我完成了一波騷配置,tensorflow-gpu終於能用了
在這裡插入圖片描述
從新電腦到手開始安裝Linux系統,到現在,過去了整整兩天,充滿了血與淚。


1.安裝deepin 15.8

之前想裝Ubuntu 18.04,但是各種騷問題:Firefox卡住、xserve不存在等。於是在遼的慫恿下,我換了deepin國產作業系統,果然好用的飛起,省去了小白很多的配置時間。
下載好系統後用官方提供的工具製作啟動盤,進入BIOS中設定啟動順序,把U盤啟動排在第一位。
一路確定點下來,分割槽,選擇“高階”選項卡。
我的電腦有240G ssd,分120G給deepin。顯示可用空間122881M,首先分105697M給主分割槽“/”,ext-4,然後分16384M給swap空間,分800M給引導項“/boot”。

1.安裝NVIDIA驅動

首先要確認自己的Secure Boot(在bios中設定)是disable的

https://www.geforce.cn/drivers
在這裡插入圖片描述
按照自己顯示卡的配置進行搜尋

在這裡插入圖片描述
配置不用選太高,410的驅動裝好後對應的是cuda10,這個就很難配置了。(此處有淚)

下載好後,加上執行許可權,禁用nouveau第三方驅動
開啟編輯配置檔案: sudo gedit /etc/modprobe.d/blacklist.conf
在最後一行新增:blacklist nouveau
改好後執行命令:sudo update-initramfs -u
重啟使之生效:reboot

執行命令:lsmod | grep nouveau
檢視nouveau是否被禁用。

關閉xsercive:
service lightdm stop

執行:
./NVIDIA-Linux-x86_64-390.25.run --no-opengl-files
--no-opengl-files 很重要,沒有的話大概會迴圈登入

安裝中:
1.
The distribution-provided pre-install script failed! Are you sure you want to continue? 選擇 yes 繼續。
Would you like to register the kernel module souces with DKMS? This will allow DKMS to automatically build a new module, if you install a different kernel later? 選擇 No 繼續。
2.
Nvidia’s 32-bit compatibility libraries? 選擇 Yes 繼續。(中間幾個按照預設的來)
3.
Would you like to run the nvidia-xconfigutility to automatically update your x configuration so that the NVIDIA x driver will be used when you restart x? Any pre-existing x confile will be backed up. 選擇 no

繼續!
最後一部要注意,因為驅動會建立一個/etc/X11/xorg.conf檔案,屬於root使用者。導致普通使用者的tty1圖形介面無法啟動,黑屏。
解決方法:rm /etc/X11/xorg.conf

安裝完畢,輸入: service lightdm start 回到tty1

輸入:nvidia-smi
如果:
在這裡插入圖片描述
則成功

安裝cuda9.0

https://developer.nvidia.com/cuda-90-download-archive

在這裡插入圖片描述
按如上方式下載

注:由於CUDA 9.0僅支援GCC 6.0及以下版本,而Ubuntu 18.04預裝GCC版本為7.3,故手動安裝gcc-6與g+±6:

sudo apt-get install gcc-6 g++-6

之後切換至/usr/bin目錄修改符號連結,使GCC 6成為預設使用版本:

cd /usr/bin
sudo rm gcc
sudo ln -s gcc-6 gcc
sudo rm g++
sudo ln -s g++-6 g++

檢視當前gcc和g++版本:gcc -v g+±6 -v
在這裡插入圖片描述
進入tty2,關閉xservice,安裝下載好的.run程式。
安裝完畢後,配置環境變數。

gedit ~/.bashrc

在末尾加上:

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

輸入: source ~/.bashrc
生效。

新建一個控制檯,輸入:nvcc -V
如果:
在這裡插入圖片描述
成功。

安裝cudnn7.4

cudnn需要註冊NVIDIA賬號才能下載。但是有個問題就是剛註冊進去沒問題,但是如果登入就在網站卡主了,我不知道是不是沒科學上網的原因。
費勁心機終於把cuda9.0對應的cudnn7.4下好了,開幹:
解壓,cd到cuda的上級目錄,
執行下列程式碼:

tar -zxvf cudnn-9.0-linux-x64-v7.1.tgz 
sudo cp cuda/include/cudnn.h /usr/local/cuda/include/ 
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/ -d 
sudo chmod a+r /usr/local/cuda/include/cudnn.h 
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*

配置環境變數:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64”
export CUDA_HOME=/usr/local/cuda
export PATH="$CUDA_HOME/bin:$PATH"

安裝anaconda

直接下載安裝就好。有個坑就是如果一直按預設的配置走下去,最後一個選項(大概就是說什麼環境變數的)要選yes,這樣安裝程式可以自動的幫你配置環境變數,
否則就要手動配置了:
執行 gedit ./bashrc
新增 export PATH=/home/s10/tools/anaconda/3/bin:$PATH
啟用 source ./bashrc

給pip配置清華源:

pip install pip -U
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

給conda配置一個虛擬環境:

conda create -n tf python=3.6

其中tf是環境名。選擇Python3.6,相容性好。
配置完成後,啟用變數:

[email protected]:~$ conda activate tf

在這裡插入圖片描述
帶上“小紅帽”(tf),啟用成功。//從此我們都是tfboy
啟用tf環境後,在當前環境下,使用pip安裝tensorflow-gpu:
pip install tensorflow-gpu==1.9

在pycharm中執行

給pycharm配置Python直譯器:
在這裡插入圖片描述
選擇 tf 環境所在的目錄
執行,報錯:
ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directory
解決方法:
執行

sudo ldconfig /usr/local/cuda-9.0/lib64

終於成功了……