詳解ubuntu18.04+GTX960m的440版本驅動+python3.6+anaconda+ cuda9.0+cudnn7.6.5+pycharm+tensorflow1.12.0

寫在前面的話

如果有想簡單安裝的小夥伴,請直接從後面安裝tensorflow開始看。。。因爲用conda安裝會特別簡單…

1、安裝顯卡驅動

在軟件商店的右上角位置點擊軟件和更新
在這裏插入圖片描述
找到附加驅動,選擇這個

在這裏插入圖片描述
然後點擊應用更改。
查閱資料發現,X.org適合老版顯卡,所以最好裝閉源驅動。
查看可以用的驅動:ubuntu-drivers devices
選擇推薦的440。
在這裏插入圖片描述
檢查:

sudo /usr/bin/nvidia-settings

提示:在這裏插入圖片描述根據博客Dell-1080Ti 深度學習Win 10 + Ubuntu 16.04.02 雙系統安裝+anaconda2+tensorflow+opencv3.2+caffe,prime是軟件選擇獨顯還是集成顯卡,這裏不影響使用。

2、cuda安裝

cuda簡介

何爲cuda?
CUDA(Compute Unified Device Architecture)是一個新的基礎架構,這個架構可以使用GPU來解決商業、工業以及科學方面的複雜計算問題。它是一個完整的GPU解決方案,提供了…基於CUDA開發的程序代碼在實際執行中分爲兩種,一種是運行在CPU上的宿主代碼(Host Code),一種是運行在GPU上的設備代碼(Device Code)…
詳見哪些NVIDIA顯卡支持CUDA技術? CUDA技術是什麼,視頻轉換提速啦
查看顯卡型號:lspci | grep -i nvidia
我的顯卡是GTX960m
選擇cuda9系列
根據下圖在這裏插入圖片描述再結合之前選擇的顯卡驅動版本440,因此我可以選擇的cuda版本爲7-9.2
在這裏插入圖片描述由上圖,cuda9官方提示支持ubutnu16.17。查閱資料,高版本可以兼容第版本,所以選擇版本的時候可以選擇16.04。

我選擇的是cuda9.1(ps:建議不要選擇9.1,因爲cudnn18年以後不提供這個版本的更新cudnn包,建議選擇9.2或9.0。下面已經改成9.0)
在這裏插入圖片描述下方的這三個都需要需要下載,第一個是主文件,下面三個是補丁。
在這裏插入圖片描述下載完成,先關機再開機看看有沒有什麼異常。。。
可以啓動。。。

(1)、gcc降級

由於9.1版本cuda不支持ubutnu預裝的gcc7,所以需要降級gcc

sudo apt-get install gcc-6#安裝6
sudo apt-get install g++-6
cd /usr/bin
ls -l gcc* 
sudo mv gcc gcc.bak #備份
sudo ln -s gcc-6 gcc #重新鏈接
sudo mv g++ g++.bak#備份
sudo ln -s g++-6 g++#重新鏈接

進入下載的cuda文件終端,運行

(2)、安裝cuda

sudo sh cuda_9.1.85_387.26_linux.run

接下來會顯示一個文檔界面,需要一直按空格讀完。
最後會有讓你選擇的命令
在這裏插入圖片描述ps:由上圖可知,cuda文件夾裏的東西是cuda-9.1的link。

因爲這裏我們之前已經裝了顯卡驅動,所以在是否安裝驅動那裏選擇no。
等待安裝…
然後繼續安裝補丁

sudo sh cuda_9.1.85.1_linux.run
sudo sh cuda_9.1.85.2_linux.run
sudo sh cuda_9.1.85.3_linux.run

(3)、添加環境變量

sudo vim ~/.bashrc

在家目錄下添加進環境變量

