谷歌colab訓練自己的資料集YOLOv3
自己電腦的GPU不支援cuda,所以嘗試使用谷歌的Colabortory,免費提供GPU,最長執行時間12小時,因此一般需要掛載到谷歌雲盤上,儲存檔案。
資料集
目標檢測的資料集需要自己手動標註目標物體位置並對應生成xml檔案表示目標框的位置,本文簡單介紹windows系統下標註工具LabelImg的使用。
LabelImg下載連結:LabeIImg
下載好labelImg-master.zip後解壓得到如下圖所示。
shift+右擊空白處開啟powershell視窗
輸入兩個命令Pyrcc5 -o resources.py resources.qrc
python labelImg.py
可能會出現no module named libs.resources這樣的錯誤,將resources.py拷貝到同級的libs目錄下就可以解決了。再輸入第二條命令就可以執行成功了。具體使用可以參考這篇windows下使用labelImg標註影像
本次採用的資料集是紅細胞的檢測,已經標註好的資料連結:已標註好的細胞資料連線,Annotations檔案是已經標註好目標框的xml檔案,JPEGImages是jpg圖片檔案。
colab使用
首先需要建立一個谷歌雲盤賬號,右鍵空白處->更多->Google Colabortory,相應目錄下會生成一個.ipynb檔案,下次使用可直接右鍵此檔案以Google Colabortory方式開啟。如果沒有Googel Colabortory選項,點選關聯更多應用新增。
首先訓練自己的資料集需要掛載谷歌雲盤,方便檔案的傳輸。點選連結進去,複製程式碼到下面框中即可。
掛載成功如下圖
下面介紹一些簡單的檔案操作:
設定GPU模式
配置檔案
首先clone專案構建Darknet,輸入以下命令
構建好後,右側檔案如下圖:
上傳並構建資料集
將剛才下載好的資料集上傳到/darknet/data/目錄下,在谷歌雲盤中相應目錄下空白處右擊上傳即可,修改資料集名字為yolov3。
點進Yolov3,建立imagesets和labels兩個空資料夾,imagesets存放圖片路徑,labels存放目標框位置。
imagesets路徑編寫生成的txt檔案內容如下,每張圖片的完整路徑。
分割資料集為訓練集和測試集,分割後圖片的名字存在imagesets下
imagesets下的檔案
從xml檔案中提取目標框座標,並存入labels資料夾裡,生成train.txt和test.txt,與上面生成的不一樣,這裡是圖片的完整路徑
生成的labels檔案內容如下:
配置檔案
在/darknet/data/目錄下建立rbc.data和rbc.names檔案,如下:
網路結構配置,將/darknet/cfg/目錄下的yolov3.cf檔案基礎上改,可以將yolov3.cf檔案複製重新命名為yolov3_custom.cfg再存到cfg目錄下。修改地方如下,如何修改可參考Yolov3 win10+vs17 執行及訓練自己的資料集
開始訓練
下載預訓練權重
訓練,第一行是防止Permission denied錯誤。這裡注意前面構建資料的檔案一定要放對路徑,不然會報奇奇怪怪的錯。訓練產生的權重檔案自動儲存在/darknet/backup中
如中間因不明原因停止可以檢視backup目錄下最後一次權重是多少(比如yolov3_custom_700.weights),然後執行如下程式碼就可以了。
相關文章
- Yolov3程式碼分析與訓練自己資料集YOLO
- yolov3訓練自己資料教程YOLO
- Mxnet R FCN 訓練自己的資料集
- keras-retinanet 用自己的資料集訓練KerasNaN
- 用SSD-Pytorch訓練自己的資料集PyTorch
- Mxnet-R-FCN-訓練自己的資料集
- Caffe-SSD-Ubuntu16-04-訓練自己的資料集Ubuntu
- Caffe SSD Ubuntu16 04 訓練自己的資料集Ubuntu
- 資料集訓練
- 資料集訓練+1
- fashion資料集訓練
- win10 下的YOLOv3 訓練 wider_face 資料集檢測人臉Win10YOLOIDE
- 大牛祕笈!谷歌工程師是如何改進訓練資料集的?谷歌工程師
- 從零開始帶你一步一步使用 YOLOv3 訓練自己的資料YOLO
- 使用自己的資料集訓練MobileNet、ResNet實現影象分類(TensorFlow)
- 想免費用谷歌資源訓練神經網路?Colab 詳細使用教程 —— Jinkey 原創谷歌神經網路
- 用PyTorch版本R-FCN訓練自己的資料PyTorch
- DeepLab 使用 Cityscapes 資料集訓練模型模型
- 如何改善你的訓練資料集?(附案例)
- 全網最細 | 教你如何在 docker 容器下使用 mmdetection 訓練自己的資料集Docker
- YOLOv3 中的多尺度融合與訓練YOLO
- 使用TensorFlow slim資料夾當中的inception_resnet_v2網路訓練自己的分類資料集
- yolov5 自建資料集訓練測試YOLO
- Windows10 使用 Tensorflow Object_detection API 訓練自己的資料WindowsObjectAPI
- YOLOv4 win10 配置 + 訓練自己的資料 + 測試YOLOWin10
- Alink漫談(七) : 如何劃分訓練資料集和測試資料集
- 亮資料:高效率資料採集,加速大模型訓練!大模型
- 基於pytorch實現Resnet對本地資料集的訓練PyTorch
- 訓練機器學習的資料集大小很重要 - svpino機器學習
- keras 手動搭建alexnet並訓練mnist資料集Keras
- nnUNet使用指南(一):Ubuntu系統下使用nnUNet對自己的多模態MR資料集訓練Ubuntu
- 使用 diffusers 訓練你自己的 ControlNet ?
- 首次!用合成人臉資料集訓練的識別模型,效能高於真實資料集模型
- 【NLP學習其四】如何構建自己用於訓練的資料集?什麼是詞性標註?詞性標註
- 訓練集、驗證集、測試集
- Yolov5_v6.2訓練資料集進行預測YOLO
- Scaled-YOLOv4 快速開始,訓練自定義資料集YOLO
- CoLab刪除資料夾