NVIDIA深度神經(jīng)網(wǎng)絡(luò)加速庫(kù)cuDNN軟件安裝教程
為什么需要安裝cudnn
cuDNN的全稱為NVIDIA CUDA? Deep Neural Network library,是NVIDIA專門針對(duì)深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Networks)中的基礎(chǔ)操作而設(shè)計(jì)基于GPU的加速庫(kù)。cuDNN為深度神經(jīng)網(wǎng)絡(luò)中的標(biāo)準(zhǔn)流程提供了高度優(yōu)化的實(shí)現(xiàn)方式,例如convolution、pooling、normalization以及activation layers的前向以及后向過程。
cuDNN只是NVIDIA深度神經(jīng)網(wǎng)絡(luò)軟件開發(fā)包中的其中一種加速庫(kù)。
各深度學(xué)習(xí)框架安裝cuDNN需知
基本上所有的深度學(xué)習(xí)框架都支持cuDNN這一加速工具,例如:Caffe、Caffe2、TensorFlow、Torch、Pytorch、Theano等。
Caffe可以通過修改Makefile.config中的相應(yīng)選項(xiàng)來修改是否在編譯Caffe的過程中編譯cuDNN,如果沒有編譯cuDNN的話,執(zhí)行一些基于Caffe這一深度學(xué)習(xí)框架的程序速度上要慢3-5倍(Caffe官網(wǎng)上說不差多少,明明差很多嘛)。Caffe對(duì)cuDNN的版本不是很嚴(yán)格,只要大于cuDNN 4就可以。
TensorFlow目前的版本r1.2,強(qiáng)行要求裝cuDNN,而且對(duì)版本也有相應(yīng)的限制(cuDNN 5.1)。不過就官方說明看,TensorFlow將在下一個(gè)版本r1.3中加入對(duì)cuDNN 6.0的支持。
Torch通過LuaJit可以自動(dòng)檢測(cè)目前系統(tǒng)中的cuDNN版本來進(jìn)行相應(yīng)的編譯(如沒有cuDNN,也可在進(jìn)行Torch的安裝)。
如何安裝cudnn
首先說一下網(wǎng)上大多數(shù)中文安裝cuDNN教程的錯(cuò)誤方式,這種方式真的坑人無數(shù)。
簡(jiǎn)單地說網(wǎng)上的大多錯(cuò)誤的安裝cuDNN的方式都是將下載后的cuDNN壓縮包解壓。然后再將cudnn的頭文件(cuda/include目錄下的.h文件)復(fù)制到cuda安裝路徑的include路徑下,將cudnn的庫(kù)文件(cuda/lib64目錄下的所有文件)復(fù)制到cuda安裝路徑的lib64路徑下。這種方法如果不重置cuDNN相應(yīng)的符號(hào)鏈接的話是不能成功的安裝cuDNN的。
下面我們說一下正確的安裝cuDNN方式,其實(shí)跟著官方安裝說明進(jìn)行安裝就可以了。
如果這個(gè)壓縮包不是.tgz格式的,把這個(gè)壓縮包重命名為.tgz格式。解壓當(dāng)前的.tgz格式的軟件包到系統(tǒng)中的任意路徑(這個(gè)路徑很重要,以下將該路徑的絕對(duì)路徑簡(jiǎn)稱為/your/path/to/cudnn),解壓后的文件夾名為cuda,文件夾中包含兩個(gè)文件夾:一個(gè)為include,另一個(gè)為lib64。
例如:我將這個(gè)壓縮包解壓在了/usr/local目錄下,那么該文件的絕對(duì)路徑為/usr/local/cuda
將解壓后的文件中的lib64文件夾關(guān)聯(lián)到環(huán)境變量中。這一步很重要。
cd~
sudogedit .bashrc
在彈出的gedit文檔編輯器(.bashrc中)中最后一行加入:
export?LD_LIBRARY_PATH=/your/path/to/cudnn/lib64:$LD_LIBRARY_PATH
其中/your/path/to/cudnn/lib64是指.tgz解壓后的文件所在路徑中的lib64文件夾。
保存更改的文件后,緊接著:
source.bashrc
再重啟一下Terminal(終端),該步驟可以成功的配置cuDNN的Lib文件。
配置cuDNN的最后一步就是將解壓后的cuDNN文件夾(一般該文件名為cuda)中的include文件夾(/your/path/to/cudnn/include)中的cudnn.h文件拷貝到/usr/local/cuda/include中,由于進(jìn)入了系統(tǒng)路徑,因此執(zhí)行該操作時(shí)需要獲取管理員權(quán)限。
打開終端,進(jìn)入/your/path/to/cudnn/include。其中/your/path/to/cudnn/include指的是.tgz解壓后的文件所在路徑中的include文件夾。例如:
cd cuda/include
sudo cp *.h /usr/local/cuda/include/
其中這里的cuda/include對(duì)于我自己的安裝來說就是/your/path/to/cudnn/include。因?yàn)槲覍udnn的.tgz壓縮包解壓到了home的當(dāng)前用戶的路徑下,解壓后的文件夾名為cuda。
之后,再重置cudnn.h文件的讀寫權(quán)限:
sudo chmoda+r /usr/local/cuda/include/cudnn.h
至此,cuDNN的配置就全部安裝完成了。
非常好我支持^.^
(0) 0%
不好我反對(duì)
(0) 0%
相關(guān)閱讀:
- [電子說] 深度學(xué)習(xí)在工業(yè)缺陷檢測(cè)中的應(yīng)用 2023-10-24
- [電子說] 智慧礦山:AI算法為何能提高未戴安全帶識(shí)別準(zhǔn)確率! 2023-10-22
- [電子說] 《人工智能在指揮和控制系統(tǒng)中的決策支持》 2023-10-22
- [電子說] 利用PyTorch實(shí)現(xiàn)NeRF代碼詳解 2023-10-21
- [電子說] 卷積神經(jīng)網(wǎng)絡(luò)中的池化方式 2023-10-21
- [電子說] 使用DNN深度神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)圖像AIGC的開發(fā)-基于米爾瑞薩RZ/G2L開發(fā)板的創(chuàng)新應(yīng)用 2023-10-21
- [人工智能] 人工智能領(lǐng)域存在第一性原理嗎? 2023-10-20
- [機(jī)器視覺] 基于機(jī)器視覺檢測(cè)技術(shù)現(xiàn)狀 2023-10-20
( 發(fā)表人:steve )