Win11 本地端啟動 NVIDIA MX450 GPU 的詳細步驟
本文詳細介紹了在 Windows 11 上啟用 NVIDIA MX450 GPU 的步驟,包括確認基本軟硬體、安裝 CUDA 和 cuDNN、驗證 TensorFlow 和 PyTorch 是否可使用 GPU。
確認基本軟硬體
確認顯卡
Win + R,會出現「執行」對話框。輸入 control /name Microsoft.DeviceManager
可進入裝置管理員,最下方展開顯示卡,就會出現電腦的顯示卡型號。
確認 Windows 版本
Win + R,會出現「執行」對話框。輸入 winver
可檢查 Windows 版本。
確認顯卡支援 CUDA
因為深度學習的框架,如 TensorFlow 和 PyTorch,都是使用 NVIDIA 的 CUDA 技術來加速運算。因此,需要初步確認電腦上的顯示卡是否支援 CUDA。
由於我在 NVIDIA 官方 GPU 支援 CUDA 列表 中並沒有找到 MX450。
不過經過多方資料的查詢,wiki CUDA GPUs supported 有看到 MX450,且 NVIDIA 官方 GeForce MX450 產品介紹,是有寫到支援 NVIDIA GPU Boost。
初步判斷,MX450 應該有支援 CUDA 吧!(請宇宙給我一個更強大的 GPU 主機讓我玩),我們就繼續更進一步的安裝驗證來確認是否真的有支援 CUDA!
安裝 CUDA 和 cuDNN
安裝 NVIDIA 控制面板
先確認電腦有安裝 NVIDIA Control Panel。
CUDA 最高支援版本
打開 NVIDIA Control Panel,點選左下角「系統資訊」,再點選「元素」,就可看到 CUDA 版本。
我目前是 NVIDIA CUDA 12.2.147 driver,但並不是安裝這個版本的 CUDA,而是要根據 tensorflow_gpu-2.10.0
支援的版本安裝相對應的 CUDA 和 cuDNN。
安裝 NVIDIA 驅動程式
安裝 GeForce Experience。GeForce Experience 會自動偵測電腦的驅動程式版本,並自動下載相對應的驅動程式。(其實可以手動下載驅動程式,但我手動下載發生顯卡不見及nvidia-smi.exe
不在原本的該在的位置,所以後來我就還是安裝 GeForce Experience了)。(Win 總是會帶給我很多驚嚇)。
打開 GeForce Experience,並下載 NVIDIA 驅動程式。這是所有步驟中最耗時的一步。(又想到這過程我因為一直檢查不到 GPU 而來來回回,砍掉重來的血淚QQ)
確認驅動程式版本
打開 NVIDIA Control Panel,點選左下角「系統資訊」,再點選「顯示」,就可看到驅動程式版本。
安裝 CUDA
CUDA 安裝版本要非常注意!我一開始誤會要安裝 目前電腦的 CUDA 版本 - 12.2,但後來發現當要使用 tensorflow_gpu-2.10.0
時又會一直爆出 CUDA 版本錯誤。所以最好先確認 tensorflow_gpu-2.10.0
支援的 Python、CUDA 和 cuDNN 的版本。
TensorFlow 版本 | Python 版本 | cuDNN | CUDA 版本 |
---|---|---|---|
tensorflow_gpu-2.10.0 | 3.7-3.10 | 8.1 | 11.2 |
所以我要安裝 CUDA 11.2 版本,前往 CUDA Toolkit 11.2 Downloads,點擊 Windows x86_64 10 network 版本,下載 cuda_11.2.0_win10_network
安裝檔案。
由於 CUDA 11.2 版本沒有 win 11 可供選擇,所以我也只能選擇 win 10,結果是OK的,我是有成功安裝 CUDA 11.2 版本在 win 11 下~
安裝好的 CUDA 檔案會放在 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2
。
NVIDIA 官方安裝流程請看 CUDA Installation Guide for Microsoft Windows。
安裝 cuDNN
下載 cuDNN 前要先登入 NVIDIA 會員。前往 cuDNN Archive,找到cudnn 8.1 版本,「Download cuDNN v8.1.0 (January 26th, 2021), for CUDA 11.0,11.1 and 11.2」,點擊「cuDNN Library for Windows (x86)」,下載 cudnn-11.2-windows-x64-v8.1.0.77
zip檔案。
- 解壓縮此檔案,將資料夾內容複製至
C:\tools\cuda
。 - 複製此資料夾中的
bin\cudnn*.dll
到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\bin
。 - 複製此資料夾中的
include\cudnn*.h
到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\include
。 - 複製此資料夾中的
lib\x64\cudnn*.lib
到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\lib\x64
。 - 將以下 CUDA 和 cuDNN 目錄新增至環境變數 PATH。
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\bin
。C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\include
。C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\extras\CUPTI\lib64
。C:\tools\cuda\bin
。
- 重開機以啟動新的環境變數。
NVIDIA 官方安裝流程請看 Installing cuDNN on Windows。
TensorFlow 官方環境變數說明請看 TensorFlow Windows 設定環境變數。
檢查是否安裝成功
nvcc -V
查看 CUDA 版本 和 nvidia-smi
查看 GPU 狀態。
驗證 TensorFlow 可用 GPU
conda 建立虛擬環境
下載並安裝 Anaconda。
打開 Anaconda Prompt,Anaconda Prompt 就是 Anaconda 版的 CMD 命令提示窗。
建立並啟動一個名稱為 tf-env 的虛擬環境,並指定 python 版本為 3.9。
1 | conda create -n tf-env python=3.9 |
安裝 TensorFlow
1 | pip install tensorflow-gpu==2.10.0 |
啟動 Python
一行一行輸入以下指令。
1 | python |
使用 Jupyer Notebook
安装 Jupyter Notebook。
1 | conda install jupyter |
安裝 ipykernel,並將虛擬環境 tf-env 配置給 Jupyter Notebook 中名稱為 tf-env 的 Kernel。
1 | conda install ipykernel |
啟動 Jupyter Notebook。
1 | jupyter notebook |
開啟一個新的瀏覽器網頁,進入任一資料夾,點選右上角的「New」按鈕,並從選單中選擇 Kernel tf-env
。即可在新建立 Notebook 中輸入程式碼,並能將程式碼分割到不同的 cell 中查看執行結果。
1 | from tensorflow.python.client import device_lib |
有列出 GPU 設備,表示目前虛擬環境中能讓 TensorFlow 使用 GPU 進行運算。
/device:CPU:0
: 表示找到一個 CPU 裝置。/device:GPU:0
: 表示找到一個 GPU 設備,名稱為 NVIDIA GeForce MX450。
1 | [name: "/device:CPU:0" |
驗證 Pytorch 可用 GPU
conda 建立虛擬環境
打開 Anaconda Prompt。
建立並啟動一個名稱為 torch-env 的虛擬環境,並指定 python 版本為 3.9。
1 | conda create -n torch-env python=3.9 |
安裝 Pytorch
PyTorch 的官方網站 取得最新的不同作業系統、Python 版本和 CUDA 版本的安裝指令。
1 | conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia |
啟動 Python
一行一行輸入以下指令。
1 | python |
使用 Jupyer Notebook
安装 Jupyter Notebook。
1 | conda install jupyter |
安裝 ipykernel,並將虛擬環境 torch-env 配置給 Jupyter Notebook 中名稱為 torch-env 的 Kernel。
1 | conda install ipykernel |
啟動 Jupyter Notebook。
1 | jupyter notebook |
開啟一個新的瀏覽器網頁,進入任一資料夾,點選右上角的「New」按鈕,並從選單中選擇 Kernel torch-env
。
1 | import torch |
True 表示目前虛擬環境中能讓 Pytorch 使用 GPU 進行運算。
1 | True |
總結
分享我砍掉重來超過10幾次的小提醒:
- TensorFlow 和 Pytorch 的虛擬環境分開。
TensorFlow 和 Pytorch 不要共用虛擬環境,不然 TensorFlow 會一直偵測不到 GPU。Pytorch 用 CUDA 12, 11.8 都很容易偵測到 GPU,但 TensorFlow 用官方推薦的 CUDA 版本後才成功。 - 顯卡不見重裝 NVIDIA 驅動就會回來。
電腦被我玩到顯卡不見XD,但好險重新安裝 NVIDIA 驅動,就又會顯示在「裝置管理員的顯示卡」及「工作管理員的效能」上面了。 nvidia-smi.exe
也可能被安裝在C:\Windows\System32
。
原本nvidia-smi.exe
應該是被自動安裝在C:\Program Files\NVIDIA Corporation\NVSMI
,但可能也是被我玩壞了,找了一堆資料都說如果沒有 NVSMI,可能是驅動沒裝或沒更新或沒裝好,所以我只好反復解除安裝、重新安裝,但都還是沒有這個資料夾 NVSMI 了QQ,但好在我終於在 這篇 裡看到有人分享nvidia-smi.exe
也會出現在C:\Windows\System32
。再把C:\Windows\System32
加入環境變數 PATH 中,就又可以使用nvidia-smi
這個指令了。
其他參考資料請看: