4倍速!ML.NET Model Builder GPU 与 CPU 对比测试
當我們使用 Visual Studio 進行機器學習開發時,一般都會推薦安裝 ML.NET Model Builder ,這讓我們的開發更加可視化,并且按照步驟載入相關的訓練集,選擇好模型就夠了,一切就是如此樸實無華。
說到 ML.NET Model Builder ,之前的更新發布中有提到說,開發者有3種指定的訓練環境可選擇:本地 CPU,本地 GPU,Azure。我們在無數的機器學習介紹中都了解到,GPU 對于機器學習加速的優勢,在 ML.NET 中表現如何呢?說實話,很長一段時間我沒有深究過,對于小型圖像識別模型,由于圖像訓練集也很小,訓練時長在 CPU 和 GPU 之間相差幾乎看不到,所以我決定來點更具挑戰性的數據集認真做下對比測試。
在新的測試中我將采用來自 Kaggle 挑戰賽的一項計算機視覺方向的任務叫【State Farm Distracted Driver Detection】。這個任務旨在探索一種能夠識別開車中的司機分心,有可能導致危險駕駛的圖像識別模型。這個任務有一個 1GB 左右的訓練用圖像集,2.2 w+ 張照片,覆蓋了包括打電話、發短信、飲酒、往后看、操作收音機、與他人交談、化妝等10個分心的標注類型。打開 Visual Studio 后,我在 ML.NET Model Builder 中配置了如下的訓練圖像分類模型的方案:
CPU 訓練
這個訓練場景比以往的數據集要重得多。總時間為39.2分鐘。實驗總時間 :2353.6729442 秒
------------------------------------------------------------------------------------------------------------------ | Summary | ------------------------------------------------------------------------------------------------------------------ |ML Task: image-classification | |Dataset: C:\Users\bean\AppData\Local\Temp\5e873581-2dab-4d46-911d-cfc0a0455eb1.tsv | |Label : Label | |Total experiment time : 2353.6729442 Secs | |Total number of models explored: 1 | ------------------------------------------------------------------------------------------------------------------GPU 訓練
使用 GPU 后,簡直了!以 1/4 的時間完爆 CPU!僅用了9.6 分鐘。實驗總時間 :?581.1946062?秒
------------------------------------------------------------------------------------------------------------------ | Summary | ------------------------------------------------------------------------------------------------------------------ |ML Task: image-classification | |Dataset: C:\Users\bean\AppData\Local\Temp\cccb2b3f-dbce-45e5-b17e-872b6cc3f116.tsv | |Label : Label | |Total experiment time : 581.1946062 Secs | |Total number of models explored: 1 | ------------------------------------------------------------------------------------------------------------------結論
GPU 對深度學習的加持再合適不過了,因為它們被設計用于處理的計算類型與深度學習中遇到的計算類型相同,專門處理圖像、視頻和其他圖形的矩陣結構,執行類似放大效果或旋轉操作時,本質上做的只是對矩陣應用一些數學變換而已,機器學習過程中的數據運算剛好適配它。另一方面,ML.NET Model Builder 僅依賴于配置 CUDA 10.0 環境的 GPU,大多數 NVIDIA 顯卡就能滿足。所以沒有理由拒絕 GPU 對于 ML.NET 在機器學習中的提升對吧!
引用
ML.NET模型生成器 GPU 支持(預覽版)
如何在模型生成器中安裝 GPU 支持
總結
以上是生活随笔為你收集整理的4倍速!ML.NET Model Builder GPU 与 CPU 对比测试的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微软2020开源回顾:止不住的挨骂,停不
- 下一篇: ML.NET 推荐引擎中一类矩阵因子分解