AI時代的網站與手機App建置與開發Part19 - 啟用電腦配備的GPU, 提升深度學習的效率

 

·       摘要

使用ML.NET進行機器學習訓練的時候, 如果欲處理問題和電腦視覺有關, 包括:影像分類和物件偵測, 或是欲處理問題和自然語言有關, 包括:文字分類, 句子相似性, 問題解答, 和具名實體辨識, 等等需要強大訓練速度的案例, 您就會看到ML.NET提供的[本機率(GPU)]選項, 表示如果您的電腦配備NVIDIA GPU, 就可以經由啟用電腦配備的GPU, 大幅提升深度學習的速度.

下圖所示即為CPUGPU運算速度的比較, 您可以明顯看出GPU的運算速度遠遠勝過CPU的運算速度:

: CPU vs GPU運算速度的比較

在這篇文章中, 我們將要為大家介紹如何啟用電腦配備的NVIDIA GPU, 利於執行深度學習訓練時的效率提升.

注意

電腦配備的GPU必須經過正確的設定才能夠發揮提升深度學習運算速度的好處.

·       檢查電腦配備的NVIDIA GPU

首先我們要檢查電腦中是否有配備NVIDIA GPU. 請按下Windows Key + X組合鍵, 再點選[裝置管理員]功能, 您就會看到[裝置管理員]的執行視窗, 展開其中的[顯示卡]項目, 就可以看到電腦是否有配備NVIDIA GPU, 例如圖1的畫面顯示的就是配備有NVIDIA GeForce RTX 4060 Laptop GPU的電腦的[裝置管理員]視窗::

1: 配備有NVIDIA GeForce RTX 4060 Laptop GPU的電腦的[裝置管理員]視窗

·       設定並啟用電腦配備的NVIDIA GPU

Microsoft ML.NET主要是依賴CPU的運算力訓練機器學習模型, 如果需要利用GPU, 只能透過兩個途徑:

1)     安裝TensorFlow套件, 透過與TensorFlow套件的整合, 利用NIVIDIA GPU訓練模型

2)     安裝ONNX Runtime, 透過與ONNX Runtime的整合, 利用NIVIDIA GPU訓練模型. 目前這個方案也是只支援NIVIDIA GPU, 但是未來計畫會納入支援Intel GPUAMD GPU.

首先請啟動Visual Studio 2022, 建立.NET Core平台相關的專案, 然後啟動[命令提示字元], 切換至專案所在的資料夾, 再執行以下的三個指令:

dotnet add package Microsoft.ML

dotnet add package SciSharp.TensorFlow.Redist

dotnet add package Microsoft.ML.TensorFlow

分別安裝Microsoft.ML, SciSharp.TensorFlow.Redist, Microsoft.ML.TensorFlow三個套件, 安裝套件的畫面如圖2所示:

2:安裝Microsoft.ML, SciSharp.TensorFlow.Redist, Microsoft.ML.TensorFlow三個套件的畫面

安裝妥Microsoft.ML, SciSharp.TensorFlow.Redist, Microsoft.ML.TensorFlow三個套件之後, 我們還需要安裝CUDA ToolkitcuDNN函式庫.

首先請啟動瀏覽器, 瀏覽至Install CUDA Toolkit, 下載並安裝CUDA Toolkit, 如圖3所示:

3:下載並安裝CUDA Toolkit的畫面

做好之後, 請再瀏覽至NVIDIA cuDNN, 下載並解壓縮NVIDIA函式庫, 並記下放置解壓縮後的NVIDIA函式庫的資料夾名稱.

4所示即為下載並解壓縮NVIDIA函式庫的畫面

4: 下載並解壓縮NVIDIA函式庫

·       建立CUDA ToolkitcuDNN函式庫相關的環境變數

請按下Windows Key + X組合鍵, 再點選[設定 | 系統資訊 | 進階系統設定]功能, 點選[環境變數], 點選[使用者變數]清單中的[Path]環境變數, 再點選[編輯], 加入以下4個路徑:

1)     C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.7\bin

2)     C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.7\extras\CUPTI\lib64

3)     C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.7\include

4)     C:\cuDNN\bin

請注意:

1.     上述環境變數中的v11.7為安裝的CUDA Toolkit的版本, 請依據所安裝的CUDA Toolkit版本修改環境變數的內容.

2.     上述環境變數中的cuDNN為放置解壓縮後的cuDNN函數庫的內容的資料夾名稱, 請依據放置解壓縮後的cuDNN函數庫的內容的資料夾名稱修改環境變數的內容.

5所示為設定妥環境變數內容的畫面

5:設定妥環境變數內容的畫面

完成所有的設定之後, 使用滑鼠的右鍵點選[方案總管]視窗中的專案名稱, 執行[加入 | 機器學習模型]功能, 再選擇電腦視覺有關的場景, 包括:影像分類和物件偵測, 或是選擇和自然語言有關的場景, 包括:文字分類, 句子相似性, 問題解答, 和具名實體辨識, 就可以看到支援選取[本機(GPU)]設備訓練機器學習模型的選項, 如圖6所示:


6: 支援選取[本機(GPU)]設備訓練機器學習模型的選項


留言

這個網誌中的熱門文章

AI時代的網站與手機App建置與開發Part27 - ML.NET與物件偵測

AI時代的網站與手機App建置與開發Part24 - ML.NET與圖片異常偵測

AI時代的網站與手機App建置與開發Part28 - 使用YOLO模型進行物件偵測