国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

mmdetection訓練自己的COCO數(shù)據(jù)集及常見問題

這篇具有很好參考價值的文章主要介紹了mmdetection訓練自己的COCO數(shù)據(jù)集及常見問題。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

訓練自己的VOC數(shù)據(jù)集及常見問題見下文:

mmdetection訓練自己的VOC數(shù)據(jù)集及常見問題_不瘦8斤的妥球球餅的博客-CSDN博客_mmdetection訓練voc


目錄

一、環(huán)境安裝

二、訓練測試步驟

三、常見問題

batch size設置

學習率和epoch的修改

訓練過程loss為nan的問題

GPU out of memory

保存最佳權(quán)重文件

訓練生成的.pth文件占用較大內(nèi)存


一、環(huán)境安裝

代碼:GitHub - open-mmlab/mmdetection: OpenMMLab Detection Toolbox and Benchmark

官方安裝教程:Prerequisites — MMDetection 2.23.0 documentation

或者mmdetection/get_started.md at master · open-mmlab/mmdetection · GitHub

二、訓練測試步驟

步驟一:準備數(shù)據(jù)。首先根據(jù)規(guī)范的COCO數(shù)據(jù)集導入到項目目錄下,如下所示:

mmdetection
├── mmdet
├── tools
├── configs
├── data
│ ├── coco
│ │ ├── annotations(放json文件train,val,test)
│ │ ├── train2017(放圖片)
│ │ ├── val2017(放圖片)
│ │ ├── test2017(放圖片)

推薦以軟連接的方式創(chuàng)建:

cd mmdetection
mkdir data
ln -s $COCO2017_ROOT data/coco

其中,$COCO2017_ROOT需改為你的coco數(shù)據(jù)集根目錄。

自定義的數(shù)據(jù)集可借鑒一個大佬的.xml轉(zhuǎn)為coco格式的.json文件代碼:把voc格式的標注文件.xml轉(zhuǎn)為coco格式的.json文件_ming.zhang的博客-CSDN博客_pascal voc標注格式

#注意:

  1. 將圖片和.xml文件放在同一文件夾下
  2. 其中xml_list = glob.glob(xml_dir +"/*.xml")中g(shù)lob.glob要使用絕對路徑。

運行該代碼可將數(shù)據(jù)集按照9:1分成訓練集和測試集。

步驟二:修改config.py

在configs文件夾中選擇自己要訓練的config文件,例如:faster_rcnn/faster_rcnn_r50_fpn_1x_coco.py

選好后,打開可以看到faster_rcnn_r50_fpn_1x_coco.py的基礎配置如下:

mmdetection訓練自己的COCO數(shù)據(jù)集及常見問題?

需要修改前兩個文件(如紅框所示):

1. 退到上級目錄找到_base_,找到faster_rcnn_r50_fpn.py,修改原COCO類的數(shù)目:

mmdetection訓練自己的COCO數(shù)據(jù)集及常見問題?

2. 在../_base_/datasets/coco_detection.py修改成你的數(shù)據(jù)源:

mmdetection訓練自己的COCO數(shù)據(jù)集及常見問題

步驟三:修改mmdetection/mmdet/datasets目錄下coco.py

mmdetection訓練自己的COCO數(shù)據(jù)集及常見問題

修改CLASSES成自己的類別數(shù),如果是一個類別,需要寫成CLASSES = ('person',)【需要加一個逗號】,否則會出現(xiàn) “AssertionError: CLASSES in RepeatDatasetshould be a tuple of str.Add comma if number of classes is 1 as CLASSES = (person,)” 的錯誤。

步驟四:修改mmdetection/mmdet/core/evaluation目錄下class_names.py

mmdetection訓練自己的COCO數(shù)據(jù)集及常見問題

步驟五:運行python setup.py install,重新編譯

mmdetection訓練自己的COCO數(shù)據(jù)集及常見問題?

步驟六:運行訓練代碼

1. 使用單個GPU進行訓練

python ./tools/train.py ${CONFIG_FILE} [optional arguments]
python ./tools/train.py configs/faster_rcnn/faster_rcnn_r50_fpn.py ?--work_dir models

2.使用多個GPU進行訓練

