為了在本機上運行基於TensorFlow來開發的模型,本篇將介紹如何根據電腦環境進行CUDA/cuDNN的版本選擇與安裝,讓我們往下看吧~
本文大綱
➤決定該安裝何種版本CUDA
➤開始安裝CUDA
➤檢驗
➤故障排除
➤Reference
➤Further Reading
決定該安裝何種版本CUDA
確認目前Darknet官方文件支援到第幾版的CUDA,在下載下來的darknet包裡面找到darknet.vcxproj的路徑(“darknet\build\darknet\darknet.vcxproj”)用記事本打開,滑到最下面
確認顯卡能支援的最高版本,開啟控制面板→系統資訊→元素→NVCUDA64.DLL可看到最高支援版本
選擇列表中推薦的組合,並且符合顯卡能執行的版本 (GPU列表)
在 Windows 上從原始碼開始建構 | TensorFlow
GTX 1650 選擇請這個組合(多次嘗試其他不同組合,皆無法), 以下將使用 tensorflow 2.4 + CUDA 11.0 + cuDNN 8.0.5 + python 3.8 + MSVC 2019(一定要裝C/C++桌面開發) in Windows11
開始安裝CUDA
根據所查詢到的容許版本下載,cuDNN是依據CUDA版本進行選擇,知道CUDA即可,官方教學:
安裝CUDA:
安裝cuDNN:
解壓縮cuDNN,將下列三個資料夾貼到(C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11)底下
到開始搜尋(編輯系統環境變數)→環境變數→Path→新增包含cupti64_XXX.dll文件的路徑,通常為(C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\extras\CUPTI\lib64),最上面兩個路徑為安裝好CUDA後會自動生成的
到Anaconda下新建環境,命名為tf_gpu, 選擇python版本,創建後開啟終端機
在該環境下安裝 tensorflow
conda list # 查看當前安裝的package
pip install tensorflow==2.4.0 # module name + version no.
大致畫面
檢驗
到Anaconda路徑底下新增一個.py檔來檢測是否有成功連接GPU
import tensorflow as tf
if tf.test.gpu_device_name():
print('default GPU is:{}'.format(tf.test.gpu_device_name()))
else:
print('PLZ install TF via GPU version')# Your output is probably something like ['/device:CPU:0']
# It should be ['/device:GPU:0']
回到Anaconda的終端機,使用以下代碼來驗證
python C:\Users\billy\OneDrive\桌面\Python\tfgpu-get.py
有最下方框中關鍵字 ”default GPU is: /device:GPU:0” 代表建構完成,上方框中也可看到基本的一些顯卡信息,包括算力7.5點、RAM為4G、帶寬等等
故障排除
若在檢驗時,出現以下訊息 AttributeError: module ‘tensorflow’ has no attribute ‘test’
代表tensorflow安裝的不是很成功,透過conda list找到所有tensorflow開頭的package刪除乾淨,再重新安裝
conda list # 查找有哪些要刪除
pip uninstall tensorflow-io-gcs-filesystem==0.31.0 # 指定版本刪除
pip install tensorflow==2.4.0 # 重新安裝
Reference
GTX 1650 安裝教學: https://www.bilibili.com/read/cv9575597/
查詢建議版本組合: https://tensorflow.google.cn/install/source_windows?hl=zh-tw#gpu
官方安裝教學 (參考看看就好): https://www.tensorflow.org/install/gpu?hl=zh-tw
CUDA 下載: https://developer.nvidia.com/cuda-toolkit-archive
cuDNN下載: https://developer.nvidia.com/rdp/cudnn-download