數位學習平台 ↗ EN 聯絡我們

登月小車 AMB82 MINI AI 自駕車(四)訓練模型與轉換:Colab 訓練 YOLOv7-tiny

登月小車 AMB82 MINI AI 自駕車(四)訓練模型與轉換:Colab 訓練 YOLOv7-tiny

本系列使用 登月小車(AMB82 MINI),從硬體安裝、蒐集與標註資料、訓練 YOLOv7-tiny 模型,一路做到能辨識交通標誌的自駕小車。這是第四篇。

這一單元我們會使用Google Colab 的雲端服務,用我們上個單元在Roboflow 設定好的資料集,訓練YOLOv7 模型。讓我們馬上開始吧!

4-1. 開啟Google Colab 的雲端服務

首先登入你的Google 雲端硬碟,然後點選左上角的「新增」。

首先登入你的Google 雲端硬碟,然後點選左上角的「新增」。

選擇「更多」—> 「連結更多應用程式」。

選擇「更多」—> 「連結更多應用程式」。

在跳出的視窗中,於搜尋欄位內輸入colab 並按下Enter,在下方搜尋結果找到「Colaboratory」圖示,然後點進去。

在跳出的視窗中,於搜尋欄位內輸入colab 並按下Enter,在下方搜尋結果找到「Colaboratory」圖示,然後點…

接著選擇安裝即可,這樣你的帳號就擁有使用Google Colab 雲端服務的權限了。

接著選擇安裝即可,這樣你的帳號就擁有使用Google Colab 雲端服務的權限了。

4-2. 使用Google Colab 訓練YOLOv7

我們已經提供了訓練用的腳本在Google Colab,同學透過下方連結直接取用即可:

https://colab.research.google.com/drive/1Yriw8m16SfSL_UNNy7n6W6mfup7QMb8f?usp=sharing

點開網址後會進到我們提供的腳本頁面,為了讓你之後的設定可以保存,請立即點選「複製到雲端硬碟」,這個步驟可以複製一份到你自己的雲端硬碟。

點開網址後會進到我們提供的腳本頁面,為了讓你之後的設定可以保存,請立即點選「複製到雲端硬碟」,這個步驟可以複製一份到你自…

它會另外彈出一個頁面,並直接開啟已複製到你雲端硬碟內的腳本,判斷方法可以觀看檔名是否為副本,這個名稱你也可以改成自己方便記憶的名稱。

它會另外彈出一個頁面,並直接開啟已複製到你雲端硬碟內的腳本,判斷方法可以觀看檔名是否為副本,這個名稱你也可以改成自己方便…

一切準備就緒,讓我們進入正題!

首先點選上方的「執行階段」,然後選擇「變更執行階段類型」。

首先點選上方的「執行階段」,然後選擇「變更執行階段類型」。

選擇使用免費的GPU,點選「T4 GPU」接著按下「儲存」。

選擇使用免費的GPU,點選「T4 GPU」接著按下「儲存」。

然後於右上角,點選「連線 T4」啟用服務。

然後於右上角,點選「連線 T4」啟用服務。

在整個腳本內找到下方與roboflow 相關的程式區塊,將上個單元的download code 取代原先裡面的程式碼。

在整個腳本內找到下方與roboflow 相關的程式區塊,將上個單元的download code 取代原先裡面的程式碼。

最後於上方選擇「全部執行」按鈕即可開始訓練腳本。

最後於上方選擇「全部執行」按鈕即可開始訓練腳本。

腳本運行時是一個一個運行每個程式區塊,執行完畢的會打勾,運行中的會轉圈。

腳本運行時是一個一個運行每個程式區塊,執行完畢的會打勾,運行中的會轉圈。

當你的腳本運行到Start Training 的區塊時會比較久,這一步就是將資料集一輪一輪的餵給模型做判斷訓練與學習。

當你的腳本運行到Start Training 的區塊時會比較久,這一步就是將資料集一輪一輪的餵給模型做判斷訓練與學習。

