mmdetection之cascade_rcnn快速訓練自己數據教程(親測!)

我們在使用mmdetection中神經網絡訓練自己的數據集時,工具中大部分的網絡模型要求使用的數據格式要同COCO,COCO數據集的標註文件是json的格式,但是我們自己標註的annotation文件多是xml文件。接下來我將介紹如何用mmdetection訓練自己標註的數據集。

一、mmdetection的安裝(目前官方只支持Linux系統安裝)

1,安裝環境:

  1.   Ubuntu16.04
  2.   CUDA9.0
  3.   CUDNN8.0
  4.   Pytorch1.1
  5.   Python3.7

2,這裏建議使用單獨的虛擬環境:

1,終端創建虛擬環境:conda create -n  虛擬環境名稱  python=3.7

2,進入虛擬環境: source activate 虛擬環境名稱 (退出指令:source deactivate)

3,利用conda 安裝pytorch 和torchvision

conda install pytorch torchvision -c pytorch

4,下載mmdetection工具並配置虛擬環境:

 下載地址:https://github.com/python-bookworm/mmdetection-new

5,安裝依賴庫:

pip install -r requirements.txt

二、配置cascade_rcnn訓練數據:

1,數據準備:

訓練的原始樣本圖片放到mmdetection/data/coco/train2017文件夾下;用於驗證的原始圖片數據放data/coco/val2017

訓練的標註數據(xml)放到mmdetection/data/coco/annotations/train文件夾;用於驗證的標準數據(xml)放

mmdetection/data/coco/annotations/val文件夾;

2,xml轉json:

打開mmdetection/xml2json.py,修改convert()中的文件路徑,運行xml2json.py;

3,網絡參數配置:cascade_rcnn_r50_fpn_1x.py

打開mmdetection/configs/cascade_rcnn_r50_fpn_1x.py:

     1,修改num_classes:#分類器的類別數量+1,+1是多了一個背景的類型;

     2,修改data_root:#數據集根目錄

     3,修改img_scale:#輸入的圖像尺寸

     4,修改imgs_per_gpu:#每個gpu計算的圖像數量

     5,修改workers_per_gpu:#每個gpu分配的線程數

     6,修改ann_file和img_prefix:#數據集annotation路徑和數據集路徑

     7,修改optimizer中的lr:#學習率,計算公式:imgs_per_gpu*0.00125

     8,修改total_epochs:#訓練輪數

     9,work_dir:#log文件和模型文件存儲路徑

4,打開mmdetection/mmdet/datasets/coco.py:

     修改CLASSES中類別:#修改成自己的類別

三、運行train.py開始訓練模型:

終端運行指令:python tools/train.py  configs/cascade_rcnn_r50_fpn_1x.py

 

注:python的版本爲3.6或3.7。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章