TensorFlow 安裝 - GPU
與 CPU 版本相比,因?yàn)榭梢岳?GPU 進(jìn)行更加復(fù)雜的運(yùn)算,因此 GPU 版本的 TensorFlow 要比 CPU 版本的 TensorFlow 強(qiáng)大不少。相應(yīng)的,GPU 版本的 TensorFlow 安裝步驟也更加復(fù)雜。那么我們這一節(jié)就來看一下 TensorFlow-GPU 應(yīng)該如何安裝。
首先我們要明確的是,如果想要使用 TensorFlow 的 GPU 版本,那么首先擁有 TensorFlow 所支持的 GPU 硬件與相應(yīng)的軟件支持。目前來說 TensorFlow 在官方文檔之中給出的要求為:
硬件要求:CUDA? 計(jì)算能力為 3.5 或更高的 NVIDIA? GPU 卡。
軟件要求:
- NVIDIA? GPU 驅(qū)動程序:CUDA 10.1 需要 418.x 或更高版本;
- CUDA? 工具包:TensorFlow 支持 CUDA 10.1(TensorFlow 2.1.0 及更高版本);
- CUDA 工具包附帶的 CUPTI;
- cuDNN SDK(7.6 及更高版本);
- TensorRT 6.0,可縮短用某些模型進(jìn)行推斷的延遲時間并提高吞吐量(可選)。
一般而言,我們 Nvidia? GTX 750 及其以上的顯卡都可以達(dá)到計(jì)算能力3.5 (GTX 760 與 GTX 770除外)。對于軟件需求我們會在下面的安裝教程之中幫助大家安裝與升級。
所以如果大家的 GPU顯卡不符合要求,那么就需要更新自己的硬件條件或者采用 CPU 版本的TensorFlow。那么這節(jié)課我們就帶大家學(xué)習(xí)以下如何在硬件條件符合的情況之下,在 Windows 與 Linux 上安裝 TensorFlow。
1. 在 Windows 上安裝 TensorFlow-GPU
在 Windows 上安裝 TensorFlow-GPU 可以分為幾個步驟,具體來說如下所示:
- 安裝 TensorFlow-GPU;
- 保證自己的顯卡驅(qū)動正常;
- 安裝符合自己版本的 CUDA;
- 安裝符合自己版本的 cuDNN 工具包;
- 上述過程中的各種配置。
既然明確了思路,那么我們就開始在 Windows 上安裝 TensorFlow-GPU。
1.1 安裝 TensorFlow-GPU
我們在這里依然是使用 pip 進(jìn)行安裝,在進(jìn)行安裝之前需要查看 Python 與 pip 的版本是否符合要求。具體說來,我們一般要求:
- Python 3.5 及其以上版本;
- pip 19.0 及其以上版本。
如果版本要求不符合,那么我們則需要進(jìn)行相應(yīng)的升級操作。
在確保環(huán)境符合條件的情況之下我們可以使用命令安裝:
pip install tensorflow-gpu
如果自己的 GPU 驅(qū)動版本較低,我們可以指定安裝之前的 TensorFlow 版本,如 2.0 版本:
pip install tensorflow-gpu==2.0
安裝完成后我們可以進(jìn)行后面的操作。
1.2 確保自己的顯卡驅(qū)動正常運(yùn)行
這一步主要是確保自己的顯卡能夠正常使用,如果自己的 GPU 驅(qū)動過低,那么就需要根據(jù)自己的驅(qū)動版本進(jìn)行相應(yīng)的更新。
目前來說只要將 Nvidia 顯卡驅(qū)動更新至 410.x 版本及其以上就足夠使用了。
1.3 安裝符合自己版本的 CUDA 工具包
這一個步驟的版本因人而異,因?yàn)槊總€人的顯卡版本不一樣,并且每個人的顯卡驅(qū)動也不盡相同,所以需要根據(jù)自己的實(shí)際情況而來。故而這一步的操作較為復(fù)雜。
首先要查看自己顯卡驅(qū)動的 CUDA Driver 版本。 打開 Nvidia 控制面板,并點(diǎn)擊查看信息,再切換到“組件”選項(xiàng)卡,在此界面可以查看到自己的 CUDA Driver 版本,如下圖所示:
在上圖的示例之中,CUDA Driver 的版本為 11.0 。
去 Nvidia 開發(fā)者官方網(wǎng)站下載相應(yīng)的 CUDA 工具包。 我們可以訪問 Nvidia 開發(fā)者官網(wǎng) CUDA 下載,訪問的結(jié)果如下圖所示:
然后在這個頁面之中選擇符合自己版本的 CUDA 下載。 因?yàn)樯衔闹械腃UDA Driver 版本為11.0版本,故而我們需要下載第一個 CUDA 工具包。
安裝 CUDA 工具包,該步驟較為簡單,我們只需要雙擊打開,并根據(jù)指示一步步安裝即可。
安裝完成之后根據(jù)提示,添加系統(tǒng)變量:
并且在 Path 變量之中添加剛剛新增的變量:%CUDA10% 。
Tips:該處的名字可以自己取,也可以將路徑直接添加到PATH之中。
1.4 安裝 cuDNN
在這一步,我們要安裝 cuDNN 這一個擴(kuò)展工具,該工具能夠很大程度地提升 TensorFlow 的訓(xùn)練速度。具體來說,我們可以按照下面幾個步驟進(jìn)行安裝:
登錄 cuDNN官方下載網(wǎng)站,并選擇自己的版本下載,如下圖所示:
我們可以根據(jù)自己的 CUDA 版本來選擇自己要下載cuDNN版本,比如上文的 CUDA 版本為11.0,那么我們便可以下載下圖中的第一個cuDNN版本。
下載完成后進(jìn)行解壓,并將解壓完成的三個文件夾復(fù)制到 CUDA 的安裝目錄即可。
1.5 測試
安裝完成之后,我們可以使用如下代碼進(jìn)行測試:
import tensorflow as tf
print("Version: " + tf.__version__)
若是輸出結(jié)果為:
Version: 2.2.0
則說明安裝成功。
若是沒有輸出版本并且報(bào)錯,那么可能是自己的 CUDA 與 cuDNN 的版本與當(dāng)前的 TensorFlow 版本不匹配,需要重新安裝。一般而言,如果要安裝 TensorFlow-GPU 2.x , 我們需要安裝 7.4 及其以上版本的 cuDNN 以及 10.0 及其版本以上的 CUDA 。
2. 在 Linux 上安裝 TensorFlow-GPU
在這一部分,我們會在命令行的環(huán)境下在 Linux 系統(tǒng)之中安裝 TensorFlow 的 GPU 版本。具體步驟分為以下幾點(diǎn):
2.1 查看 Nvidia 驅(qū)動是否安裝
我們可以采用以下命令來查看 Nvidia 的驅(qū)動是否安裝:
nvidia-smi
如果該命令成功地輸出了 Nivida 顯卡地相關(guān)信息,則表示驅(qū)動成功安裝;否則的話需要安裝或者更新 Nvidia 顯卡驅(qū)動。
如果需要更新驅(qū)動,我們可以通過如下命令來卸載原來的驅(qū)動:
sudo apt-get remove --purge nvidia*
然后我們下載好自己需要更新的版本,然后便可以安裝新的驅(qū)動:
sudo service lightdm stop
sudo ./NVIDIA-Linux-****.run
sudo service lightdm start
2. 安裝 CUDA 工具
首先我們需要像 Windows 安裝一樣,找到自己的 CUDA 版本。
cat /usr/local/cuda/version.txt
Tips:不同用戶的驅(qū)動的安裝位置不一樣,這只是默認(rèn)的安裝路徑。
然后根據(jù)自己的 CUDA Driver 的版本,找到適合自己 CUDA Driver 版本的 CUDA 工具包,然后我們便可以運(yùn)行以下命令來進(jìn)行安裝。
wget http://developer.download.nvidia.com/compute/cuda/11.0.2/local_installers/cuda_11.0.2_450.51.05_linux.run
sudo sh cuda_11.0.2_450.51.05_linux.run
這只是安裝的一種方式,其實(shí)官方網(wǎng)站給我們提供了非常完備的安裝方案,每當(dāng)我們選擇一個版本與安裝方式之后,官方便會給我們詳細(xì)的安裝指引,從而指引我們完成安裝。
配置環(huán)境變量:
export PATH=/usr/local/cuda-11.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-11.0/lib64:$LD_LIBRARY_PATH
當(dāng)然,這里面的路徑是你自己的 CUDA 的安裝路徑。
2.3 安裝 cuDNN
與 Windows 的安裝一樣,我們都需要使得 CUDA 與 CuDNN 的版本相對應(yīng),因此我們要首先要確定自己的要下載的 cuDNN 版本并且下載到自己的機(jī)器上(這里以 tar 文件為例)。
運(yùn)行命令,解壓 cuDNN:
tar -xzvf cudnn-x.x-linux-x64-v8.x.x.x.tgz
將文件拷貝到 CUDA 的安裝目錄
sudo cp cuda/include/cudnn*.h /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
如果之后運(yùn)行失敗的話可能是權(quán)限問題,需要提升以下權(quán)限。
我們可以通過以下命令來提升一下目錄的權(quán)限。
chmod -R 777 /usr/local/cuda
2.4 安裝 TensorFlow-GPU
與之前一樣,我們可以運(yùn)行以下命令來使用pip安裝 tensorflow-gpu:
pip install tensorflow-gpu
2.5 測試是否成功
安裝完成之后,我們可以運(yùn)行代碼:
import tensorflow as tf
print("Version: " + tf.__version__)
若是輸出結(jié)果為:
Version: 2.2.0
則說明安裝成功。
3. 附加說明
有些同學(xué)可能會問“為什么沒有安裝 CUPTI ?這個不是必須的嗎” ?
沒錯,這個 CUPTI 工具是必須要安裝的,只是我們在安裝CUDA的時候已經(jīng)附帶安裝,因此不需要重新安裝。
如果大家遇到下載速度較慢的問題便可以嘗試更換國內(nèi)的下載源:
pip install tensorflow-gpu -i https://pypi.tuna.tsinghua.edu.cn/simple
4. TensorFlow-GPU 安裝視頻演示
4. 小結(jié)
這節(jié)課程主要幫助大家如何在 Linux 與 Windows 上安裝 TensorFlow-GPU 版本,值得注意的是GPU版本的安裝需要因人而異,切忌直接搬用別人的安裝方式。
因?yàn)?TensorFlow-GPU 對于顯卡的要求較高,因此如果我們對于自己的顯卡性能不是很自信,那么可以嘗試安裝一下 CPU 版本。