前言由于兼容性問題,使得我們若想用較新版本的 PyTorch,通過 GPU 方式訓練模型,也得更換較新版本得 CUDA 工具包。然而 CUDA 的版本又與電腦顯卡的驅動程序版本關聯,如果是低版本的顯卡驅動程序安裝 CUDA11 及以上肯定會失敗。 比如 GTX750Ti 或 GTX1050Ti,出廠的驅動程序版本在 450 以下,也就只能裝 CUDA9 和 CUDA10 之類的版本。那么有什么方法用前面這兩種顯卡安裝 CUDA11 以上的版本呢?下面就通過更新顯卡驅動程序來完成這一任務,其中包括查看版本,各種版本的關聯,如何下載安裝等白話文方式演示。 ![]() 查看顯卡驅動版本這里 強調一下,要安裝 CUDA 的條件是電腦有獨立顯卡,并且顯卡是英偉達也就是 N 卡。保證這一點我們可以通過桌面右鍵進入 “NVIDIA 控制面板” 和 'nvidia-smi.exe' 命令的兩種方式查看顯卡的驅動程序版本號。 NVIDIA 控制面板 點擊 “系統信息”,其中 “顯示” 下的 “項目” 就是顯卡型號,“細節” 里主要查看 “驅動程序版本” 和 “驅動器類型”,后面要根據顯卡型號和驅動器類型下載新版本的驅動程序。也可以在 “組件” 的 “3D 設置” 下查看 “NVCUDA64.DLL”,這就是當前驅動支持的 CUDA 最大版本。 ![]() NVIDIA-SMI 這個英偉達顯卡在 Windows 下的一個監控工具,通過 cmd 可以不僅可以查看當前顯卡的基本信息,也能查看 GPU 實時的運行情況。通過 cmd 輸入 “nvidia-smi” 查看最新信息, 'nvidia-smi -l 2' 查看實時信息 (2 就是 2 秒刷新一次),工具的參數上面圖片有簡單標注。 ![]() 如果 cmd 輸入后找不到該命令,需要把 “C:\Program Files\NVIDIA Corporation\NVSMI” (監控工具默認位置) 添加到 'path' 的環境變量中。 ![]() ![]() 顯卡驅動下載可以進入**達網站,選擇顯卡型號,特別注意 'Windows Driver Type',這個就是上面查看的 “驅動器類型”。一般以前出廠 windows10 電腦都是 Standard,切記一定要根據驅動器類型下載,不然后面安裝顯卡驅動會報以下錯誤。 This DCH driver package is not compatible with the currently installed version of Windows.
This system is configured to require a Standard driver package. The correct driver
can be downloaded from by selecting the 'Standard' option under the 'Windows Driver Type' menu. ![]() 從上面 GTX 750 Ti 的標準類型搜索結果看,最新的版本是 472.12,而 DCH 有 500 以上的更新的版本。如果一定要用相當新的版本,官網也提供了將標準驅動類型修改為 DCH 的,但 win 系統版本有一個限制,具體可以在網上查找這里看以后再更新說明。不過呢 472 的驅動程序版本其實完全夠用,可以搭配最大支持 CUDA11.0 到 CUDA12.0 之間的版本,也就意味著我們可以用 1.10 上下的 pytorch 的 cu 版本,現在最新也才 2 點幾,像之前火熱的 AI 繪畫 'stable diffusion' 和 AI 音色克隆 “so-vits-svc” 就可以搭起來跑了。 ![]() CUDA 下載已經更新完顯卡驅動程序后,再重復前面查看版本號方式。看到驅動程序版本號和最大支持 CUDA 版本,記錄下來。然后進入官網的 CUDA Release Notes,也可以查看到驅動程序版本與各種 CUDA 版本的對應關系。 ![]() 上面的 “CUDA Toolkit” 下 CUDA 11.4 有五個版本,其中帶 Update 的是正式版發布后的迭代版本,依次是 11.4.1 一直到 11.4.4,最右邊就是 WIN 的最低驅動程序版本。根據我們查詢的 472.12,當然 Updae4 也可以,最好按他們要求選 11.4.2 或以下。然后進入英偉達開發者網 developer.nvidia.com/cuda-toolkit-archive,選擇后下載,以及 CUDNN 也要下載再依次安裝。(這個在前面文章有介紹此處就略過了) ![]() ![]() PyTorch 版本下載前面把 CUDA 和 CUDNN 安裝配置好之后,環境變量會自動添加,然后通過 cmd 輸入 “nvcc -V” 查看 到 CUDA 的版本表示安裝無誤,接著就是查看 CUDA 與 pytorch 對應版本了,也可以直接下載 whl。cu 表 CUDA 版本,cpu 表 CPU 版本,由于沒有 11.4 的我們可以選擇 cu113 的搜索,然后挑選系統版本,Python 版本。 ![]() 后面如果需要 torchaudio、torchtext 等庫,也一定要找相對應版本的,不然不是無法用 gpu 運行就是版本不兼容,pip 自動把 torch 調高或調低,甚至直接改成 cpu 版,而有時候就只是一個小版本都不支持,這一點很惱火。 GPU 運行驅動、工具包、依賴庫等一切準備好后,在項目運行前,可以通過以下代碼檢測一下 gpu 是否可用。其實這里想說一下,我感覺是在小模型訓練時,GPU 加速并沒有比 CPU 快多少,但是有一個好處。如果是用 CPU 做訓練,跑起來后配置一般的電腦可能就動不了。而如果丟給 GPU,負載就給到他了,我可以再繼續調其他代碼或放放音樂啥,只要不玩游戲或做什么 3D 預覽渲染啥的。
|
|