深度學習框架搭建ubuntu16.04LTS+NVIDIA+cuda+cudnn+mxnet+tensorflow+anaconda和pycharm虛擬環境配置

參考
https://blog.csdn.net/wf19930209/article/details/81877822
http://blog.csdn.net/fdqw_sph/article/details/78745375
http://blog.csdn.net/wiinter_fdd/article/details/66523468
http://blog.csdn.net/liangyihuai/article/details/77842628
https://mxnet.incubator.apache.org/install/index.html
http://www.lxweimin.com/p/9ba7b257c91c
Nvidia驅動另一種安裝方法
https://blog.csdn.net/tjuyanming/article/details/80862290
卸載方法:
https://blog.csdn.net/l297969586/article/details/67632608
https://blog.csdn.net/FIELDOFFIER/article/details/54017297

使用軟件版本:cuda9.0,cudnn7.0.x堅決不用7.1!

系統安裝

問題1:雙顯卡電腦啟動會黑屏
解決方法:

  • 在引導界面,按e進入grub編輯界面,在quiet splash 后面添加 acpi_osi=linux nomodeset
  • 按F10接著引導啟動
  • 進入登錄界面,輸入用戶名密碼,進入主界面,在命令行輸入代碼
sudo vim /etc/default/grub

找到 quiet splash 后面添加 acpi_osi=linux nomodeset
按:wq保存

sudo update-grub

重啟即可

下載安裝包

查看自己gpu顯卡型號

lspci | grep -i nvidia

驅動管網上下載安裝包NVIDIA-Linux-x86_64-390.25.run
網址http://www.nvidia.cn/page/home.html

下載cuda_9.1.85_387.26_linux.run
網址https://developer.nvidia.com/cuda-downloads

image.png

注意下載runfile文件

下載cudnn-9.1-linux-x64-v7.1.tgz 需要注冊登錄后才可以下載,cudnn版本一定要支持cuda版本
網址https://developer.nvidia.com/cudnn

nvidia 驅動安裝

禁用nouveau

ubuntu自帶的nouveau驅動會影響cuda安裝,不當操作會導致黑屏和登陸循環。參考https://linuxconfig.org/how-to-disable-nouveau-nvidia-driver-on-ubuntu-18-04-bionic-beaver-linux

安裝中遇到的問題:安裝驅動會無限循環登錄界面

解決方法:在登錄界面按住ctril+alt+F1 進入tty界面輸入用戶名和密碼登錄,卸載原有NVIDIA驅動

sudo apt-get remove --purge nvidia-*
sudo apt-get autoremove
安裝中遇到 unable load Nvidia-drm

在這兩個目錄中找到有關nvidia文件