export PATH=/usr/local/cuda-9.1/bin${PATH:+:$PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-9.1/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

添加在最後即可
保存後

source ~/.bashrc

(4)、測試cuda

測試cuda:
在/usr/local/cuda-9.1/samples/終端中執行

sudo make

make的基本用處是自動根據makefile裏的指令來編譯源文件.

這個過程大約需要10分鐘以上。
運行結束後,進入/usr/local/cuda-9.1/samples/1_Utilities終端
運行

./deviceQuery/deviceQuery 

最後 nvcc -V
結果如下:在這裏插入圖片描述
安裝成功

3、安裝cuDNN

cuDNN簡介

什麼是cuDNN?
NVIDIA cuDNN是用於深度神經網絡的GPU加速庫。它強調性能、易用性和低內存開銷…
什麼是CUDA與CUDNN
tensorflow、CUDA、Cudnn版本對應關係

(1)、版本選擇

下載對應cuda版本的cudnn
https://developer.nvidia.com/rdp/cudnn-download
在這裏插入圖片描述點擊Archived Releases
在這裏插入圖片描述安裝cuda版本爲9.1,因此此處選擇for 9.1。選擇for linux版本。

(2)、安裝

解壓後複製文件到cuda安裝位置。

sudo cp -P cuda/lib64/libcudnn* /usr/local/cuda-9.1/lib64/
sudo cp  cuda/include/cudnn.h /usr/local/cuda-9.1/include/

增加讀寫權限

sudo chmod a+r /usr/local/cuda-9.1/include/cudnn.h
sudo chmod a+r /usr/local/cuda-9.1/lib64/libcudnn*

4、安裝Anaconda

Anaconda簡介

Anaconda是什麼?
1、Anaconda指的是一個開源的Python發行版本,其包含了conda、Python等180多個科學包及其依賴項…anaconda (開源的Python包管理器)
2、Anaconda是一個方便的python包管理和環境管理軟件,一般用來配置不同的項目環境。
我們常常會遇到這樣的情況,正在做的項目A和項目B分別基於python2和python3,而第電腦只能安裝一個環境,這個時候Anaconda就派上了用場,它可以創建多個互不干擾的環境,分別運行不同版本的軟件包,以達到兼容的目的…Anaconda簡單入門
3、關於conda和anaconda不可不知的誤解和事實——conda必知必會

(1)、版本選擇及安裝

官網地址
https://www.anaconda.com/distribution/
由於我的電腦python爲3.6,但是在官網上只有3.7和2.7版本,因此需要通過歷史文件安裝。如下:
https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
版本選擇中參見Anaconda python3.6版本安裝,即選擇Anaconda 5.2。
!!!此處注意,需要下載3-5.2,因爲2-5.2安裝的是python2.7…入坑。以下是2-5.2安裝過程,3-5.2步驟一致。
(ps:卸載只需要卸載家目錄下自己用戶名下的anaconda,然後把環境變量中新增加的刪掉,再重啓服務:source ~/.bashrc 就可以)

在這裏插入圖片描述下載完畢後在文件所在終端執行:
bash Anaconda2-5.2.0-Linux-x86.sh
之後也是需要空格讀完須知,然後一些交互界面,填yes和enter就可以。
在這裏插入圖片描述這裏提示是否安裝vs,選擇no(因爲我有pycharm)
最後需要加入環境變量,這樣python才能查看conda版本號,以及查看現在python版本,注意ubuntu自帶python是python3才能執行。

export PATH="/home/xiaoshumiao/anaconda2/bin:$PATH"

!!!ps:在重新安裝的anaconda3中,會自動提示是否加入環境變量。輸入yes即可。
然後重開一個終端,或者source ~/.bashrc 就可以。

get.

(2)、更改軟件源

爲其添加國內源。
直接在家目錄終端運行以下即可:

conda  config  --add  channels  https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
conda  config  --add  channels  https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
conda  config  --add  channels  https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r

現在用的都是anaconda的pip,和python。爲pip添加國內源:
如果沒有~/.pip/pip.conf這個文件,可以創建一個。注意,首先創建一個文件夾:

mkdir .pip
sudo vi  ~/.pip/pip.conf

在文本中輸入

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host=https://pypi.tuna.tsinghua.edu.cn

更新conda

conda update conda

5、安裝tensorflow

(1)、版本選擇

tensorflow是什麼相信不用說了。
https://tensorflow.google.cn/install/source#linux這裏可以看到對應的版本

在這裏插入圖片描述確認需要安裝的版本是tensorflow1.12

(2)、創建虛擬環境

創建虛擬環境,對的。是虛擬環境,anaconda可以創建互不影響的python環境,也就是說你的tensorflow只會安裝在你指定的虛擬環境中。這裏創建的虛擬環境名字叫tensorflow_gpu

conda create -n tensorflow_gpu python=3.6

激活虛擬環境(tensorflow)

source activate tensorflow_gpu

用conda安裝tensorflow

conda install tensorflow-gpu==1.12

(3)、小插曲

!!!wc,用anaconda真的可以只安裝tensorflow就可以,因爲cuda和cudnn他自動給你安裝了。。。
好奇,因此,爲了不讓自己這麼長時間白費,我決定卸載,用pip之狀tensorflow,噗…一口老血

保險期間我把這個虛擬環境刪除了。
查看虛擬環境:conda info -e
在這裏插入圖片描述
可。

(4)、pip安裝tensorflow


http://mirrors.aliyun.com/pypi/simple/tensorflow-gpu/
中下載whl文件,cp36就是python3.6的意思。

下載後在新建的虛擬環境中用pip安裝:

pip install /home/xiaoshumiao/tensorflow_gpu-1.12.0-cp36-cp36m-manylinux1_x86_64.whl 

退出虛擬環境:

source deactivate tensorflow_gpu

6、pycharm測試

環境選擇已經存在的這個虛擬環境
在這裏插入圖片描述/home/xiaoshumiao/anaconda3/envs/tensorflow_gpu/bin/python

7、問題及解決

在這裏插入圖片描述不兼容,,,重裝cuda9.0。。。(事實證明可能並不是這個原因)

卸載:

sudo /usr/local/cuda-9.1/bin/uninstall_cuda_9.1.pl
sudo rm -rf /usr/local/cuda-9.1

以同樣方式安裝cuda19.0 還是一樣問題…

但是偶然發現,不對啊,僅僅是import就會出現這個問題,還沒有檢驗呢。
一個偶然的機會,看到了一個教程。
!!!
sudo ldconfig /usr/local/cuda/lib64
然後再運行檢測代碼
可。

9、代碼方面

GPU介紹及TensorFlow如何使用GPU跑程序
tensorflow的GPU加速計算
總結
最後建議
1.安裝tensorflow 0系列(保險起見,當然,沒有道理…)
2.要選擇cudnn一直更新且成熟的cuda
3.環境變量以及sudo ldconfig /usr/local/cuda/lib64
4.我的安裝配置是

9、安利

最後安利下,我的ubutnu是安裝在移動硬盤中的,如果感興趣這個方案,可以去看我的另一篇博客,或許能少走彎路
移動硬盤SSD安裝ubuntu18.04

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章