./tools/dist_train.sh ${CONFIG_FILE} ${GPU_NUM} [optional arguments]
./tools/dist_train.sh ?configs/faster_rcnn/faster_rcnn_r50_fpn.py

[optional arguments] ?可選參數(shù)

--no-validate ?: 不建議使用,代碼中每隔K(默認為1)執(zhí)行評估,可以在configs/_base_/datasets/voc0712.py 修改evaluation = dict(interval=1, metric='mAP')

--work-dir ${WORK_DIR} ? 覆蓋配置文件中指定的工作目錄

--resume-from ${CHECKPOINT_FILE} ? 程序中斷后繼續(xù)訓練,從先前的檢查點文件恢復

--options 'Key=value' ? : ?在使用的配置中覆蓋一些設置。

步驟七:測試:

# single-gpu testing
python tools/test.py ${CONFIG_FILE} ${CHECKPOINT_FILE} [--out ${RESULT_FILE}] [--eval ${EVAL_METRICS}] [--show]

三、常見問題

batch size設置

mmdetection訓練自己的COCO數(shù)據(jù)集及常見問題

學習率和epoch的修改

mmdetection訓練自己的COCO數(shù)據(jù)集及常見問題?

重要:配置文件中的默認學習率(lr=0.02)是8個GPU和samples_per_gpu=2(批大小= 8 * 2 = 16)。根據(jù)線性縮放規(guī)則,如果您使用不同的GPU或每個GPU的有多少張圖像,則需要按批大小設置學習率,例如,對于4GPU* 2 img / gpu=8,lr =8/16 * 0.02 = 0.01 ;對于16GPU* 4 img / gpu=64,lr =64/16 *0.02 = 0.08 。

計算公式:lr = (gpu_num * samples_per_gpu) / 16 * 0.02

mmdetection訓練自己的COCO數(shù)據(jù)集及常見問題?

訓練過程loss為nan的問題

常見問題解答 — MMDetection 2.23.0 文檔

1.檢查數(shù)據(jù)的標注是否正常

長或?qū)挒?0 的框可能會導致回歸 loss 變?yōu)?nan,一些小尺寸(寬度或高度小于 1)的框在數(shù)據(jù)增強(例如,instaboost)后也會導致此問題。 因此,可以檢查標注并過濾掉那些特別小甚至面積為 0 的框,并關(guān)閉一些可能會導致 0 面積框出現(xiàn)數(shù)據(jù)增強。

2.降低學習率

一般出現(xiàn)loss nan,無非是網(wǎng)絡傳輸?shù)奶荻冗^大導致的,所以首先考慮在模型配置schedule_1x.py里減小模型的學習率。可是學習率調(diào)小100倍甚至10000倍,還出現(xiàn)nan的情況,所以考慮其他原因?qū)е隆O扰懦龑W習率的影響,將學習率設為0,loss依舊nan,然后就可以嘗試下一個了。

3.延長 warm up 的時間

一些模型在訓練初始時對學習率很敏感,可以在模型配置schedule_1x.py里把?warmup_iters?從 500 更改為 1000 或 2000。

4.梯度裁剪

一些模型需要梯度裁剪來穩(wěn)定訓練過程。 默認的 grad_clip 是 None, 你可以在模型配置schedule_1x.py里設置 optimizer_config=dict(_delete_=True, grad_clip=dict(max_norm=35, norm_type=2)) 如果你的 config 沒有繼承任何包含 optimizer_config=dict(grad_clip=None), 你可以直接設置optimizer_config=dict(grad_clip=dict(max_norm=35, norm_type=2))

5.不使用fp16訓練

如果用了fp16訓練,可嘗試將其注釋掉。

# fp16 = dict(loss_scale=512.)

GPU out of memory

常見問題解答 — MMDetection 2.23.0 文檔

  1. 存在大量 ground truth boxes 或者大量 anchor 的場景,可能在 assigner 會 OOM。 您可以在 assigner 的配置中設置?gpu_assign_thr=N,這樣當超過 N 個 GT boxes 時,assigner 會通過 CPU 計算 IOU。

  2. 在 backbone 中設置?with_cp=True。 這使用 PyTorch 中的?sublinear?strategy?來降低 backbone 占用的 GPU 顯存。

  3. 使用?config/fp16?中的示例嘗試混合精度訓練。loss_scale?可能需要針對不同模型進行調(diào)整。