那我如何確認模型訓練的好不好呢? 最快的方法就是查看兩個項目,程式區塊在運行時會有運行訊息,查看訊息內的「[email protected]」與「[email protected]:.95」兩個指標。

那我如何確認模型訓練的好不好呢? 最快的方法就是查看兩個項目,程式區塊在運行時會有運行訊息,查看訊息內的「mAP@.5」…

這兩個指標白話意思就是AI 自己判斷的「邊界框(Bounding Box)劃得有多準」,「[email protected]」判定門檻較寬鬆,「[email protected]:.95」判定門檻較嚴格,我們會看比較嚴的那個,越高越好!上圖顯示的0.84 指的是準確率84%。

訓練完成後下方程式區塊會有驗證的部分,往下滑動網頁可以看到驗證的圖片,這些圖片是用剛剛訓練好的模型對測試集做辨識,可以用來觀察正確性。

訓練完成後下方程式區塊會有驗證的部分,往下滑動網頁可以看到驗證的圖片,這些圖片是用剛剛訓練好的模型對測試集做辨識,可以用…

最後整個腳本運行完,會自動下載訓練好的模型,請儲存在自己的電腦上,我們等等會用到。

最後整個腳本運行完,會自動下載訓練好的模型,請儲存在自己的電腦上,我們等等會用到。

4-3. 轉換模型

目前的模型可以運行在電腦的CPU 上或是給GPU 運行,但要讓它運行在AMB82 MINI 的NPU 上是不行的,需要透過Realtek 的官方模型轉換服務,將它轉換成AMB82 MINI 讀得懂的格式才行。

首先點選下方連結進到Realtek 的官方:

https://www.amebaiot.com/zh/ameba-arduino-summary/

然後點選網頁上方的「登入」。

然後點選網頁上方的「登入」。

接著選取「Register」註冊一個使用者帳號。

接著選取「Register」註冊一個使用者帳號。

註冊完後請登入,確定完成登入後請不要關閉網頁。

註冊完後請登入,確定完成登入後請不要關閉網頁。

然後點選我們下方的網址,前往轉換模型的頁面:

https://www.amebaiot.com/zh/amebapro2-ai-convert-model/

往下滑動找到可以填入的欄位,並依照網頁指示填入:

  1. 首先輸入正確的E-mail,當模型轉換完成後會寄到這個信箱。
  2. 選擇要轉換的模型類型,請選「YOLOv7-TINY-Pytorch」。
  3. 上傳模型,將剛剛下載到電腦的壓縮檔案上傳。
  4. 定義模型輸入大小,兩個欄位請填入640。
  5. 上傳訓練的圖片,請選擇AMB82 MINI SD Card 上的圖片即可,可多上傳幾張。
往下滑動找到可以填入的欄位,並依照網頁指示填入

最後填完後,按下「SUBMIT」按鈕即可上傳資料。

最後填完後,按下「SUBMIT」按鈕即可上傳資料。

轉換過程需要排隊,所以不會那麼快速,可以休息一下,等等再查看信箱即可。完成後即可在信箱中看到模型下載連結,請點選連結並將模型下載到自己的電腦上。

轉換過程需要排隊,所以不會那麼快速,可以休息一下,等等再查看信箱即可。完成後即可在信箱中看到模型下載連結,請點選連結並將…

結論

雖然訓練過程複雜,但我們透過Google Colab 的雲端服務與腳本,輕鬆訓練自己的YOLOv7 模型。並學習使用Realtek 的官方模型轉換服務,將模型轉換成AMB82 MINI 可以讀取的格式。

下個單元我們就會將這個模型透過SD Card 部署到AMB82 MINI 上,測試登月小車能否沿著道路自動駕駛。

系列文章

  1. (一)基礎認識
  2. (二)資料蒐集
  3. (三)資料標註
  4. (四)訓練模型與轉換(本篇)
  5. (五)自動駕駛