做 b2b平臺(tái)的網(wǎng)站公眾號(hào)推廣引流
目錄
基礎(chǔ)知識(shí)信息了解
顯卡算力
CUDA兼容
Tensorflow gpu安裝
CUDA/cuDNN匹配和下載
查看Conda driver的版本
下載CUDA工具包
查看對(duì)應(yīng)cuDNN版本
下載cuDNN加速庫
CUDA/cuDNN安裝
CUDA安裝方法
cuDNN加速庫安裝
配置CUDA/cuDNN環(huán)境變量
配置環(huán)境變量
核驗(yàn)是否安裝成功
Tensorflow-gpu安裝
命令安裝
報(bào)錯(cuò)處理
核驗(yàn)安裝結(jié)果
直通車:人工智能發(fā)展歷程和工具搭建學(xué)習(xí)-CSDN博客
????????通過之前的文章學(xué)習(xí),我們已經(jīng)安裝好了Anaconda和Tensorflow2.4,但是在后期的學(xué)習(xí)中,會(huì)涉及到神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)等數(shù)據(jù)量較大的操作,普通的tensorflow-cpu版本處理速度較慢,所以我們?cè)侔惭b一個(gè)更加強(qiáng)大的tensorflow-gpu版本,它可以調(diào)用conda的接口實(shí)現(xiàn)gpu運(yùn)算的平臺(tái),利用顯卡幫助我們運(yùn)算程序,以提高后期學(xué)習(xí)中的程序處理速度,提高學(xué)習(xí)效率。
基礎(chǔ)知識(shí)信息了解
顯卡算力
????????在這個(gè)之前,我們首先要確保自己的電腦是英偉達(dá)顯卡,并且運(yùn)算能力在3.5以上,大家可以根據(jù)下面的網(wǎng)址查看自己電腦顯卡的運(yùn)算能力,然后還需要下載conda工具包和對(duì)應(yīng)的gpu加速庫cuDNN。
直通車:CUDA GPUs - Compute Capability | NVIDIA Developer
????????后期安裝CUDA通過deviceQuery.exe也可以看到當(dāng)前顯卡的算力。
CUDA兼容
????????這里CUDA12.1是支持的最高版本的CUDA,可以向下兼容,且可以安裝多個(gè)版本的CUDA,你可以通過更改環(huán)境變量來更改為你需要用到的CUDA版本。
Tensorflow gpu安裝
CUDA/cuDNN匹配和下載
查看Conda driver的版本
????????我們打開命令行窗口cmd,輸入nvidia-smi,這里顯示的是顯卡的版本信息,這里顯示的是conda driver的版本信息。
下載CUDA工具包
? ? ? ? 直通車:CUDA Toolkit Archive | NVIDIA Developer
????????我們?nèi)onda下載官網(wǎng),下載CUDA工具包。根據(jù)剛剛我們查到的CUDA版本信息,此處我的CUDA版本為12.x,根據(jù)CUDA可以向下兼容的特性,我們可以對(duì)應(yīng)下載CUDA11.4的工具包。
????????在這個(gè)界面,由于我的電腦是Windows11 64位,所以我選擇的是這些選項(xiàng),大家要根據(jù)自己的電腦系統(tǒng)類型選擇合適的版本進(jìn)行下載。
查看對(duì)應(yīng)cuDNN版本
下面查找對(duì)應(yīng)的cuDNN版本,可以在Tensorflows官網(wǎng)中查看tensorflow-gpu跟cuda?cudnn的版本對(duì)應(yīng)信息.
在 Windows 環(huán)境中從源代碼構(gòu)建 ?|? TensorFlow
下載cuDNN加速庫
????????接下來我們打開cuDNN下載地址:
直通車:https://developer.nvidia.com/rdp/cudnn-archive
????????由于我們CUDA是11的版本 對(duì)應(yīng)的是cuDNN8的版本,這些版本的對(duì)應(yīng),小伙伴們一定要注意!現(xiàn)在我們打開cuDNN下載官網(wǎng),在這里,根據(jù)剛剛查看到的cuda版本,選擇適當(dāng)?shù)腸uDNN版本,我剛下載的是CUDA11.4的版本,也就是CUDA11.x的版本,所以我選擇的是cuDNN8.x的版本,這里我下載版本為8.2.1,然后選擇windows x86的選項(xiàng)進(jìn)行下載。
? ? ? ? 注意:在這里點(diǎn)擊下載的時(shí)候會(huì)跳轉(zhuǎn)到注冊(cè)登錄頁面,由于在這里我已經(jīng)登錄,所以沒有跳轉(zhuǎn),等待安裝包下載完成,我們就準(zhǔn)備好了Tensorflow-gpu所需要的工具包,這就是已經(jīng)下載好的工具包。
????????如果各位小伙伴在這里遇到問題無法解決,可以在評(píng)論區(qū)進(jìn)行求助。
CUDA/cuDNN安裝
CUDA安裝方法
????????接下來我們開始安裝CUDA,雙擊打開下載的安裝包,并等待進(jìn)度條加載完畢。
????????點(diǎn)擊同意并繼續(xù)選擇自定義,然后點(diǎn)擊下一步。在這個(gè)界面顯示的是將要安裝的組件名稱、版本號(hào)和電腦中該組件的版本號(hào),當(dāng)前版本號(hào)為空,則說明電腦中沒有該組件。
????????我們取消NVIDIA GeForce Experience這一項(xiàng),然后點(diǎn)擊下一步。這里的安裝路徑一般選擇默認(rèn)就好,也可以更改,但是文件目錄一定要記清楚,后面配置環(huán)境的時(shí)候會(huì)用到。
然后點(diǎn)擊下一步,點(diǎn)擊next,等待安裝完成。
然后點(diǎn)擊下一步,這里顯示的是已經(jīng)安裝的所有組件的狀態(tài),然后點(diǎn)擊關(guān)閉。
cuDNN加速庫安裝
????????下面開始安裝Gpu加速庫cuDNN,將文件解壓,解壓完成以后,我們打開會(huì)得到如下三個(gè)目錄。
? ? ? ? 然后我們打開剛剛安裝好的CUDA的根目錄,然后把codnn里邊并目錄下的所有文件復(fù)制到CUDA的bin目錄如下。
????????將include里邊的所有文件復(fù)制到CUDA的include文件下,lib文件夾也是如此。這樣我們便完成了CUDA和cuDNN的安裝。
配置CUDA/cuDNN環(huán)境變量
配置環(huán)境變量
????????下面開始設(shè)置系統(tǒng)環(huán)境變量,右鍵點(diǎn)擊此電腦,選擇屬性打開高級(jí)系統(tǒng),設(shè)置環(huán)境變量,在系統(tǒng)變量里面找到path,點(diǎn)擊編輯。我們可以看到CUDA的兩個(gè)文件已經(jīng)存在,點(diǎn)擊新建瀏覽,找到CUDA目錄。
將其上移,與其他兩個(gè)環(huán)境變量一起,這樣就完成了環(huán)境變量的設(shè)置。
核驗(yàn)是否安裝成功
????????可以通過nvcc -V命令查看是否配置CUDA成功
????????輸入nvidia-smi命令,返回GPU型號(hào)則安裝成功
? ? ? ? ?同時(shí)也可以通過在CUDA執(zhí)行bandwidthTest.exe和deviceQuery.exe和核驗(yàn),返回PASS則表明GPU安裝成功
Tensorflow-gpu安裝
????????接下來我們開始安裝tensorflow-gpu,安裝過程可以參考上篇文章tensnflow2.4的安裝,這里我就不再詳述。不同之處,就是我們創(chuàng)建并激活另一個(gè)獨(dú)立環(huán)境tensorflow-gpu選擇適當(dāng)?shù)陌姹咎?hào),小伙伴們可以根據(jù)自己的安裝環(huán)境選擇對(duì)應(yīng)的版本安裝,第二步是安裝相關(guān)軟件,在第三步的時(shí)候安裝tensorflow-gpu,命令為pip?install?tensorflow-gpu==對(duì)應(yīng)版本號(hào)安裝完成以后就完成了tensorflow-gpu的安裝。
直通車:人工智能發(fā)展歷程和工具搭建學(xué)習(xí)-CSDN博客
命令安裝
創(chuàng)建獨(dú)立環(huán)境并激活
conda create -n tensorflow-gpu python==3.8conda activate tensorflow-gpu
安裝相關(guān)軟件包
?
# conda install numpy matplotlib PIL scikit-learn pandas 于下行命令等價(jià)pip install numpy matplotlib Pillow scikit-learn pandas -i Simple Index
安裝Tensorflow-gpu
?
pip install tensorflow-gpu==2.6.0 -i Simple Index
報(bào)錯(cuò)處理
????????ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. matplotlib 3.7.5 requires numpy<2,>=1.20, but you have numpy 1.19.5 which is incompatible. pandas 2.0.3 requires numpy>=1.20.3; python_version < "3.10", but you have numpy 1.19.5 which is incompatible.
pip uninstall numpypip install numpy==1.19.5
????????TypeError: Descriptors cannot be created directly. If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19.0. If you cannot immediately regenerate your protos, some other possible workarounds are: 1. Downgrade the protobuf package to 3.20.x or lower. 2. Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python (but this will use pure-Python parsing and will be much slower).
pip uninstall protobuf pip install protobuf==3.20.0
校驗(yàn)安裝結(jié)果
????????最后我們測(cè)試一下是否安裝成功,打開命令行窗口,激活我們剛才創(chuàng)建的獨(dú)立環(huán)境。輸入python,打開python交互模式,輸入import tensorflow as tf,輸入我們的測(cè)試語句tf.test.is_gpu_available(),它的輸出結(jié)果為true,顯示我們安裝成功。
python
import tensorflow as tftf.test.is_gpu_available()exit()