保存最佳權(quán)重文件

evaluation = dict(interval=1, metric='bbox')改為

evaluation = dict(interval=1, metric='bbox', save_best='auto')

訓練生成的.pth文件占用較大內(nèi)存

可修改configs/base/default_runtime.py文件中:

checkpoint_config = dict(interval=10) # interval=10 表示10個epoch保存一次

參考鏈接:

使用mmdetection中的YOLOv3訓練自己的數(shù)據(jù)集_菜菜2020的博客-CSDN博客_mmdetection yolov3文章來源地址http://www.zghlxwxcb.cn/news/detail-463521.html

到了這里,關(guān)于mmdetection訓練自己的COCO數(shù)據(jù)集及常見問題的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務器費用

相關(guān)文章

  • 深度學習目標檢測數(shù)據(jù)VisDrone2019(to yolo / voc / coco)---MMDetection數(shù)據(jù)篇

    深度學習目標檢測數(shù)據(jù)VisDrone2019(to yolo / voc / coco)---MMDetection數(shù)據(jù)篇

    配備攝像頭的無人機(或通用無人機)已被快速部署到廣泛的應用領(lǐng)域,包括農(nóng)業(yè)、航空攝影、快速交付和監(jiān)視。因此,從這些平臺上收集的視覺數(shù)據(jù)的自動理解要求越來越高,這使得計算機視覺與無人機的關(guān)系越來越密切。我們很高興為各種重要的計算機視覺任務展示一個大

    2024年02月04日
    瀏覽(96)
  • Yolov5+win10+pytorch+android studio實現(xiàn)安卓實時物體檢測實戰(zhàn)(coco128/coco/自己的訓練集)

    Yolov5+win10+pytorch+android studio實現(xiàn)安卓實時物體檢測實戰(zhàn)(coco128/coco/自己的訓練集)

    在這里感謝各個大佬的參考文獻及資料。在我學習深度學習的過程中,我參考了如下網(wǎng)站: Win10+PyTorch+YOLOv5 目標檢測模型的訓練與識別 | | 洛城風起 YOLOv5 COCO數(shù)據(jù)集 訓練 | 【YOLOv5 訓練】_墨理學AI的博客-CSDN博客_yolov5訓練coco數(shù)據(jù)集 系統(tǒng)環(huán)境:win10 cuda 版本:11.3 Cuda環(huán)境配置 在

    2023年04月11日
    瀏覽(27)
  • TTS | 語音合成常見數(shù)據(jù)集及數(shù)據(jù)格式詳情

    TTS | 語音合成常見數(shù)據(jù)集及數(shù)據(jù)格式詳情

    本文主要詳細介紹了語音中最常見的數(shù)據(jù)集(包含各個語種),及其格式等~ 目錄 1.外語數(shù)據(jù)集 1.1.LJSpeech 單人 1.2.JSUT 1.3.RUSLAN 1.4.RyanSpeech 1.5.VocBench 1.6.Arabic Speech Corpus 1.7.Silent Speech EMG 1.8.Hi-Fi Multi-Speaker English TTS Dataset 1.9.KSS 單人 1.10.VCTK 多人 1.11.LibriTTS 多人 2.多任務數(shù)據(jù)集 2

    2024年02月05日
    瀏覽(26)
  • 深度學習進階篇[9]:對抗生成網(wǎng)絡GANs綜述、代表變體模型、訓練策略、GAN在計算機視覺應用和常見數(shù)據(jù)集介紹,以及前沿問題解決

    深度學習進階篇[9]:對抗生成網(wǎng)絡GANs綜述、代表變體模型、訓練策略、GAN在計算機視覺應用和常見數(shù)據(jù)集介紹,以及前沿問題解決

    【深度學習入門到進階】必看系列,含激活函數(shù)、優(yōu)化策略、損失函數(shù)、模型調(diào)優(yōu)、歸一化算法、卷積模型、序列模型、預訓練模型、對抗神經(jīng)網(wǎng)絡等 專欄詳細介紹:【深度學習入門到進階】必看系列,含激活函數(shù)、優(yōu)化策略、損失函數(shù)、模型調(diào)優(yōu)、歸一化算法、卷積模型、

    2024年02月08日
    瀏覽(29)
  • SSM框架訓練 實現(xiàn)各個功能時遇到的常見問題

    SSM框架訓練 實現(xiàn)各個功能時遇到的常見問題

    快速復制當前代碼到下一行:ctrl+D 格式化代碼(快速整理代碼):ctril+alt+L 一步一步來,后續(xù)會不停添加功能。 先創(chuàng)建項目結(jié)構(gòu):搭建框架 (36條消息) SSM框架模板(高配:一次性配完所有需要的配置文件)_one day321的博客-CSDN博客 登錄與注冊 功能實現(xiàn) 的問題: 登錄很簡單,

    2024年02月13日
    瀏覽(16)
  • 【MMDetection】——訓練個人數(shù)據(jù)集

    【MMDetection】——訓練個人數(shù)據(jù)集

    mmdet支持COCO格式和VOC格式,能用COCO格式,還是建議COCO的。網(wǎng)上有YOLO轉(zhuǎn)COCO,VOC轉(zhuǎn)COCO,可以自己轉(zhuǎn)換。 在mmdetection代碼的根目錄下,創(chuàng)建 data/coco 文件夾,按照coco的格式排放好數(shù)據(jù)集。 annotations 下面是標簽文件, train2017 、 val2017 、 test2017 是圖片。 第一處: mmdet/core/evalutio

    2024年02月06日
    瀏覽(19)
  • 【計算機視覺】YOLO 入門:訓練 COCO128 數(shù)據(jù)集

    【計算機視覺】YOLO 入門:訓練 COCO128 數(shù)據(jù)集

    我們以最近大熱的YOLOv8為例,回顧一下之前的安裝過程: 這里選擇訓練的數(shù)據(jù)集為:COCO128 COCO128是一個小型教程數(shù)據(jù)集,由COCOtrain2017中的前128個圖像組成。 在YOLO中自帶的coco128.yaml文件: 1)可選的用于自動下載的下載命令/URL, 2)指向培訓圖像目錄的路徑(或指向帶有培訓

    2024年02月10日
    瀏覽(20)
  • 如何搭建自己的V Rising自建服務器,以及常見的V Rising服務器問題解決方案

    如何搭建自己的V Rising自建服務器,以及常見的V Rising服務器問題解決方案

    V rising官方服務器經(jīng)常無法連接,無法和小伙伴玩耍;如何搭建自己的V rising服務器呢?還可以修改掉落倍率,加快游戲進度,搭建自己的私人服務器。 最近V rising這個游戲很火呀,迫不及待地和小伙伴一起玩;但是,V rising官方的服務器實在是太不穩(wěn)定:延時高、丟包率高,

    2023年04月18日
    瀏覽(24)
  • 【v8初體驗】利用yolov8訓練COCO數(shù)據(jù)集或自定義數(shù)據(jù)集

    【v8初體驗】利用yolov8訓練COCO數(shù)據(jù)集或自定義數(shù)據(jù)集

    github地址:https://github.com/ultralytics/ultralytics YOLOv5目前仍然是很受到大家環(huán)境的,v8作為v5的升級之作效果的提升也非常明顯,但相比YOLOv5確實沒有作出較大改進,主要改進如下: Backbone : 主干部分主要是將所有C3模塊更換成C2f模塊,C2f借鑒了YOLOv7的思想,個人感覺應該是這種多

    2023年04月27日
    瀏覽(23)
  • MMdetection 環(huán)境配置、config文件解析以及訓練自定義VOC數(shù)據(jù)集

    MMdetection 環(huán)境配置、config文件解析以及訓練自定義VOC數(shù)據(jù)集

    MMDetection是針對目標檢測任務推出的一個開源項目,它基于Pytorch實現(xiàn)了大量的目標檢測算法,把數(shù)據(jù)集構(gòu)建、模型搭建、訓練策略等過程都封裝成了一個個模塊,通過模塊調(diào)用的方式,我們能夠以很少的代碼量實現(xiàn)一個新算法,大大提高了代碼復用率。本文記錄一下關(guān)于MMd

    2024年02月14日
    瀏覽(39)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包