Win10 GPU運(yùn)算環(huán)境搭建(CUDA10.0+Cudnn 7.6.5+pytroch1.2+tensorflow1.14.0)
一、深度學(xué)習(xí)為什么要搭建GPU運(yùn)算環(huán)境?
熟悉深度學(xué)習(xí)的人都知道,深度學(xué)習(xí)是需要訓(xùn)練的,所謂的訓(xùn)練就是在成千上萬(wàn)個(gè)變量中尋找最佳值的計(jì)算,所需計(jì)算的數(shù)據(jù)量異常龐大。CPU是一個(gè)有多種功能的優(yōu)秀領(lǐng)導(dǎo)者。它的優(yōu)點(diǎn)在于調(diào)度、管理、協(xié)調(diào)能力強(qiáng),計(jì)算能力則位于其次。CPU的運(yùn)算在遇到大體量的數(shù)據(jù)時(shí)就會(huì)耗費(fèi)大量時(shí)間,而GPU相當(dāng)于一個(gè)接受CPU調(diào)度的“擁有大量計(jì)算能力”的員工,用GPU運(yùn)算則可以大大加快深度學(xué)習(xí)運(yùn)算速度,從而減少科研的時(shí)間成本。
什么是CUDA?
CUDA(Compute Unified Device Architecture)是顯卡廠商N(yùn)VIDIA推出的運(yùn)算平臺(tái)。 CUDA™是一種由NVIDIA推出的通用并行計(jì)算架構(gòu),該架構(gòu)使GPU能夠解決復(fù)雜的計(jì)算問(wèn)題。
什么是Cudnn?
將CUDA看作是一個(gè)工作臺(tái),上面配有很多工具,如錘子、螺絲刀等。cuDNN是基于CUDA的深度學(xué)習(xí)GPU加速庫(kù),有了它才能在GPU上完成深度學(xué)習(xí)的計(jì)算。它就相當(dāng)于工作的工具,比如它就是個(gè)扳手。但是CUDA這個(gè)工作臺(tái)買(mǎi)來(lái)的時(shí)候,并沒(méi)有送扳手。想要在CUDA上運(yùn)行深度神經(jīng)網(wǎng)絡(luò),就要安裝cuDNN,這樣才能使GPU進(jìn)行高速的深度神經(jīng)網(wǎng)絡(luò)的工作。
二、搭建GPU運(yùn)算環(huán)境
檢查自己的顯卡型號(hào),選擇適合的CUDA和CUDNN
如圖打開(kāi)NVIDIA控制面板–>系統(tǒng)信息–>找到NVCUDA.DLL
可以看到NVCUDA.DLL 后面產(chǎn)品名稱那一列寫(xiě)著NVIDIA CUDA 10.2.95 driver,說(shuō)明我的顯卡支持CUDA10.2及以下版本。
CUDA的下載
這里我選擇了CUDA 10.0版本,因?yàn)橄噍^于最新版CUDA 10.2,版本稍低一點(diǎn)會(huì)相對(duì)穩(wěn)定點(diǎn)吧!進(jìn)入NVIDIA官網(wǎng)下載CUDA然后安裝可以了。
下圖根據(jù)提示選擇好自己的系統(tǒng),系統(tǒng)架構(gòu),系統(tǒng)版本,下載方式,點(diǎn)擊下載的CUDA是最新的!想要下載歷史版本的話,需要自己去找,具體百度即可。
最后進(jìn)入命令窗口輸入:nvcc -V查看安裝是否成功。下圖就是成功安裝的樣子。
Cudnn的下載
進(jìn)入Cudnn界面–>點(diǎn)擊Download cuDNN
這里網(wǎng)站會(huì)要求你注冊(cè)一個(gè)英偉達(dá)賬號(hào),注冊(cè)了就會(huì)跳轉(zhuǎn)去下載頁(yè)面,最后根據(jù)自己安裝的CUDA版本選擇Cudnn版本就好。我用的是Cudnn 7.6.5。
下載解壓后,把CuDNN目錄里面的bin, include, lib里面的文件覆蓋放入CUDA目錄下對(duì)應(yīng)的bin,include,lib里面(注意是復(fù)制文件,而不是文件夾)。
至此GPU運(yùn)算環(huán)境就算搭建完成了!
三、Ananconda3的安裝
什么是Anaconda?
Anaconda指的是一個(gè)開(kāi)源的Python發(fā)行版本,其包含了conda、Python等180多個(gè)科學(xué)包及其依賴項(xiàng)。
Conda是一個(gè)開(kāi)源的包、環(huán)境管理器,可以用于在同一個(gè)機(jī)器上安裝不同版本的軟件包及其依賴,并能夠在不同的環(huán)境之間切換。
下載Anaconda3
根據(jù)電腦系統(tǒng)和python版本選擇下載文件,按照安裝程序的指示進(jìn)行安裝就好了。
四、Anaconda虛擬環(huán)境的搭建
什么是虛擬環(huán)境?
虛擬環(huán)境無(wú)非就是將系統(tǒng)的Python運(yùn)行環(huán)境copy到一個(gè)指定的文件夾下,這個(gè)文件夾里的內(nèi)容就是所謂的虛擬環(huán)境。你可以在這個(gè)copy出來(lái)的環(huán)境做實(shí)驗(yàn)(寫(xiě)你的Python代碼)而不用擔(dān)心影響到其它的項(xiàng)目。也就是說(shuō)每個(gè)虛擬環(huán)境都是獨(dú)立的相互隔離的。
不同項(xiàng)目所需要的框架和python包甚至是框架和包的版本都各不相同,所以為每個(gè)項(xiàng)目搭建特定的虛擬環(huán)境是非常有必要的,要養(yǎng)成這個(gè)好習(xí)慣!
虛擬環(huán)境的相關(guān)操作
使用conda create -n your_env_name python=X.X(2.7、3.6等)
命令創(chuàng)建python版本為X.X、名字為your_env_name的虛擬環(huán)境。
進(jìn)入虛擬環(huán)境:conda activate your_env_name
(虛擬環(huán)境名稱)
對(duì)虛擬環(huán)境中安裝額外的包:conda install -n your_env_name [package]
退出虛擬環(huán)境:deactivate
五、選擇要搭建的深度學(xué)習(xí)框架
Pytorch的安裝
進(jìn)入pytorch官網(wǎng),選擇自己的操作系統(tǒng)、編程語(yǔ)言、CUDA版本,最后紅圈部位會(huì)出現(xiàn)一行命令,復(fù)制到命令窗口就可以下載了。
但是!這種方法靈活性很低,我安裝的是CUDA 10,上圖Package里沒(méi)有這個(gè)選項(xiàng)怎么辦?還有PyTorch的版本在國(guó)內(nèi)下載是非常非常非常慢的,而且近期清華與科大的鏡像都被封了,就導(dǎo)致了直接使用PyTorch官網(wǎng)推薦的語(yǔ)句很難安裝。
解決辦法是:下載安裝包到本地 。
建議大家在Package一項(xiàng)中選擇“pip”安裝,然后在“Run this Command”這一欄,直接復(fù)制代碼中的兩個(gè)網(wǎng)址,就可以下載到本地來(lái)進(jìn)行安裝了。
檢查環(huán)境和GPU運(yùn)算是否搭建成功
我上網(wǎng)了解很多人使用pytorch 1.2版本,所以沒(méi)有下載最新的1.5。
import torch print("hello pytorch {}".format(torch.__version__)) device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
Tensorflow的安裝
TensorFlow是基于VC++2015開(kāi)發(fā)的,所以需要下載安裝VisualC++ Redistributable for Visual Studio 2015 來(lái)獲取MSVCP140.DLL的支持。
我這里下載了Visual Studio 2017。
然后就是好習(xí)慣時(shí)刻——?jiǎng)?chuàng)建一個(gè)虛擬環(huán)境,進(jìn)入其中執(zhí)行下載語(yǔ)句conda install tensorflow安裝就可以了!我用的是 Tensorflow 1.14.0。
五、心得和一些建議
整個(gè)深度學(xué)習(xí)環(huán)境的搭建過(guò)程是挺磨人的,我期間參考了許多博客和視頻。由于版本問(wèn)題不匹配而導(dǎo)致環(huán)境搭好了又要推倒重來(lái),不斷地踩坑排坑,還好結(jié)果是好的。
給一些建議:
- 在搭建GPU環(huán)境前,要了解自己的顯卡支持的CUDA版本,并且cudnn要和CUDA版本匹配。
- 無(wú)論是CUDA還是深度學(xué)習(xí)框架,盡量避免使用最新版,版本稍微低一點(diǎn)點(diǎn)就夠了,因?yàn)槌隽藛?wèn)題能找到很多同版本使用者的解決方案。
- 國(guó)內(nèi)下載python包有時(shí)會(huì)很慢甚至報(bào)一些連接失敗的錯(cuò)誤,換個(gè)下載方式就好了。
- 多利用虛擬環(huán)境,避免各個(gè)環(huán)境間的污染。
- 搭建好環(huán)境后,去跑一個(gè)中等大小的圖像數(shù)據(jù)集代碼吧!然后去看看你的GPU利用率是否變得很高,驗(yàn)證環(huán)境確實(shí)是搭建成功了。
本文所涉及到的版本配置
- Window 10 + RTX 2060
- CUDA10.0+Cudnn 7.6.5
- Pytorch 1.2.0 +Python 3.6.5
- Tensorflow 1.14.0+Visual Studio 2017+python 3.7.3
到此這篇關(guān)于Win10 GPU運(yùn)算環(huán)境搭建(CUDA10.0+Cudnn 7.6.5+pytroch1.2+tensorflow 1.14.0)的文章就介紹到這了,更多相關(guān)Win10 GPU運(yùn)算環(huán)境搭建內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Win10下安裝CUDA11.0+CUDNN8.0+tensorflow-gpu2.4.1+pytorch1.7.0+paddlepaddle-gpu2.0.0
- 詳解Tensorflow不同版本要求與CUDA及CUDNN版本對(duì)應(yīng)關(guān)系
- TensorFlow的環(huán)境配置與安裝教程詳解(win10+GeForce GTX1060+CUDA 9.0+cuDNN7.3+tensorflow-gpu 1.12.0+python3.5.5)
- Visual Studio 2019下配置 CUDA 10.1 + TensorFlow-GPU 1.14.0
- Win10下安裝并使用tensorflow-gpu1.8.0+python3.6全過(guò)程分析(顯卡MX250+CUDA9.0+cudnn)
- tensorflow -gpu安裝方法(不用自己裝cuda,cdnn)
相關(guān)文章
scrapy結(jié)合selenium解析動(dòng)態(tài)頁(yè)面的實(shí)現(xiàn)
這篇文章主要介紹了scrapy結(jié)合selenium解析動(dòng)態(tài)頁(yè)面的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09PyTorch中的神經(jīng)網(wǎng)絡(luò) Mnist 分類任務(wù)
這篇文章主要介紹了PyTorch中的神經(jīng)網(wǎng)絡(luò) Mnist 分類任務(wù),在本次的分類任務(wù)當(dāng)中,我們使用的數(shù)據(jù)集是 Mnist 數(shù)據(jù)集,這個(gè)數(shù)據(jù)集大家都比較熟悉,需要的朋友可以參考下2023-03-03Django基礎(chǔ)知識(shí) URL路由系統(tǒng)詳解
這篇文章主要介紹了Django基礎(chǔ)知識(shí) URL路由系統(tǒng)詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-07-07Python報(bào)錯(cuò)ImportError:?IProgress?not?found.?Please?update
在使用Jupyter Notebook或JupyterLab進(jìn)行交互式編程時(shí),我們可能會(huì)遇到各種導(dǎo)入錯(cuò)誤,本文就來(lái)介紹一下Python報(bào)錯(cuò)ImportError:?IProgress?not?found.?Please?update?jupyter?and?ipywidgets解決,感興趣的可以了解一下2024-06-06python飛機(jī)大戰(zhàn)pygame游戲背景設(shè)計(jì)詳解
這篇文章主要介紹了python飛機(jī)大戰(zhàn)pygame游戲背景設(shè)計(jì),結(jié)合實(shí)例形式詳細(xì)分析了Python使用pygame模塊設(shè)計(jì)游戲背景相關(guān)原理、流程與實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-12-12python特殊字符作為字符串不轉(zhuǎn)義的問(wèn)題
這篇文章主要介紹了python特殊字符作為字符串不轉(zhuǎn)義的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07Python Pandas數(shù)據(jù)分析工具用法實(shí)例
這篇文章主要介紹了Python Pandas數(shù)據(jù)分析工具用法實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11