4倍速!ML.NET Model Builder GPU 与 CPU 对比测试
當(dāng)我們使用 Visual Studio 進(jìn)行機(jī)器學(xué)習(xí)開發(fā)時,一般都會推薦安裝 ML.NET Model Builder ,這讓我們的開發(fā)更加可視化,并且按照步驟載入相關(guān)的訓(xùn)練集,選擇好模型就夠了,一切就是如此樸實無華。
說到 ML.NET Model Builder ,之前的更新發(fā)布中有提到說,開發(fā)者有3種指定的訓(xùn)練環(huán)境可選擇:本地 CPU,本地 GPU,Azure。我們在無數(shù)的機(jī)器學(xué)習(xí)介紹中都了解到,GPU 對于機(jī)器學(xué)習(xí)加速的優(yōu)勢,在 ML.NET 中表現(xiàn)如何呢?說實話,很長一段時間我沒有深究過,對于小型圖像識別模型,由于圖像訓(xùn)練集也很小,訓(xùn)練時長在 CPU 和 GPU 之間相差幾乎看不到,所以我決定來點(diǎn)更具挑戰(zhàn)性的數(shù)據(jù)集認(rèn)真做下對比測試。
在新的測試中我將采用來自 Kaggle 挑戰(zhàn)賽的一項計算機(jī)視覺方向的任務(wù)叫【State Farm Distracted Driver Detection】。這個任務(wù)旨在探索一種能夠識別開車中的司機(jī)分心,有可能導(dǎo)致危險駕駛的圖像識別模型。這個任務(wù)有一個 1GB 左右的訓(xùn)練用圖像集,2.2 w+ 張照片,覆蓋了包括打電話、發(fā)短信、飲酒、往后看、操作收音機(jī)、與他人交談、化妝等10個分心的標(biāo)注類型。打開 Visual Studio 后,我在 ML.NET Model Builder 中配置了如下的訓(xùn)練圖像分類模型的方案:
CPU 訓(xùn)練
這個訓(xùn)練場景比以往的數(shù)據(jù)集要重得多??倳r間為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 訓(xùn)練
使用 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 | ------------------------------------------------------------------------------------------------------------------結(jié)論
GPU 對深度學(xué)習(xí)的加持再合適不過了,因為它們被設(shè)計用于處理的計算類型與深度學(xué)習(xí)中遇到的計算類型相同,專門處理圖像、視頻和其他圖形的矩陣結(jié)構(gòu),執(zhí)行類似放大效果或旋轉(zhuǎn)操作時,本質(zhì)上做的只是對矩陣應(yīng)用一些數(shù)學(xué)變換而已,機(jī)器學(xué)習(xí)過程中的數(shù)據(jù)運(yùn)算剛好適配它。另一方面,ML.NET Model Builder 僅依賴于配置 CUDA 10.0 環(huán)境的 GPU,大多數(shù) NVIDIA 顯卡就能滿足。所以沒有理由拒絕 GPU 對于 ML.NET 在機(jī)器學(xué)習(xí)中的提升對吧!
引用
ML.NET模型生成器 GPU 支持(預(yù)覽版)
如何在模型生成器中安裝 GPU 支持
總結(jié)
以上是生活随笔為你收集整理的4倍速!ML.NET Model Builder GPU 与 CPU 对比测试的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微软2020开源回顾:止不住的挨骂,停不
- 下一篇: Xamarin.Forms 5.0 来了