grep  nvidia /etc/modprobe.d/* /lib/modprobe.d/*

如果有blacklist-nvidia文件,把它刪除
然后運行

sudo update-initramfs -u
sudo reboot
安裝中遇到nvidia-smi 可以使用,但是nvidia-setting不能使用

這是在/etc/default/grub GRUB_CMDLINE_LINUX_DEFAULT 中設置了 acpi_osi=linux nomodeset 的結果
/etc/default/grub刪除該代碼并添加

acpi_rev_override=5 nouveau.runpm=0
sudo update-grub

即可

安裝一些依賴(網上借鑒,個人安裝沒有遇到)

我在安裝過程中遇到下圖中的問題

網上查找發現遇到的人不多,經查找,可能是因為缺少32位的庫文件(我安裝64位的,為啥需要這個。。。暈),需要安裝依賴

sudo apt-get install lib32ncurses5
sudo apt-get install lib32z1
安裝后可解決

然后開始安裝驅動,繼續在tty界面輸入命令

sudo service lightdm stop

(*網上借鑒,個人沒有遇到)此時可能關不了,即使現實該操作OK,但是一會再開啟時會有問題,可以在此基礎上增加操作,手動刪除X圖像界面,圖像界面X在/tmp路徑下,具體操作:

cd /tmp  
sudo rm -rf .X*

這樣就可以把關于X的圖像界面文件全部刪除(每次重啟都會再次生成,所以會在alt+ctrl+f1界面下操作)

安裝nvidia driver

sudo chmod a+x NVIDIA-Linux-x86_64-390.25.run
sudo ./NVIDIA-Linux-x86_64-390.25.run -no-x-check -no-nouveau-check -no-opengl-files
  • –no-x-check 安裝驅動時關閉X服務
  • –no-nouveau-check 安裝驅動時禁用nouveau
  • –no-opengl-files 只安裝驅動文件,不安裝OpenGL文件

提示步驟
Accept->Continue installation->sign the kernel module(為內核模塊簽名)?選擇是->使用已有的密鑰給模塊簽名還是重新生成?選重新生成密鑰->是否刪除已生成的密鑰文件?選擇否->安裝完成

問題:The target kernel has CONFIG_MODULE_SIG set,which means that it supports cryptographic signatures on kernel module. On some systems, the kernel may refuse to load modules without a valid signature from a trusted key.This system also UEFI Secure Boot enabled; many distributions enforce module signature verification on UEFI systems when Secure Boot is enabled. Would you like to sign the NVIDIA kernel module?

解決:禁用UEFI安全啟動功能

啟動電腦,然后按電腦的設置訪問UEFI,本機器按[F2]鍵,不同的制造商可能有不同的設置,具體請參考主板說明書。

根據不同的UEFI版本,安全啟動選項通常在一個選項卡下,這個選項卡可能被命名為“Boot”、“Security”或者“Authentication”,在類似的選項卡中查找,我們會發現一個“Secure Boot”選項,該選項默認設置為“Enabled”,選中它并回車,將其設置為“Disabled”,按[Apply]鍵存儲設置,重新啟動電腦即可安裝我們需要的操作系統。

sudo reboot

進入主界面輸入

nvidia-smi

顯示上圖則說明成功
顯卡切換

prime-select intel
prime-select nvidia

安裝cuda9.1

找到下載文件的路徑

chmod a+x cuda_9.1.85_387.26_linux.run
sudo ./cuda_9.1.85_387.26_linux.run

單擊回車,一路往下運行,直到提示“是否為NVIDIA安裝驅動nvidia-384?”,選擇否,因為已經安裝好驅動程序了,其他的全都是默認,不過要記住安裝位置,默認是安裝在/usr/local/cuda文件夾下。

配置環境變量,運行如下命令打開profile文件

sudo gedit  /etc/profile

打開文件后在文件末尾添加路徑,也就是安裝目錄,命令如下:

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

保存,然后重啟電腦

sudo reboot

測試CUDA的例子

cd  /usr/local/cuda-9.1/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery

如果顯示的是關于GPU的信息,則說明安裝成功了。

最后你會看到cuda驅動、sample、tookit已經安裝成功,但是缺少一些庫。

sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev

環境變量配置

安裝完畢后,再聲明一下環境變量,并將其寫入到 ~/.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}}

然后設置環境變量和動態鏈接庫,在命令行輸入:

sudo gedit /etc/profile

在打開的文件末尾加入:

export PATH=/usr/local/cuda/bin:$PATH

保存之后,創建鏈接文件:

sudo gedit /etc/ld.so.conf.d/cuda.conf

在打開的文件中添加如下語句:

/usr/local/cuda/lib64

然后執行

sudo ldconfig

使鏈接立即生效。

安裝cudnn

繼續Ctrl+alt+F1進入的字符界面
進入解壓后的cudnn-9.1-linux-x64-v7.1.tgz文件cuda,在終端執行下面的指令安裝:

tar -zxvf cudnn-9.1-linux-x64-v7.1.tgz
cd cuda    
sudo cp lib64/lib* /usr/local/cuda/lib64/    
sudo cp include/cudnn.h /usr/local/cuda/include/ 

然后更新網絡連接:

cd /usr/local/cuda/lib64/  
sudo chmod +r libcudnn.so.7.0.3  # 自己查看.so的版本  
sudo ln -sf libcudnn.so.7.0.3. libcudnn.so.7  
sudo ln -sf libcudnn.so.7 libcudnn.so  
sudo ldconfig  

重新啟動圖形化界面

sudo service lightdm start

再Ctrl+alt+F7退出Text Mode。

使用anaconda創建虛擬化環境

conda create -n mxnet python=3.6

激活虛擬化環境

conda activate mxnet

在虛擬化環境中使用pip安裝gpu mxnet
Install MXNet with GPU support using CUDA 9.1

pip install mxnet-cu91

install graphviz(Optional, needed for graph visualization using mxnet.viz package).

sudo apt-get install graphviz
pip install graphviz

Validate the installation by running simple MXNet code described here.

Experimental Choice If You would like to install mxnet with Intel MKL, try the experimental pip package with MKL:

pip install mxnet-cu91mkl

Validate MXNet Installation

python
>>> import mxnet as mx
>>> a = mx.nd.ones((2, 3), mx.gpu())
>>> b = a * 2 + 1
>>> b.asnumpy()
array([[ 3.,  3.,  3.],
       [ 3.,  3.,  3.]], dtype=float32)

運行成功則安裝成功

pycharm 使用虛擬環境

File->setting->Project:XXXX->Project Interperter


image.png

選擇anaconda3/envs/mxnet/bin/python3.6,選擇后系統會load相關的配置,這樣就可以愉快的在PyCharm中使用Anaconda的虛擬環境了。

遇到的坑(沒遇到)

練習的時候需要使用Graphviz這樣一個包,這是一個把數據圖形化的包。但是不管是通過brew brew install graphviz還是Anaconda conda install -c anaconda graphviz安裝,在代碼中始終無法導入。
最后通過查看這里解決。大概的意思是graphviz的conda包并不是一個python包,通過conda install -c anaconda graphviz只是把相關的文件下載下來,還需要通過pip install graphviz 安裝。這樣就能在代碼里順利導入相關的包了。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,983評論 6 537
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,772評論 3 422
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,947評論 0 381
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,201評論 1 315
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,960評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,350評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,406評論 3 444
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,549評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,104評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,914評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,089評論 1 371
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,647評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,340評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,753評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,007評論 1 289
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,834評論 3 395
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,106評論 2 375

推薦閱讀更多精彩內容