今天將使用「Google Colab」來訓練我們的模型,關於 Colab 的功能在此就不多做贅述了。我們使用的程式碼是由官方提供的 YOLOv5 Colab 程式碼修改而來,調整成方便大家使用並下載模型的方式。
Training (source: unsplash)
點選此連結開啟colab YOLOv5 訓練 ipython 筆記本,建議按下複製的按鈕「Copy to Drive」,將程式碼複製到自己的 Google Drive,方便日後修改與執行。
首先將前面在 Roboflow 複製下來的「Download Code」,覆蓋如下圖所示的位置,取代成自己的資料集。
請找到 Step 3: Train Our Custom YOLOv5 model
如下圖所示的位置,將 --epochs
後方的數字更改為自己想要訓練的次數,筆者在此設定為 200,然後在 --weights
後方選擇預訓練模型的權重,修改為 yolov5n6.pt
。
有關 YOLOv5 的模型選擇,可以參考 YOLOv5 官方的圖表。
訓練的方式很簡單,直接讓每個框格內的程式碼依序 RUN 起來即可。但在執行前我們需要先設置使用的硬體。請點選上方列表的「Runtime」並選擇選單內的「Change runtime type」。
確認選取的硬體加速器是「GPU」,再按下儲存的按鈕。
接著按下右側有個「Connect」按鈕,連接 Google 免費提供給使用者的硬體。
過程需要一段時間讓系統幫我們配置,完成後按鈕會變更為「Connecting」。看到這個字樣後,表示已經可以開始跑我們的程式了。
接下來同樣點選「Runtime」,並選擇「Run all」,這個選項會自動幫我們依序執行所有的程式碼。
執行完成的程式碼會如下圖所示,前頭除了有執行的順序編號之外,還會有綠色的打勾圖樣。執行完全部的程式碼後,網頁會自動下載訓練過程中最好的模型,並命名為「best.pt」。
歷經千辛萬苦,大家是不是已經獲得了自己的 best.pt 呢?筆者認為過程中最艱辛的部份,大概就是最耗眼力與耐心的照片標註過程了,標註的好或不好都會直接影響最終的效果。下一篇文章,將教大家如何使用自己訓練好的模型做推論,並徹底發揮使用 NVIDIA Jetson 系列產品的優勢,進一步加速推論的速度。不要錯過接下來精彩的內容,我們下篇文章見!