生活随笔
收集整理的這篇文章主要介紹了
MMDETECTION微调模型
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在 COCO 數據集上預訓練的檢測器可以作為其他數據集(例如 CityScapes 和 KITTI 數據集)的良好預訓練模型。本教程指導用戶將Model Zoo 中提供的模型用于其他數據集以獲得更好的性能。
在新數據集上對模型進行微調有兩個步驟。
按照教程 2:自定義數據集添加對新數據集的支持。 修改本教程中將討論的配置。 以 Cityscapes Dataset 的微調過程為例,用戶需要修改配置中的五個部分。
繼承基本配置 為了減輕編寫整個配置的負擔并減少錯誤,MMDetection V2.0 支持從多個現有配置繼承配置。為了微調 Mask RCNN 模型,新的配置需要繼承 _base_/models/mask_rcnn_r50_fpn.py以構建模型的基本結構。要使用 Cityscapes 數據集,新配置也可以簡單地繼承_base_/datasets/cityscapes_instance.py. 對于訓練計劃等運行時設置,新配置需要繼承_base_/default_runtime.py. 這個配置在configs目錄中,用戶也可以選擇寫入整個內容而不是使用繼承。
_base_
= [ '../_base_/models/mask_rcnn_r50_fpn.py' , '../_base_/datasets/cityscapes_instance.py' , '../_base_/default_runtime.py'
]
修改頭 然后新配置需要根據新數據集的類號修改頭部。通過僅num_classes在 roi_head 中改變,預訓練模型的權重除最終預測頭外大部分都被重用。
model
= dict
( pretrained = None,
roi_head = dict
( bbox_head = dict
( type = 'Shared2FCBBoxHead' ,
in_channels = 256 ,
fc_out_channels = 1024 ,
roi_feat_size = 7 ,
num_classes = 8 ,
bbox_coder = dict
( type = 'DeltaXYWHBBoxCoder' ,
target_means = [ 0 .,
0 .,
0 .,
0 .
] ,
target_stds = [ 0.1 ,
0.1 ,
0.2 ,
0.2 ] ) ,
reg_class_agnostic = False,
loss_cls = dict
( type = 'CrossEntropyLoss' ,
use_sigmoid = False,
loss_weight = 1.0 ) ,
loss_bbox = dict
( type
= 'SmoothL1Loss' ,
beta = 1.0 ,
loss_weight = 1.0 )) ,
mask_head = dict
( type = 'FCNMaskHead' ,
num_convs = 4 ,
in_channels = 256 ,
conv_out_channels = 256 ,
num_classes = 8 ,
loss_mask = dict
( type = 'CrossEntropyLoss' ,
use_mask = True,
loss_weight = 1.0 )) ))
修改數據集 用戶可能還需要準備數據集并編寫有關數據集的配置。MMDetection V2.0 已經支持 VOC、WIDER FACE、COCO 和 Cityscapes 數據集。
修改訓練計劃 微調超參數與默認計劃不同。它通常需要較小的學習率和較少的訓練時期
optimizer
= dict
( type
= 'SGD' ,
lr = 0.01 ,
momentum = 0.9 ,
weight_decay = 0.0001 )
optimizer_config
= dict
( grad_clip
= None
)
lr_config
= dict
( policy = 'step' ,
warmup = 'linear' ,
warmup_iters = 500 ,
warmup_ratio = 0.001 ,
step = [ 7 ] )
runner
= dict
( max_epochs
= 8 )
log_config
= dict
( interval
= 100 )
使用預訓練模型 要使用預訓練模型,新配置在load_from. 用戶可能需要在訓練前下載模型權重,以避免訓練期間的下載時間。
load_from
= 'https://download.openmmlab.com/mmdetection/v2.0/mask_rcnn/mask_rcnn_r50_caffe_fpn_mstrain-poly_3x_coco/mask_rcnn_r50_caffe_fpn_mstrain-poly_3x_coco_bbox_mAP-0.408__segm_mAP-0.37_20200504_163245-42aa3d00.pth'
總結
以上是生活随笔 為你收集整理的MMDETECTION微调模型 的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔 網站內容還不錯,歡迎將生活随笔 推薦給好友。