From d92844abf9af8fe6c281f3196020003bb20a38b8 Mon Sep 17 00:00:00 2001 From: Yue Zhou <592267829@qq.com> Date: Tue, 28 Mar 2023 10:23:02 +0800 Subject: [PATCH] [Feature] File I/O migration and reconstruction (#783) * update * Update dota_coco.py * update * fix --- configs/_base_/datasets/dior.py | 14 +++++---- configs/_base_/datasets/dota.py | 8 ++--- configs/_base_/datasets/dota_coco.py | 20 +++++++----- configs/_base_/datasets/dota_ms.py | 8 ++--- configs/_base_/datasets/dota_qbox.py | 8 ++--- configs/_base_/datasets/dotav15.py | 8 ++--- configs/_base_/datasets/dotav2.py | 8 ++--- configs/_base_/datasets/hrsc.py | 14 +++++---- configs/_base_/datasets/hrsid.py | 14 +++++---- configs/_base_/datasets/rsdd.py | 14 +++++---- configs/_base_/datasets/srsdd.py | 14 +++++---- configs/_base_/datasets/ssdd.py | 14 +++++---- configs/cfa/cfa-qbox_r50_fpn_1x_dota.py | 4 +-- configs/cfa/cfa-qbox_r50_fpn_40e_dota.py | 4 +-- .../dior/h2rbox-le90_r50_fpn_adamw-1x_dior.py | 4 +-- .../h2rbox-le90_r50_fpn_adamw-1x_dotav15.py | 4 +-- .../h2rbox-le90_r50_fpn_adamw-1x_dotav2.py | 4 +-- .../h2rbox-le90_r50_fpn_adamw-1x_dota.py | 4 +-- ...oriented-reppoints-qbox_r50_fpn_1x_dota.py | 4 +-- ...reppoints-qbox_r50_fpn_mstrain-40e_dota.py | 4 +-- .../roi-trans-le90_r50_fpn_1x_dota-ms.py | 4 +-- .../rotated-fcos-le90_r50_fpn_rr-6x_hrsc.py | 4 +-- .../rotated-reppoints-qbox_r50_fpn_1x_dota.py | 4 +-- ...ed-retinanet-hbox-le135_r50_fpn_1x_dota.py | 4 +-- ...ted-retinanet-hbox-le90_r50_fpn_1x_dota.py | 4 +-- ...tated-retinanet-hbox-oc_r50_fpn_1x_dota.py | 4 +-- ...ed-retinanet-hbox-oc_r50_fpn_rr-6x_hrsc.py | 4 +-- ...-retinanet-rbox-le90_r50_fpn_rr-6x_hrsc.py | 4 +-- configs/rotated_rtmdet/_base_/dota_rr.py | 8 ++--- configs/rotated_rtmdet/_base_/dota_rr_ms.py | 8 ++--- configs/rotated_rtmdet/_base_/hrsc_rr.py | 14 +++++---- .../rotated_rtmdet_l-100e-aug-dota.py | 8 ++--- .../rotated_rtmdet_l-300e-aug-hrsc.py | 8 ++--- .../rotated_rtmdet_tiny-300e-aug-hrsc.py | 8 ++--- .../sasm-reppoints-qbox_r50_fpn_1x_dota.py | 4 +-- docs/en/notes/faq.md | 2 +- docs/zh_cn/notes/faq.md | 2 +- mmrotate/__init__.py | 6 ++-- mmrotate/datasets/dior.py | 31 ++++++++++++------- mmrotate/datasets/hrsc.py | 31 ++++++++++++------- .../RR360/configs360/_base_/datasets/dota.py | 8 ++--- .../rotated_rtmdet_x3/_base_/dota_rr.py | 8 ++--- .../rotated_rtmdet_x3_r/_base_/dota_rr.py | 8 ++--- 43 files changed, 175 insertions(+), 187 deletions(-) diff --git a/configs/_base_/datasets/dior.py b/configs/_base_/datasets/dior.py index e9f4781c4..bb05bbfcf 100755 --- a/configs/_base_/datasets/dior.py +++ b/configs/_base_/datasets/dior.py @@ -1,10 +1,10 @@ # dataset settings dataset_type = 'DIORDataset' data_root = 'data/DIOR/' -file_client_args = dict(backend='disk') +backend_args = None train_pipeline = [ - dict(type='mmdet.LoadImageFromFile', file_client_args=file_client_args), + dict(type='mmdet.LoadImageFromFile', backend_args=backend_args), dict(type='mmdet.LoadAnnotations', with_bbox=True, box_type='qbox'), dict(type='ConvertBoxType', box_type_mapping=dict(gt_bboxes='rbox')), dict(type='mmdet.Resize', scale=(800, 800), keep_ratio=True), @@ -15,7 +15,7 @@ dict(type='mmdet.PackDetInputs') ] val_pipeline = [ - dict(type='mmdet.LoadImageFromFile', file_client_args=file_client_args), + dict(type='mmdet.LoadImageFromFile', backend_args=backend_args), dict(type='mmdet.Resize', scale=(800, 800), keep_ratio=True), # avoid bboxes being resized dict(type='mmdet.LoadAnnotations', with_bbox=True, box_type='qbox'), @@ -26,7 +26,7 @@ 'scale_factor')) ] test_pipeline = [ - dict(type='mmdet.LoadImageFromFile', file_client_args=file_client_args), + dict(type='mmdet.LoadImageFromFile', backend_args=backend_args), dict(type='mmdet.Resize', scale=(800, 800), keep_ratio=True), dict( type='mmdet.PackDetInputs', @@ -56,7 +56,8 @@ ann_file='ImageSets/Main/val.txt', data_prefix=dict(img_path='JPEGImages-trainval'), filter_cfg=dict(filter_empty_gt=True), - pipeline=train_pipeline) + pipeline=train_pipeline, + backend_args=backend_args) ])) val_dataloader = dict( batch_size=1, @@ -70,7 +71,8 @@ ann_file='ImageSets/Main/test.txt', data_prefix=dict(img_path='JPEGImages-test'), test_mode=True, - pipeline=val_pipeline)) + pipeline=val_pipeline, + backend_args=backend_args)) test_dataloader = val_dataloader val_evaluator = dict(type='DOTAMetric', metric='mAP') diff --git a/configs/_base_/datasets/dota.py b/configs/_base_/datasets/dota.py index 640f31b94..afc25183a 100644 --- a/configs/_base_/datasets/dota.py +++ b/configs/_base_/datasets/dota.py @@ -1,10 +1,10 @@ # dataset settings dataset_type = 'DOTADataset' data_root = 'data/split_ss_dota/' -file_client_args = dict(backend='disk') +backend_args = None train_pipeline = [ - dict(type='mmdet.LoadImageFromFile', file_client_args=file_client_args), + dict(type='mmdet.LoadImageFromFile', backend_args=backend_args), dict(type='mmdet.LoadAnnotations', with_bbox=True, box_type='qbox'), dict(type='ConvertBoxType', box_type_mapping=dict(gt_bboxes='rbox')), dict(type='mmdet.Resize', scale=(1024, 1024), keep_ratio=True), @@ -15,7 +15,7 @@ dict(type='mmdet.PackDetInputs') ] val_pipeline = [ - dict(type='mmdet.LoadImageFromFile', file_client_args=file_client_args), + dict(type='mmdet.LoadImageFromFile', backend_args=backend_args), dict(type='mmdet.Resize', scale=(1024, 1024), keep_ratio=True), # avoid bboxes being resized dict(type='mmdet.LoadAnnotations', with_bbox=True, box_type='qbox'), @@ -26,7 +26,7 @@ 'scale_factor')) ] test_pipeline = [ - dict(type='mmdet.LoadImageFromFile', file_client_args=file_client_args), + dict(type='mmdet.LoadImageFromFile', backend_args=backend_args), dict(type='mmdet.Resize', scale=(1024, 1024), keep_ratio=True), dict( type='mmdet.PackDetInputs', diff --git a/configs/_base_/datasets/dota_coco.py b/configs/_base_/datasets/dota_coco.py index a1f0d3888..dc8b8f14b 100644 --- a/configs/_base_/datasets/dota_coco.py +++ b/configs/_base_/datasets/dota_coco.py @@ -1,10 +1,10 @@ # dataset settings dataset_type = 'mmdet.CocoDataset' data_root = 'data/split_ms_dota/' -file_client_args = dict(backend='disk') +backend_args = None train_pipeline = [ - dict(type='mmdet.LoadImageFromFile', file_client_args=file_client_args), + dict(type='mmdet.LoadImageFromFile', backend_args=backend_args), dict( type='mmdet.LoadAnnotations', with_bbox=True, @@ -19,7 +19,7 @@ dict(type='mmdet.PackDetInputs') ] val_pipeline = [ - dict(type='mmdet.LoadImageFromFile', file_client_args=file_client_args), + dict(type='mmdet.LoadImageFromFile', backend_args=backend_args), dict(type='mmdet.Resize', scale=(1024, 1024), keep_ratio=True), # avoid bboxes being resized dict( @@ -34,7 +34,7 @@ 'scale_factor', 'instances')) ] test_pipeline = [ - dict(type='mmdet.LoadImageFromFile', file_client_args=file_client_args), + dict(type='mmdet.LoadImageFromFile', backend_args=backend_args), dict(type='mmdet.Resize', scale=(1024, 1024), keep_ratio=True), dict( type='mmdet.PackDetInputs', @@ -61,7 +61,8 @@ ann_file='train/train.json', data_prefix=dict(img='train/images/'), filter_cfg=dict(filter_empty_gt=True), - pipeline=train_pipeline)) + pipeline=train_pipeline, + backend_args=backend_args)) val_dataloader = dict( batch_size=1, num_workers=2, @@ -75,10 +76,15 @@ ann_file='val/val.json', data_prefix=dict(img='val/images/'), test_mode=True, - pipeline=val_pipeline)) + pipeline=val_pipeline, + backend_args=backend_args)) test_dataloader = val_dataloader -val_evaluator = dict(type='RotatedCocoMetric', metric='bbox', classwise=True) +val_evaluator = dict( + type='RotatedCocoMetric', + metric='bbox', + classwise=True, + backend_args=backend_args) test_evaluator = val_evaluator diff --git a/configs/_base_/datasets/dota_ms.py b/configs/_base_/datasets/dota_ms.py index 00a4a1df6..ad4cefef6 100644 --- a/configs/_base_/datasets/dota_ms.py +++ b/configs/_base_/datasets/dota_ms.py @@ -1,10 +1,10 @@ # dataset settings dataset_type = 'DOTADataset' data_root = 'data/split_ms_dota/' -file_client_args = dict(backend='disk') +backend_args = None train_pipeline = [ - dict(type='mmdet.LoadImageFromFile', file_client_args=file_client_args), + dict(type='mmdet.LoadImageFromFile', backend_args=backend_args), dict(type='mmdet.LoadAnnotations', with_bbox=True, box_type='qbox'), dict(type='ConvertBoxType', box_type_mapping=dict(gt_bboxes='rbox')), dict(type='mmdet.Resize', scale=(1024, 1024), keep_ratio=True), @@ -20,7 +20,7 @@ dict(type='mmdet.PackDetInputs') ] val_pipeline = [ - dict(type='mmdet.LoadImageFromFile', file_client_args=file_client_args), + dict(type='mmdet.LoadImageFromFile', backend_args=backend_args), dict(type='mmdet.Resize', scale=(1024, 1024), keep_ratio=True), # avoid bboxes being resized dict(type='mmdet.LoadAnnotations', with_bbox=True, box_type='qbox'), @@ -31,7 +31,7 @@ 'scale_factor')) ] test_pipeline = [ - dict(type='mmdet.LoadImageFromFile', file_client_args=file_client_args), + dict(type='mmdet.LoadImageFromFile', backend_args=backend_args), dict(type='mmdet.Resize', scale=(1024, 1024), keep_ratio=True), dict( type='mmdet.PackDetInputs', diff --git a/configs/_base_/datasets/dota_qbox.py b/configs/_base_/datasets/dota_qbox.py index df2c9a2d4..b6edf3791 100644 --- a/configs/_base_/datasets/dota_qbox.py +++ b/configs/_base_/datasets/dota_qbox.py @@ -1,10 +1,10 @@ # dataset settings dataset_type = 'DOTADataset' data_root = 'data/split_ss_dota/' -file_client_args = dict(backend='disk') +backend_args = None train_pipeline = [ - dict(type='mmdet.LoadImageFromFile', file_client_args=file_client_args), + dict(type='mmdet.LoadImageFromFile', backend_args=backend_args), dict(type='mmdet.LoadAnnotations', with_bbox=True, box_type='qbox'), dict(type='mmdet.Resize', scale=(1024, 1024), keep_ratio=True), dict( @@ -14,7 +14,7 @@ dict(type='mmdet.PackDetInputs') ] val_pipeline = [ - dict(type='mmdet.LoadImageFromFile', file_client_args=file_client_args), + dict(type='mmdet.LoadImageFromFile', backend_args=backend_args), dict(type='mmdet.Resize', scale=(1024, 1024), keep_ratio=True), # avoid bboxes being resized dict(type='mmdet.LoadAnnotations', with_bbox=True, box_type='qbox'), @@ -24,7 +24,7 @@ 'scale_factor')) ] test_pipeline = [ - dict(type='mmdet.LoadImageFromFile', file_client_args=file_client_args), + dict(type='mmdet.LoadImageFromFile', backend_args=backend_args), dict(type='mmdet.Resize', scale=(1024, 1024), keep_ratio=True), dict( type='mmdet.PackDetInputs', diff --git a/configs/_base_/datasets/dotav15.py b/configs/_base_/datasets/dotav15.py index 32b8673b0..fef2ea5d1 100644 --- a/configs/_base_/datasets/dotav15.py +++ b/configs/_base_/datasets/dotav15.py @@ -1,10 +1,10 @@ # dataset settings dataset_type = 'DOTAv15Dataset' data_root = 'data/split_ss_dota1_5/' -file_client_args = dict(backend='disk') +backend_args = None train_pipeline = [ - dict(type='mmdet.LoadImageFromFile', file_client_args=file_client_args), + dict(type='mmdet.LoadImageFromFile', backend_args=backend_args), dict(type='mmdet.LoadAnnotations', with_bbox=True, box_type='qbox'), dict(type='ConvertBoxType', box_type_mapping=dict(gt_bboxes='rbox')), dict(type='mmdet.Resize', scale=(1024, 1024), keep_ratio=True), @@ -15,7 +15,7 @@ dict(type='mmdet.PackDetInputs') ] val_pipeline = [ - dict(type='mmdet.LoadImageFromFile', file_client_args=file_client_args), + dict(type='mmdet.LoadImageFromFile', backend_args=backend_args), dict(type='mmdet.Resize', scale=(1024, 1024), keep_ratio=True), # avoid bboxes being resized dict(type='mmdet.LoadAnnotations', with_bbox=True, box_type='qbox'), @@ -26,7 +26,7 @@ 'scale_factor')) ] test_pipeline = [ - dict(type='mmdet.LoadImageFromFile', file_client_args=file_client_args), + dict(type='mmdet.LoadImageFromFile', backend_args=backend_args), dict(type='mmdet.Resize', scale=(1024, 1024), keep_ratio=True), dict( type='mmdet.PackDetInputs', diff --git a/configs/_base_/datasets/dotav2.py b/configs/_base_/datasets/dotav2.py index 9525bd3b0..63ca575b7 100644 --- a/configs/_base_/datasets/dotav2.py +++ b/configs/_base_/datasets/dotav2.py @@ -1,10 +1,10 @@ # dataset settings dataset_type = 'DOTAv2Dataset' data_root = 'data/split_ss_dota2_0/' -file_client_args = dict(backend='disk') +backend_args = None train_pipeline = [ - dict(type='mmdet.LoadImageFromFile', file_client_args=file_client_args), + dict(type='mmdet.LoadImageFromFile', backend_args=backend_args), dict(type='mmdet.LoadAnnotations', with_bbox=True, box_type='qbox'), dict(type='ConvertBoxType', box_type_mapping=dict(gt_bboxes='rbox')), dict(type='mmdet.Resize', scale=(1024, 1024), keep_ratio=True), @@ -15,7 +15,7 @@ dict(type='mmdet.PackDetInputs') ] val_pipeline = [ - dict(type='mmdet.LoadImageFromFile', file_client_args=file_client_args), + dict(type='mmdet.LoadImageFromFile', backend_args=backend_args), dict(type='mmdet.Resize', scale=(1024, 1024), keep_ratio=True), # avoid bboxes being resized dict(type='mmdet.LoadAnnotations', with_bbox=True, box_type='qbox'), @@ -26,7 +26,7 @@ 'scale_factor')) ] test_pipeline = [ - dict(type='mmdet.LoadImageFromFile', file_client_args=file_client_args), + dict(type='mmdet.LoadImageFromFile', backend_args=backend_args), dict(type='mmdet.Resize', scale=(1024, 1024), keep_ratio=True), dict( type='mmdet.PackDetInputs', diff --git a/configs/_base_/datasets/hrsc.py b/configs/_base_/datasets/hrsc.py index a31c34fd2..77c8ad144 100644 --- a/configs/_base_/datasets/hrsc.py +++ b/configs/_base_/datasets/hrsc.py @@ -1,10 +1,10 @@ # dataset settings dataset_type = 'HRSCDataset' data_root = 'data/hrsc/' -file_client_args = dict(backend='disk') +backend_args = None train_pipeline = [ - dict(type='mmdet.LoadImageFromFile', file_client_args=file_client_args), + dict(type='mmdet.LoadImageFromFile', backend_args=backend_args), dict(type='mmdet.LoadAnnotations', with_bbox=True, box_type='qbox'), dict(type='ConvertBoxType', box_type_mapping=dict(gt_bboxes='rbox')), dict(type='mmdet.Resize', scale=(800, 512), keep_ratio=True), @@ -15,7 +15,7 @@ dict(type='mmdet.PackDetInputs') ] val_pipeline = [ - dict(type='mmdet.LoadImageFromFile', file_client_args=file_client_args), + dict(type='mmdet.LoadImageFromFile', backend_args=backend_args), dict(type='mmdet.Resize', scale=(800, 512), keep_ratio=True), # avoid bboxes being resized dict(type='mmdet.LoadAnnotations', with_bbox=True, box_type='qbox'), @@ -26,7 +26,7 @@ 'scale_factor')) ] test_pipeline = [ - dict(type='mmdet.LoadImageFromFile', file_client_args=file_client_args), + dict(type='mmdet.LoadImageFromFile', backend_args=backend_args), dict(type='mmdet.Resize', scale=(800, 512), keep_ratio=True), dict( type='mmdet.PackDetInputs', @@ -45,7 +45,8 @@ ann_file='ImageSets/trainval.txt', data_prefix=dict(sub_data_root='FullDataSet/'), filter_cfg=dict(filter_empty_gt=True), - pipeline=train_pipeline)) + pipeline=train_pipeline, + backend_args=backend_args)) val_dataloader = dict( batch_size=1, num_workers=2, @@ -58,7 +59,8 @@ ann_file='ImageSets/test.txt', data_prefix=dict(sub_data_root='FullDataSet/'), test_mode=True, - pipeline=val_pipeline)) + pipeline=val_pipeline, + backend_args=backend_args)) test_dataloader = val_dataloader val_evaluator = dict(type='DOTAMetric', metric='mAP') diff --git a/configs/_base_/datasets/hrsid.py b/configs/_base_/datasets/hrsid.py index 5c320ac1d..65cca75da 100644 --- a/configs/_base_/datasets/hrsid.py +++ b/configs/_base_/datasets/hrsid.py @@ -1,10 +1,10 @@ # dataset settings dataset_type = 'mmdet.CocoDataset' data_root = 'data/HRSID_JPG/' -file_client_args = dict(backend='disk') +backend_args = None train_pipeline = [ - dict(type='mmdet.LoadImageFromFile', file_client_args=file_client_args), + dict(type='mmdet.LoadImageFromFile', backend_args=backend_args), dict( type='mmdet.LoadAnnotations', with_bbox=True, @@ -20,7 +20,7 @@ dict(type='mmdet.PackDetInputs') ] val_pipeline = [ - dict(type='mmdet.LoadImageFromFile', file_client_args=file_client_args), + dict(type='mmdet.LoadImageFromFile', backend_args=backend_args), dict(type='mmdet.Resize', scale=(800, 800), keep_ratio=True), # avoid bboxes being resized dict( @@ -35,7 +35,7 @@ 'scale_factor', 'instances')) ] test_pipeline = [ - dict(type='mmdet.LoadImageFromFile', file_client_args=file_client_args), + dict(type='mmdet.LoadImageFromFile', backend_args=backend_args), dict(type='mmdet.Resize', scale=(800, 800), keep_ratio=True), dict( type='mmdet.PackDetInputs', @@ -58,7 +58,8 @@ ann_file='annotations/train2017.json', data_prefix=dict(img='JPEGImages/'), filter_cfg=dict(filter_empty_gt=True), - pipeline=train_pipeline)) + pipeline=train_pipeline, + backend_args=backend_args)) val_dataloader = dict( batch_size=1, num_workers=2, @@ -72,7 +73,8 @@ ann_file='annotations/test2017.json', data_prefix=dict(img='JPEGImages/'), test_mode=True, - pipeline=val_pipeline)) + pipeline=val_pipeline, + backend_args=backend_args)) test_dataloader = val_dataloader val_evaluator = dict(type='RotatedCocoMetric', metric='bbox') diff --git a/configs/_base_/datasets/rsdd.py b/configs/_base_/datasets/rsdd.py index 3fc1c6a3c..78799af69 100644 --- a/configs/_base_/datasets/rsdd.py +++ b/configs/_base_/datasets/rsdd.py @@ -1,10 +1,10 @@ # dataset settings dataset_type = 'mmdet.CocoDataset' data_root = 'data/rsdd/' -file_client_args = dict(backend='disk') +backend_args = None train_pipeline = [ - dict(type='mmdet.LoadImageFromFile', file_client_args=file_client_args), + dict(type='mmdet.LoadImageFromFile', backend_args=backend_args), dict( type='mmdet.LoadAnnotations', with_bbox=True, @@ -19,7 +19,7 @@ dict(type='mmdet.PackDetInputs') ] val_pipeline = [ - dict(type='mmdet.LoadImageFromFile', file_client_args=file_client_args), + dict(type='mmdet.LoadImageFromFile', backend_args=backend_args), dict(type='mmdet.Resize', scale=(512, 512), keep_ratio=True), # avoid bboxes being resized dict( @@ -34,7 +34,7 @@ 'scale_factor', 'instances')) ] test_pipeline = [ - dict(type='mmdet.LoadImageFromFile', file_client_args=file_client_args), + dict(type='mmdet.LoadImageFromFile', backend_args=backend_args), dict(type='mmdet.Resize', scale=(512, 512), keep_ratio=True), dict( type='mmdet.PackDetInputs', @@ -57,7 +57,8 @@ ann_file='ImageSets/train.json', data_prefix=dict(img='JPEGImages/'), filter_cfg=dict(filter_empty_gt=True), - pipeline=train_pipeline)) + pipeline=train_pipeline, + backend_args=backend_args)) val_dataloader = dict( batch_size=1, num_workers=2, @@ -71,7 +72,8 @@ ann_file='ImageSets/test.json', data_prefix=dict(img='JPEGImages/'), test_mode=True, - pipeline=val_pipeline)) + pipeline=val_pipeline, + backend_args=backend_args)) test_dataloader = val_dataloader val_evaluator = dict(type='RotatedCocoMetric', metric='bbox') diff --git a/configs/_base_/datasets/srsdd.py b/configs/_base_/datasets/srsdd.py index 52cdab65b..57aa6be87 100644 --- a/configs/_base_/datasets/srsdd.py +++ b/configs/_base_/datasets/srsdd.py @@ -1,10 +1,10 @@ # dataset settings dataset_type = 'mmdet.CocoDataset' data_root = 'data/srsdd/' -file_client_args = dict(backend='disk') +backend_args = None train_pipeline = [ - dict(type='mmdet.LoadImageFromFile', file_client_args=file_client_args), + dict(type='mmdet.LoadImageFromFile', backend_args=backend_args), dict( type='mmdet.LoadAnnotations', with_bbox=True, @@ -19,7 +19,7 @@ dict(type='mmdet.PackDetInputs') ] val_pipeline = [ - dict(type='mmdet.LoadImageFromFile', file_client_args=file_client_args), + dict(type='mmdet.LoadImageFromFile', backend_args=backend_args), dict(type='mmdet.Resize', scale=(1024, 1024), keep_ratio=True), # avoid bboxes being resized dict( @@ -34,7 +34,7 @@ 'scale_factor', 'instances')) ] test_pipeline = [ - dict(type='mmdet.LoadImageFromFile', file_client_args=file_client_args), + dict(type='mmdet.LoadImageFromFile', backend_args=backend_args), dict(type='mmdet.Resize', scale=(1024, 1024), keep_ratio=True), dict( type='mmdet.PackDetInputs', @@ -59,7 +59,8 @@ ann_file='train/train.json', data_prefix=dict(img='train/images/'), filter_cfg=dict(filter_empty_gt=True), - pipeline=train_pipeline)) + pipeline=train_pipeline, + backend_args=backend_args)) val_dataloader = dict( batch_size=1, num_workers=2, @@ -73,7 +74,8 @@ ann_file='test/test.json', data_prefix=dict(img='test/images/'), test_mode=True, - pipeline=val_pipeline)) + pipeline=val_pipeline, + backend_args=backend_args)) test_dataloader = val_dataloader val_evaluator = dict(type='RotatedCocoMetric', metric='bbox') diff --git a/configs/_base_/datasets/ssdd.py b/configs/_base_/datasets/ssdd.py index c1fb5cd57..64781a1b0 100644 --- a/configs/_base_/datasets/ssdd.py +++ b/configs/_base_/datasets/ssdd.py @@ -1,10 +1,10 @@ # dataset settings dataset_type = 'mmdet.CocoDataset' data_root = 'data/ssdd/' -file_client_args = dict(backend='disk') +backend_args = None train_pipeline = [ - dict(type='mmdet.LoadImageFromFile', file_client_args=file_client_args), + dict(type='mmdet.LoadImageFromFile', backend_args=backend_args), dict( type='mmdet.LoadAnnotations', with_bbox=True, @@ -19,7 +19,7 @@ dict(type='mmdet.PackDetInputs') ] val_pipeline = [ - dict(type='mmdet.LoadImageFromFile', file_client_args=file_client_args), + dict(type='mmdet.LoadImageFromFile', backend_args=backend_args), dict(type='mmdet.Resize', scale=(512, 512), keep_ratio=True), # avoid bboxes being resized dict( @@ -34,7 +34,7 @@ 'scale_factor', 'instances')) ] test_pipeline = [ - dict(type='mmdet.LoadImageFromFile', file_client_args=file_client_args), + dict(type='mmdet.LoadImageFromFile', backend_args=backend_args), dict(type='mmdet.Resize', scale=(512, 512), keep_ratio=True), dict( type='mmdet.PackDetInputs', @@ -57,7 +57,8 @@ ann_file='train/train.json', data_prefix=dict(img='train/images/'), filter_cfg=dict(filter_empty_gt=True), - pipeline=train_pipeline)) + pipeline=train_pipeline, + backend_args=backend_args)) val_dataloader = dict( batch_size=1, num_workers=2, @@ -71,7 +72,8 @@ ann_file='test/all/test.json', data_prefix=dict(img='test/all/images/'), test_mode=True, - pipeline=val_pipeline)) + pipeline=val_pipeline, + backend_args=backend_args)) test_dataloader = val_dataloader val_evaluator = dict(type='RotatedCocoMetric', metric='bbox') diff --git a/configs/cfa/cfa-qbox_r50_fpn_1x_dota.py b/configs/cfa/cfa-qbox_r50_fpn_1x_dota.py index 6640be68d..ab27993d1 100644 --- a/configs/cfa/cfa-qbox_r50_fpn_1x_dota.py +++ b/configs/cfa/cfa-qbox_r50_fpn_1x_dota.py @@ -79,9 +79,7 @@ max_per_img=2000)) train_pipeline = [ - dict( - type='mmdet.LoadImageFromFile', - file_client_args={{_base_.file_client_args}}), + dict(type='mmdet.LoadImageFromFile', backend_args={{_base_.backend_args}}), dict(type='mmdet.LoadAnnotations', with_bbox=True, box_type='qbox'), dict(type='mmdet.Resize', scale=(1024, 1024), keep_ratio=True), dict( diff --git a/configs/cfa/cfa-qbox_r50_fpn_40e_dota.py b/configs/cfa/cfa-qbox_r50_fpn_40e_dota.py index a6f6351bd..f2013490a 100644 --- a/configs/cfa/cfa-qbox_r50_fpn_40e_dota.py +++ b/configs/cfa/cfa-qbox_r50_fpn_40e_dota.py @@ -77,9 +77,7 @@ max_per_img=2000)) train_pipeline = [ - dict( - type='mmdet.LoadImageFromFile', - file_client_args={{_base_.file_client_args}}), + dict(type='mmdet.LoadImageFromFile', backend_args={{_base_.backend_args}}), dict(type='mmdet.LoadAnnotations', with_bbox=True, box_type='qbox'), dict(type='mmdet.Resize', scale=(1024, 1024), keep_ratio=True), dict( diff --git a/configs/h2rbox/dior/h2rbox-le90_r50_fpn_adamw-1x_dior.py b/configs/h2rbox/dior/h2rbox-le90_r50_fpn_adamw-1x_dior.py index 7838ae287..48a4330f1 100644 --- a/configs/h2rbox/dior/h2rbox-le90_r50_fpn_adamw-1x_dior.py +++ b/configs/h2rbox/dior/h2rbox-le90_r50_fpn_adamw-1x_dior.py @@ -79,9 +79,7 @@ # load hbox annotations train_pipeline = [ - dict( - type='mmdet.LoadImageFromFile', - file_client_args={{_base_.file_client_args}}), + dict(type='mmdet.LoadImageFromFile', backend_args={{_base_.backend_args}}), dict(type='mmdet.LoadAnnotations', with_bbox=True, box_type='qbox'), # Horizontal GTBox, (x,y,w,h,theta) dict(type='ConvertBoxType', box_type_mapping=dict(gt_bboxes='rbox')), diff --git a/configs/h2rbox/dotav15/h2rbox-le90_r50_fpn_adamw-1x_dotav15.py b/configs/h2rbox/dotav15/h2rbox-le90_r50_fpn_adamw-1x_dotav15.py index 38172394f..8976bc221 100644 --- a/configs/h2rbox/dotav15/h2rbox-le90_r50_fpn_adamw-1x_dotav15.py +++ b/configs/h2rbox/dotav15/h2rbox-le90_r50_fpn_adamw-1x_dotav15.py @@ -77,9 +77,7 @@ # load hbox annotations train_pipeline = [ - dict( - type='mmdet.LoadImageFromFile', - file_client_args={{_base_.file_client_args}}), + dict(type='mmdet.LoadImageFromFile', backend_args={{_base_.backend_args}}), dict(type='mmdet.LoadAnnotations', with_bbox=True, box_type='qbox'), # Horizontal GTBox, (x1,y1,x2,y2) dict(type='ConvertBoxType', box_type_mapping=dict(gt_bboxes='hbox')), diff --git a/configs/h2rbox/dotav2/h2rbox-le90_r50_fpn_adamw-1x_dotav2.py b/configs/h2rbox/dotav2/h2rbox-le90_r50_fpn_adamw-1x_dotav2.py index 2c0683552..6e7758090 100644 --- a/configs/h2rbox/dotav2/h2rbox-le90_r50_fpn_adamw-1x_dotav2.py +++ b/configs/h2rbox/dotav2/h2rbox-le90_r50_fpn_adamw-1x_dotav2.py @@ -79,9 +79,7 @@ # load hbox annotations train_pipeline = [ - dict( - type='mmdet.LoadImageFromFile', - file_client_args={{_base_.file_client_args}}), + dict(type='mmdet.LoadImageFromFile', backend_args={{_base_.backend_args}}), dict(type='mmdet.LoadAnnotations', with_bbox=True, box_type='qbox'), # Horizontal GTBox, (x1,y1,x2,y2) dict(type='ConvertBoxType', box_type_mapping=dict(gt_bboxes='hbox')), diff --git a/configs/h2rbox/h2rbox-le90_r50_fpn_adamw-1x_dota.py b/configs/h2rbox/h2rbox-le90_r50_fpn_adamw-1x_dota.py index a2ba784a3..47340eab6 100644 --- a/configs/h2rbox/h2rbox-le90_r50_fpn_adamw-1x_dota.py +++ b/configs/h2rbox/h2rbox-le90_r50_fpn_adamw-1x_dota.py @@ -77,9 +77,7 @@ # load hbox annotations train_pipeline = [ - dict( - type='mmdet.LoadImageFromFile', - file_client_args={{_base_.file_client_args}}), + dict(type='mmdet.LoadImageFromFile', backend_args={{_base_.backend_args}}), dict(type='mmdet.LoadAnnotations', with_bbox=True, box_type='qbox'), # Horizontal GTBox, (x1,y1,x2,y2) dict(type='ConvertBoxType', box_type_mapping=dict(gt_bboxes='hbox')), diff --git a/configs/oriented_reppoints/oriented-reppoints-qbox_r50_fpn_1x_dota.py b/configs/oriented_reppoints/oriented-reppoints-qbox_r50_fpn_1x_dota.py index 21db1f598..a3db9fd11 100644 --- a/configs/oriented_reppoints/oriented-reppoints-qbox_r50_fpn_1x_dota.py +++ b/configs/oriented_reppoints/oriented-reppoints-qbox_r50_fpn_1x_dota.py @@ -80,9 +80,7 @@ max_per_img=2000)) train_pipeline = [ - dict( - type='mmdet.LoadImageFromFile', - file_client_args={{_base_.file_client_args}}), + dict(type='mmdet.LoadImageFromFile', backend_args={{_base_.backend_args}}), dict(type='mmdet.LoadAnnotations', with_bbox=True, box_type='qbox'), dict(type='mmdet.Resize', scale=(1024, 1024), keep_ratio=True), dict( diff --git a/configs/oriented_reppoints/oriented-reppoints-qbox_r50_fpn_mstrain-40e_dota.py b/configs/oriented_reppoints/oriented-reppoints-qbox_r50_fpn_mstrain-40e_dota.py index 479f8c56c..1216eb91b 100644 --- a/configs/oriented_reppoints/oriented-reppoints-qbox_r50_fpn_mstrain-40e_dota.py +++ b/configs/oriented_reppoints/oriented-reppoints-qbox_r50_fpn_mstrain-40e_dota.py @@ -80,9 +80,7 @@ max_per_img=2000)) train_pipeline = [ - dict( - type='mmdet.LoadImageFromFile', - file_client_args={{_base_.file_client_args}}), + dict(type='mmdet.LoadImageFromFile', backend_args={{_base_.backend_args}}), dict(type='mmdet.LoadAnnotations', with_bbox=True, box_type='qbox'), dict( type='mmdet.RandomResize', diff --git a/configs/roi_trans/roi-trans-le90_r50_fpn_1x_dota-ms.py b/configs/roi_trans/roi-trans-le90_r50_fpn_1x_dota-ms.py index 99e4d8731..366f2fc16 100644 --- a/configs/roi_trans/roi-trans-le90_r50_fpn_1x_dota-ms.py +++ b/configs/roi_trans/roi-trans-le90_r50_fpn_1x_dota-ms.py @@ -1,9 +1,7 @@ _base_ = './roi-trans-le90_r50_fpn_rr-1x_dota-ms.py' train_pipeline = [ - dict( - type='mmdet.LoadImageFromFile', - file_client_args={{_base_.file_client_args}}), + dict(type='mmdet.LoadImageFromFile', backend_args={{_base_.backend_args}}), dict(type='mmdet.LoadAnnotations', with_bbox=True, box_type='qbox'), dict(type='ConvertBoxType', box_type_mapping=dict(gt_bboxes='rbox')), dict(type='mmdet.Resize', scale=(1024, 1024), keep_ratio=True), diff --git a/configs/rotated_fcos/rotated-fcos-le90_r50_fpn_rr-6x_hrsc.py b/configs/rotated_fcos/rotated-fcos-le90_r50_fpn_rr-6x_hrsc.py index 49ce7bba5..10208faa6 100644 --- a/configs/rotated_fcos/rotated-fcos-le90_r50_fpn_rr-6x_hrsc.py +++ b/configs/rotated_fcos/rotated-fcos-le90_r50_fpn_rr-6x_hrsc.py @@ -67,9 +67,7 @@ max_per_img=2000)) train_pipeline = [ - dict( - type='mmdet.LoadImageFromFile', - file_client_args={{_base_.file_client_args}}), + dict(type='mmdet.LoadImageFromFile', backend_args={{_base_.backend_args}}), dict(type='mmdet.LoadAnnotations', with_bbox=True, box_type='qbox'), dict(type='ConvertBoxType', box_type_mapping=dict(gt_bboxes='rbox')), dict(type='mmdet.Resize', scale=(800, 512), keep_ratio=True), diff --git a/configs/rotated_reppoints/rotated-reppoints-qbox_r50_fpn_1x_dota.py b/configs/rotated_reppoints/rotated-reppoints-qbox_r50_fpn_1x_dota.py index 658e711c4..29efe6eb1 100644 --- a/configs/rotated_reppoints/rotated-reppoints-qbox_r50_fpn_1x_dota.py +++ b/configs/rotated_reppoints/rotated-reppoints-qbox_r50_fpn_1x_dota.py @@ -77,9 +77,7 @@ max_per_img=2000)) train_pipeline = [ - dict( - type='mmdet.LoadImageFromFile', - file_client_args={{_base_.file_client_args}}), + dict(type='mmdet.LoadImageFromFile', backend_args={{_base_.backend_args}}), dict(type='mmdet.LoadAnnotations', with_bbox=True, box_type='qbox'), dict(type='mmdet.Resize', scale=(1024, 1024), keep_ratio=True), dict( diff --git a/configs/rotated_retinanet/rotated-retinanet-hbox-le135_r50_fpn_1x_dota.py b/configs/rotated_retinanet/rotated-retinanet-hbox-le135_r50_fpn_1x_dota.py index 720589914..f45839d4d 100644 --- a/configs/rotated_retinanet/rotated-retinanet-hbox-le135_r50_fpn_1x_dota.py +++ b/configs/rotated_retinanet/rotated-retinanet-hbox-le135_r50_fpn_1x_dota.py @@ -5,9 +5,7 @@ assigner=dict(iou_calculator=dict(type='FakeRBboxOverlaps2D')))) train_pipeline = [ - dict( - type='mmdet.LoadImageFromFile', - file_client_args={{_base_.file_client_args}}), + dict(type='mmdet.LoadImageFromFile', backend_args={{_base_.backend_args}}), dict(type='mmdet.LoadAnnotations', with_bbox=True, box_type='qbox'), dict(type='ConvertBoxType', box_type_mapping=dict(gt_bboxes='rbox')), dict(type='mmdet.Resize', scale=(1024, 1024), keep_ratio=True), diff --git a/configs/rotated_retinanet/rotated-retinanet-hbox-le90_r50_fpn_1x_dota.py b/configs/rotated_retinanet/rotated-retinanet-hbox-le90_r50_fpn_1x_dota.py index 490ec7bdf..58866799a 100644 --- a/configs/rotated_retinanet/rotated-retinanet-hbox-le90_r50_fpn_1x_dota.py +++ b/configs/rotated_retinanet/rotated-retinanet-hbox-le90_r50_fpn_1x_dota.py @@ -5,9 +5,7 @@ assigner=dict(iou_calculator=dict(type='FakeRBboxOverlaps2D')))) train_pipeline = [ - dict( - type='mmdet.LoadImageFromFile', - file_client_args={{_base_.file_client_args}}), + dict(type='mmdet.LoadImageFromFile', backend_args={{_base_.backend_args}}), dict(type='mmdet.LoadAnnotations', with_bbox=True, box_type='qbox'), dict(type='ConvertBoxType', box_type_mapping=dict(gt_bboxes='rbox')), dict(type='mmdet.Resize', scale=(1024, 1024), keep_ratio=True), diff --git a/configs/rotated_retinanet/rotated-retinanet-hbox-oc_r50_fpn_1x_dota.py b/configs/rotated_retinanet/rotated-retinanet-hbox-oc_r50_fpn_1x_dota.py index 3bfed5ebe..899307665 100644 --- a/configs/rotated_retinanet/rotated-retinanet-hbox-oc_r50_fpn_1x_dota.py +++ b/configs/rotated_retinanet/rotated-retinanet-hbox-oc_r50_fpn_1x_dota.py @@ -5,9 +5,7 @@ assigner=dict(iou_calculator=dict(type='FakeRBboxOverlaps2D')))) train_pipeline = [ - dict( - type='mmdet.LoadImageFromFile', - file_client_args={{_base_.file_client_args}}), + dict(type='mmdet.LoadImageFromFile', backend_args={{_base_.backend_args}}), dict(type='mmdet.LoadAnnotations', with_bbox=True, box_type='qbox'), dict(type='ConvertBoxType', box_type_mapping=dict(gt_bboxes='rbox')), dict(type='mmdet.Resize', scale=(1024, 1024), keep_ratio=True), diff --git a/configs/rotated_retinanet/rotated-retinanet-hbox-oc_r50_fpn_rr-6x_hrsc.py b/configs/rotated_retinanet/rotated-retinanet-hbox-oc_r50_fpn_rr-6x_hrsc.py index 9060aa37d..89430af99 100644 --- a/configs/rotated_retinanet/rotated-retinanet-hbox-oc_r50_fpn_rr-6x_hrsc.py +++ b/configs/rotated_retinanet/rotated-retinanet-hbox-oc_r50_fpn_rr-6x_hrsc.py @@ -79,9 +79,7 @@ max_per_img=2000)) train_pipeline = [ - dict( - type='mmdet.LoadImageFromFile', - file_client_args={{_base_.file_client_args}}), + dict(type='mmdet.LoadImageFromFile', backend_args={{_base_.backend_args}}), dict(type='mmdet.LoadAnnotations', with_bbox=True, box_type='qbox'), dict(type='ConvertBoxType', box_type_mapping=dict(gt_bboxes='rbox')), dict(type='mmdet.Resize', scale=(800, 512), keep_ratio=True), diff --git a/configs/rotated_retinanet/rotated-retinanet-rbox-le90_r50_fpn_rr-6x_hrsc.py b/configs/rotated_retinanet/rotated-retinanet-rbox-le90_r50_fpn_rr-6x_hrsc.py index 564c17494..f7eba3001 100644 --- a/configs/rotated_retinanet/rotated-retinanet-rbox-le90_r50_fpn_rr-6x_hrsc.py +++ b/configs/rotated_retinanet/rotated-retinanet-rbox-le90_r50_fpn_rr-6x_hrsc.py @@ -79,9 +79,7 @@ max_per_img=2000)) train_pipeline = [ - dict( - type='mmdet.LoadImageFromFile', - file_client_args={{_base_.file_client_args}}), + dict(type='mmdet.LoadImageFromFile', backend_args={{_base_.backend_args}}), dict(type='mmdet.LoadAnnotations', with_bbox=True, box_type='qbox'), dict(type='ConvertBoxType', box_type_mapping=dict(gt_bboxes='rbox')), dict(type='mmdet.Resize', scale=(800, 512), keep_ratio=True), diff --git a/configs/rotated_rtmdet/_base_/dota_rr.py b/configs/rotated_rtmdet/_base_/dota_rr.py index 6fd455224..69912b375 100644 --- a/configs/rotated_rtmdet/_base_/dota_rr.py +++ b/configs/rotated_rtmdet/_base_/dota_rr.py @@ -2,10 +2,10 @@ dataset_type = 'DOTADataset' data_root = 'data/split_ss_dota/' -file_client_args = dict(backend='disk') +backend_args = None train_pipeline = [ - dict(type='mmdet.LoadImageFromFile', file_client_args=file_client_args), + dict(type='mmdet.LoadImageFromFile', backend_args=backend_args), dict(type='mmdet.LoadAnnotations', with_bbox=True, box_type='qbox'), dict(type='ConvertBoxType', box_type_mapping=dict(gt_bboxes='rbox')), dict(type='mmdet.Resize', scale=(1024, 1024), keep_ratio=True), @@ -24,7 +24,7 @@ dict(type='mmdet.PackDetInputs') ] val_pipeline = [ - dict(type='mmdet.LoadImageFromFile', file_client_args=file_client_args), + dict(type='mmdet.LoadImageFromFile', backend_args=backend_args), dict(type='mmdet.Resize', scale=(1024, 1024), keep_ratio=True), # avoid bboxes being resized dict(type='mmdet.LoadAnnotations', with_bbox=True, box_type='qbox'), @@ -38,7 +38,7 @@ 'scale_factor')) ] test_pipeline = [ - dict(type='mmdet.LoadImageFromFile', file_client_args=file_client_args), + dict(type='mmdet.LoadImageFromFile', backend_args=backend_args), dict(type='mmdet.Resize', scale=(1024, 1024), keep_ratio=True), dict( type='mmdet.Pad', size=(1024, 1024), diff --git a/configs/rotated_rtmdet/_base_/dota_rr_ms.py b/configs/rotated_rtmdet/_base_/dota_rr_ms.py index ba0b234b9..96b4a5231 100644 --- a/configs/rotated_rtmdet/_base_/dota_rr_ms.py +++ b/configs/rotated_rtmdet/_base_/dota_rr_ms.py @@ -1,10 +1,10 @@ # dataset settings dataset_type = 'DOTADataset' data_root = 'data/split_ms_dota/' -file_client_args = dict(backend='disk') +backend_args = None train_pipeline = [ - dict(type='mmdet.LoadImageFromFile', file_client_args=file_client_args), + dict(type='mmdet.LoadImageFromFile', backend_args=backend_args), dict(type='mmdet.LoadAnnotations', with_bbox=True, box_type='qbox'), dict(type='ConvertBoxType', box_type_mapping=dict(gt_bboxes='rbox')), dict(type='mmdet.Resize', scale=(1024, 1024), keep_ratio=True), @@ -23,7 +23,7 @@ dict(type='mmdet.PackDetInputs') ] val_pipeline = [ - dict(type='mmdet.LoadImageFromFile', file_client_args=file_client_args), + dict(type='mmdet.LoadImageFromFile', backend_args=backend_args), dict(type='mmdet.Resize', scale=(1024, 1024), keep_ratio=True), # avoid bboxes being resized dict(type='mmdet.LoadAnnotations', with_bbox=True, box_type='qbox'), @@ -37,7 +37,7 @@ 'scale_factor')) ] test_pipeline = [ - dict(type='mmdet.LoadImageFromFile', file_client_args=file_client_args), + dict(type='mmdet.LoadImageFromFile', backend_args=backend_args), dict(type='mmdet.Resize', scale=(1024, 1024), keep_ratio=True), dict( type='mmdet.Pad', size=(1024, 1024), diff --git a/configs/rotated_rtmdet/_base_/hrsc_rr.py b/configs/rotated_rtmdet/_base_/hrsc_rr.py index d2518ea39..93f4d470f 100644 --- a/configs/rotated_rtmdet/_base_/hrsc_rr.py +++ b/configs/rotated_rtmdet/_base_/hrsc_rr.py @@ -1,10 +1,10 @@ # dataset settings dataset_type = 'HRSCDataset' data_root = 'data/hrsc/' -file_client_args = dict(backend='disk') +backend_args = None train_pipeline = [ - dict(type='mmdet.LoadImageFromFile', file_client_args=file_client_args), + dict(type='mmdet.LoadImageFromFile', backend_args=backend_args), dict(type='mmdet.LoadAnnotations', with_bbox=True, box_type='qbox'), dict(type='ConvertBoxType', box_type_mapping=dict(gt_bboxes='rbox')), dict(type='mmdet.Resize', scale=(800, 800), keep_ratio=True), @@ -17,7 +17,7 @@ dict(type='mmdet.PackDetInputs') ] val_pipeline = [ - dict(type='mmdet.LoadImageFromFile', file_client_args=file_client_args), + dict(type='mmdet.LoadImageFromFile', backend_args=backend_args), dict(type='mmdet.Resize', scale=(800, 800), keep_ratio=True), # avoid bboxes being resized dict(type='mmdet.LoadAnnotations', with_bbox=True, box_type='qbox'), @@ -29,7 +29,7 @@ 'scale_factor')) ] test_pipeline = [ - dict(type='mmdet.LoadImageFromFile', file_client_args=file_client_args), + dict(type='mmdet.LoadImageFromFile', backend_args=backend_args), dict(type='mmdet.Resize', scale=(800, 800), keep_ratio=True), dict(type='mmdet.Pad', size=(800, 800), pad_val=dict(img=(114, 114, 114))), dict( @@ -53,7 +53,8 @@ ann_file='ImageSets/trainval.txt', data_prefix=dict(sub_data_root='FullDataSet/'), filter_cfg=dict(filter_empty_gt=True), - pipeline=train_pipeline))) + pipeline=train_pipeline, + backend_args=backend_args))) val_dataloader = dict( batch_size=1, num_workers=2, @@ -66,7 +67,8 @@ ann_file='ImageSets/test.txt', data_prefix=dict(sub_data_root='FullDataSet/'), test_mode=True, - pipeline=val_pipeline)) + pipeline=val_pipeline, + backend_args=backend_args)) test_dataloader = val_dataloader val_evaluator = [ diff --git a/configs/rotated_rtmdet/rotated_rtmdet_l-100e-aug-dota.py b/configs/rotated_rtmdet/rotated_rtmdet_l-100e-aug-dota.py index be85e12e8..86cc58198 100644 --- a/configs/rotated_rtmdet/rotated_rtmdet_l-100e-aug-dota.py +++ b/configs/rotated_rtmdet/rotated_rtmdet_l-100e-aug-dota.py @@ -76,9 +76,7 @@ ) train_pipeline = [ - dict( - type='mmdet.LoadImageFromFile', - file_client_args={{_base_.file_client_args}}), + dict(type='mmdet.LoadImageFromFile', backend_args={{_base_.backend_args}}), dict(type='mmdet.LoadAnnotations', with_bbox=True, box_type='qbox'), dict(type='ConvertBoxType', box_type_mapping=dict(gt_bboxes='rbox')), dict(type='mmdet.CachedMosaic', img_scale=(1024, 1024), pad_val=114.0), @@ -112,9 +110,7 @@ ] train_pipeline_stage2 = [ - dict( - type='mmdet.LoadImageFromFile', - file_client_args={{_base_.file_client_args}}), + dict(type='mmdet.LoadImageFromFile', backend_args={{_base_.backend_args}}), dict(type='mmdet.LoadAnnotations', with_bbox=True, box_type='qbox'), dict(type='ConvertBoxType', box_type_mapping=dict(gt_bboxes='rbox')), dict( diff --git a/configs/rotated_rtmdet/rotated_rtmdet_l-300e-aug-hrsc.py b/configs/rotated_rtmdet/rotated_rtmdet_l-300e-aug-hrsc.py index f7c44d06d..dc98d894f 100644 --- a/configs/rotated_rtmdet/rotated_rtmdet_l-300e-aug-hrsc.py +++ b/configs/rotated_rtmdet/rotated_rtmdet_l-300e-aug-hrsc.py @@ -76,9 +76,7 @@ ) train_pipeline = [ - dict( - type='mmdet.LoadImageFromFile', - file_client_args={{_base_.file_client_args}}), + dict(type='mmdet.LoadImageFromFile', backend_args={{_base_.backend_args}}), dict(type='mmdet.LoadAnnotations', with_bbox=True, box_type='qbox'), dict(type='ConvertBoxType', box_type_mapping=dict(gt_bboxes='rbox')), dict(type='mmdet.CachedMosaic', img_scale=(800, 800), pad_val=114.0), @@ -110,9 +108,7 @@ ] train_pipeline_stage2 = [ - dict( - type='mmdet.LoadImageFromFile', - file_client_args={{_base_.file_client_args}}), + dict(type='mmdet.LoadImageFromFile', backend_args={{_base_.backend_args}}), dict(type='mmdet.LoadAnnotations', with_bbox=True, box_type='qbox'), dict(type='ConvertBoxType', box_type_mapping=dict(gt_bboxes='rbox')), dict( diff --git a/configs/rotated_rtmdet/rotated_rtmdet_tiny-300e-aug-hrsc.py b/configs/rotated_rtmdet/rotated_rtmdet_tiny-300e-aug-hrsc.py index 43a8d92f9..3e22830f5 100644 --- a/configs/rotated_rtmdet/rotated_rtmdet_tiny-300e-aug-hrsc.py +++ b/configs/rotated_rtmdet/rotated_rtmdet_tiny-300e-aug-hrsc.py @@ -17,9 +17,7 @@ )) train_pipeline = [ - dict( - type='mmdet.LoadImageFromFile', - file_client_args={{_base_.file_client_args}}), + dict(type='mmdet.LoadImageFromFile', backend_args={{_base_.backend_args}}), dict(type='mmdet.LoadAnnotations', with_bbox=True, box_type='qbox'), dict(type='ConvertBoxType', box_type_mapping=dict(gt_bboxes='rbox')), dict( @@ -54,9 +52,7 @@ ] train_pipeline_stage2 = [ - dict( - type='mmdet.LoadImageFromFile', - file_client_args={{_base_.file_client_args}}), + dict(type='mmdet.LoadImageFromFile', backend_args={{_base_.backend_args}}), dict(type='mmdet.LoadAnnotations', with_bbox=True, box_type='qbox'), dict(type='ConvertBoxType', box_type_mapping=dict(gt_bboxes='rbox')), dict( diff --git a/configs/sasm_reppoints/sasm-reppoints-qbox_r50_fpn_1x_dota.py b/configs/sasm_reppoints/sasm-reppoints-qbox_r50_fpn_1x_dota.py index cf403c5c4..60ad5b6d9 100644 --- a/configs/sasm_reppoints/sasm-reppoints-qbox_r50_fpn_1x_dota.py +++ b/configs/sasm_reppoints/sasm-reppoints-qbox_r50_fpn_1x_dota.py @@ -72,9 +72,7 @@ max_per_img=2000)) train_pipeline = [ - dict( - type='mmdet.LoadImageFromFile', - file_client_args={{_base_.file_client_args}}), + dict(type='mmdet.LoadImageFromFile', backend_args={{_base_.backend_args}}), dict(type='mmdet.LoadAnnotations', with_bbox=True, box_type='qbox'), dict(type='mmdet.Resize', scale=(1024, 1024), keep_ratio=True), dict( diff --git a/docs/en/notes/faq.md b/docs/en/notes/faq.md index ac46d3cf6..9cc201802 100644 --- a/docs/en/notes/faq.md +++ b/docs/en/notes/faq.md @@ -10,7 +10,7 @@ Compatible MMCV, MMDetection and MMRotate versions are shown as below. Please in | MMRotate | MMEngine | MMCV | MMDetection | | -------- | --------------------------- | -------------------------- | --------------------------- | -| dev-1.x | 0.1.0 \<= mmengine \< 1.0.0 | 2.0.0rc2 \<= mmcv \< 2.1.0 | 3.0.0rc5 \<= mmdet \< 3.1.0 | +| dev-1.x | 0.6.0 \<= mmengine \< 1.0.0 | 2.0.0rc4 \<= mmcv \< 2.1.0 | 3.0.0rc6 \<= mmdet \< 3.1.0 | | 1.0.0rc1 | 0.1.0 \<= mmengine \< 1.0.0 | 2.0.0rc2 \<= mmcv \< 2.1.0 | 3.0.0rc5 \<= mmdet \< 3.1.0 | | 1.0.0rc0 | 0.1.0 \<= mmengine \< 1.0.0 | 2.0.0rc2 \<= mmcv \< 2.1.0 | 3.0.0rc2 \<= mmdet \< 3.1.0 | diff --git a/docs/zh_cn/notes/faq.md b/docs/zh_cn/notes/faq.md index 20e9fb386..c3f566c99 100644 --- a/docs/zh_cn/notes/faq.md +++ b/docs/zh_cn/notes/faq.md @@ -10,7 +10,7 @@ MMRotate 和 MMCV, MMDet 版本兼容性如下所示,需要安装正确的版 | MMRotate | MMEngine | MMCV | MMDetection | | -------- | --------------------------- | -------------------------- | --------------------------- | -| dev-1.x | 0.1.0 \<= mmengine \< 1.0.0 | 2.0.0rc2 \<= mmcv \< 2.1.0 | 3.0.0rc5 \<= mmdet \< 3.1.0 | +| dev-1.x | 0.6.0 \<= mmengine \< 1.0.0 | 2.0.0rc4 \<= mmcv \< 2.1.0 | 3.0.0rc6 \<= mmdet \< 3.1.0 | | 1.0.0rc1 | 0.1.0 \<= mmengine \< 1.0.0 | 2.0.0rc2 \<= mmcv \< 2.1.0 | 3.0.0rc5 \<= mmdet \< 3.1.0 | | 1.0.0rc0 | 0.1.0 \<= mmengine \< 1.0.0 | 2.0.0rc2 \<= mmcv \< 2.1.0 | 3.0.0rc2 \<= mmdet \< 3.1.0 | diff --git a/mmrotate/__init__.py b/mmrotate/__init__.py index ed76d579a..27961f0fe 100644 --- a/mmrotate/__init__.py +++ b/mmrotate/__init__.py @@ -6,7 +6,7 @@ from .version import __version__, short_version -mmcv_minimum_version = '2.0.0rc2' +mmcv_minimum_version = '2.0.0rc4' mmcv_maximum_version = '2.1.0' mmcv_version = digit_version(mmcv.__version__) @@ -16,7 +16,7 @@ f'Please use MMCV >= {mmcv_minimum_version}, ' \ f'<= {mmcv_maximum_version} instead.' -mmengine_minimum_version = '0.3.0' +mmengine_minimum_version = '0.6.0' mmengine_maximum_version = '1.0.0' mmengine_version = digit_version(mmengine.__version__) @@ -26,7 +26,7 @@ f'Please install mmengine>={mmengine_minimum_version}, ' \ f'<{mmengine_maximum_version}.' -mmdet_minimum_version = '3.0.0rc5' +mmdet_minimum_version = '3.0.0rc6' mmdet_maximum_version = '3.1.0' mmdet_version = digit_version(mmdet.__version__) diff --git a/mmrotate/datasets/dior.py b/mmrotate/datasets/dior.py index c87957727..dd4afb1d2 100755 --- a/mmrotate/datasets/dior.py +++ b/mmrotate/datasets/dior.py @@ -6,7 +6,7 @@ import mmcv import numpy as np from mmengine.dataset import BaseDataset -from mmengine.fileio import FileClient, list_from_file +from mmengine.fileio import get, get_local_path, list_from_file from mmrotate.registry import DATASETS @@ -18,9 +18,10 @@ class DIORDataset(BaseDataset): Args: ann_subdir (str): Subdir where annotations are. Defaults to 'Annotations/Oriented Bounding Boxes/'. - file_client_args (dict): Arguments to instantiate a FileClient. - See :class:`mmengine.fileio.FileClient` for details. - Defaults to ``dict(backend='disk')``. + file_client_args (dict): Arguments to instantiate the + corresponding backend in mmdet <= 3.0.0rc6. Defaults to None. + backend_args (dict, optional): Arguments to instantiate the + corresponding backend. Defaults to None. ann_type (str): Choose obb or hbb as ground truth. Defaults to `obb`. """ @@ -43,14 +44,20 @@ class DIORDataset(BaseDataset): def __init__(self, ann_subdir: str = 'Annotations/Oriented Bounding Boxes/', - file_client_args: dict = dict(backend='disk'), + file_client_args: dict = None, + backend_args: dict = None, ann_type: str = 'obb', **kwargs) -> None: assert ann_type in ['hbb', 'obb'] self.ann_type = ann_type self.ann_subdir = ann_subdir - self.file_client_args = file_client_args - self.file_client = FileClient(**self.file_client_args) + self.backend_args = backend_args + if file_client_args is not None: + raise RuntimeError( + 'The `file_client_args` is deprecated, ' + 'please use `backend_args` instead, please refer to' + 'https://github.com/open-mmlab/mmdetection/blob/dev-1.x/configs/_base_/datasets/coco_detection.py' # noqa: E501 + ) super().__init__(**kwargs) def load_data_list(self) -> List[dict]: @@ -67,8 +74,7 @@ def load_data_list(self) -> List[dict]: } data_list = [] - img_ids = list_from_file( - self.ann_file, file_client_args=self.file_client_args) + img_ids = list_from_file(self.ann_file, backend_args=self.backend_args) for img_id in img_ids: file_name = f'{img_id}.jpg' xml_path = osp.join(self.data_root, self.ann_subdir, @@ -109,8 +115,9 @@ def parse_data_info(self, img_info: dict) -> Union[dict, List[dict]]: data_info['xml_path'] = img_info['xml_path'] # deal with xml file - with self.file_client.get_local_path( - img_info['xml_path']) as local_path: + with get_local_path( + img_info['xml_path'], + backend_args=self.backend_args) as local_path: raw_ann_info = ET.parse(local_path) root = raw_ann_info.getroot() @@ -119,7 +126,7 @@ def parse_data_info(self, img_info: dict) -> Union[dict, List[dict]]: width = int(size.find('width').text) height = int(size.find('height').text) else: - img_bytes = self.file_client.get(img_path) + img_bytes = get(img_path, backend_args=self.backend_args) img = mmcv.imfrombytes(img_bytes, backend='cv2') width, height = img.shape[:2] del img, img_bytes diff --git a/mmrotate/datasets/hrsc.py b/mmrotate/datasets/hrsc.py index b102a6fba..26344744a 100644 --- a/mmrotate/datasets/hrsc.py +++ b/mmrotate/datasets/hrsc.py @@ -7,7 +7,7 @@ import numpy as np import torch from mmengine.dataset import BaseDataset -from mmengine.fileio import FileClient, list_from_file +from mmengine.fileio import get, get_local_path, list_from_file from mmrotate.registry import DATASETS from mmrotate.structures.bbox import rbox2qbox @@ -29,9 +29,10 @@ class HRSCDataset(BaseDataset): Defaults to 'Annotations'. classwise (bool): Whether to use all 31 classes or only one class. Defaults to False. - file_client_args (dict): Arguments to instantiate a FileClient. - See :class:`mmengine.fileio.FileClient` for details. - Defaults to ``dict(backend='disk')``. + file_client_args (dict): Arguments to instantiate the + corresponding backend in mmdet <= 3.0.0rc6. Defaults to None. + backend_args (dict, optional): Arguments to instantiate the + corresponding backend. Defaults to None. """ METAINFO = { @@ -64,13 +65,19 @@ def __init__(self, img_subdir: str = 'AllImages', ann_subdir: str = 'Annotations', classwise: bool = False, - file_client_args: dict = dict(backend='disk'), + file_client_args: dict = None, + backend_args: dict = None, **kwargs) -> None: self.img_subdir = img_subdir self.ann_subdir = ann_subdir self.classwise = classwise - self.file_client_args = file_client_args - self.file_client = FileClient(**self.file_client_args) + self.backend_args = backend_args + if file_client_args is not None: + raise RuntimeError( + 'The `file_client_args` is deprecated, ' + 'please use `backend_args` instead, please refer to' + 'https://github.com/open-mmlab/mmdetection/blob/dev-1.x/configs/_base_/datasets/coco_detection.py' # noqa: E501 + ) super().__init__(**kwargs) @property @@ -98,8 +105,7 @@ def load_data_list(self) -> List[dict]: ] data_list = [] - img_ids = list_from_file( - self.ann_file, file_client_args=self.file_client_args) + img_ids = list_from_file(self.ann_file, backend_args=self.backend_args) for img_id in img_ids: file_name = osp.join(self.img_subdir, f'{img_id}.bmp') xml_path = osp.join(self.sub_data_root, self.ann_subdir, @@ -139,15 +145,16 @@ def parse_data_info(self, img_info: dict) -> Union[dict, List[dict]]: data_info['xml_path'] = img_info['xml_path'] # deal with xml file - with self.file_client.get_local_path( - img_info['xml_path']) as local_path: + with get_local_path( + img_info['xml_path'], + backend_args=self.backend_args) as local_path: raw_ann_info = ET.parse(local_path) root = raw_ann_info.getroot() width = int(root.find('Img_SizeWidth').text) height = int(root.find('Img_SizeWidth').text) if width is None or height is None: - img_bytes = self.file_client.get(img_path) + img_bytes = get(img_path, backend_args=self.backend_args) img = mmcv.imfrombytes(img_bytes, backend='cv2') width, height = img.shape[:2] del img, img_bytes diff --git a/projects/RR360/configs360/_base_/datasets/dota.py b/projects/RR360/configs360/_base_/datasets/dota.py index 741ff72c3..b2d35c013 100644 --- a/projects/RR360/configs360/_base_/datasets/dota.py +++ b/projects/RR360/configs360/_base_/datasets/dota.py @@ -1,12 +1,12 @@ # dataset settings dataset_type = 'DOTADataset' data_root = 'data/TRR360D/' -file_client_args = dict(backend='disk') +backend_args = None METAINFO = dict(classes=('table', )) train_pipeline = [ - dict(type='mmdet.LoadImageFromFile', file_client_args=file_client_args), + dict(type='mmdet.LoadImageFromFile', backend_args=backend_args), dict(type='mmdet.LoadAnnotations', with_bbox=True, box_type='qbox'), dict(type='ConvertBoxType', box_type_mapping=dict(gt_bboxes='rbox')), dict(type='mmdet.Resize', scale=(1024, 1024), keep_ratio=True), @@ -17,7 +17,7 @@ dict(type='mmdet.PackDetInputs') ] val_pipeline = [ - dict(type='mmdet.LoadImageFromFile', file_client_args=file_client_args), + dict(type='mmdet.LoadImageFromFile', backend_args=backend_args), dict(type='mmdet.Resize', scale=(1024, 1024), keep_ratio=True), # avoid bboxes being resized dict(type='mmdet.LoadAnnotations', with_bbox=True, box_type='qbox'), @@ -28,7 +28,7 @@ 'scale_factor')) ] test_pipeline = [ - dict(type='mmdet.LoadImageFromFile', file_client_args=file_client_args), + dict(type='mmdet.LoadImageFromFile', backend_args=backend_args), dict(type='mmdet.Resize', scale=(1024, 1024), keep_ratio=True), dict( type='mmdet.PackDetInputs', diff --git a/projects/RR360/configs360/rotated_rtmdet_x3/_base_/dota_rr.py b/projects/RR360/configs360/rotated_rtmdet_x3/_base_/dota_rr.py index e6f4c7819..ed0eb76db 100644 --- a/projects/RR360/configs360/rotated_rtmdet_x3/_base_/dota_rr.py +++ b/projects/RR360/configs360/rotated_rtmdet_x3/_base_/dota_rr.py @@ -1,11 +1,11 @@ # dataset settings dataset_type = 'DOTADataset' data_root = 'data/TRR360D/' -file_client_args = dict(backend='disk') +backend_args = None METAINFO = dict(classes=('table', )) train_pipeline = [ - dict(type='mmdet.LoadImageFromFile', file_client_args=file_client_args), + dict(type='mmdet.LoadImageFromFile', backend_args=backend_args), dict(type='mmdet.LoadAnnotations', with_bbox=True, box_type='qbox'), dict(type='ConvertBoxType', box_type_mapping=dict(gt_bboxes='rbox')), dict(type='mmdet.Resize', scale=(1024, 1024), keep_ratio=True), @@ -25,7 +25,7 @@ dict(type='mmdet.PackDetInputs') ] val_pipeline = [ - dict(type='mmdet.LoadImageFromFile', file_client_args=file_client_args), + dict(type='mmdet.LoadImageFromFile', backend_args=backend_args), dict(type='mmdet.Resize', scale=(1024, 1024), keep_ratio=True), # avoid bboxes being resized dict(type='mmdet.LoadAnnotations', with_bbox=True, box_type='qbox'), @@ -39,7 +39,7 @@ 'scale_factor')) ] test_pipeline = [ - dict(type='mmdet.LoadImageFromFile', file_client_args=file_client_args), + dict(type='mmdet.LoadImageFromFile', backend_args=backend_args), dict(type='mmdet.Resize', scale=(1024, 1024), keep_ratio=True), dict( type='mmdet.Pad', size=(1024, 1024), diff --git a/projects/RR360/configs360/rotated_rtmdet_x3_r/_base_/dota_rr.py b/projects/RR360/configs360/rotated_rtmdet_x3_r/_base_/dota_rr.py index feee3567e..df416104e 100644 --- a/projects/RR360/configs360/rotated_rtmdet_x3_r/_base_/dota_rr.py +++ b/projects/RR360/configs360/rotated_rtmdet_x3_r/_base_/dota_rr.py @@ -1,11 +1,11 @@ # dataset settings dataset_type = 'DOTADataset' data_root = 'data/TRR360D/' -file_client_args = dict(backend='disk') +backend_args = None METAINFO = dict(classes=('table', )) train_pipeline = [ - dict(type='mmdet.LoadImageFromFile', file_client_args=file_client_args), + dict(type='mmdet.LoadImageFromFile', backend_args=backend_args), dict(type='mmdet.LoadAnnotations', with_bbox=True, box_type='qbox'), dict(type='ConvertBoxType', box_type_mapping=dict(gt_bboxes='rbox')), dict( @@ -25,7 +25,7 @@ dict(type='mmdet.PackDetInputs') ] val_pipeline = [ - dict(type='mmdet.LoadImageFromFile', file_client_args=file_client_args), + dict(type='mmdet.LoadImageFromFile', backend_args=backend_args), dict(type='mmdet.Resize', scale=(1024, 1024), keep_ratio=True), # avoid bboxes being resized dict(type='mmdet.LoadAnnotations', with_bbox=True, box_type='qbox'), @@ -39,7 +39,7 @@ 'scale_factor')) ] test_pipeline = [ - dict(type='mmdet.LoadImageFromFile', file_client_args=file_client_args), + dict(type='mmdet.LoadImageFromFile', backend_args=backend_args), dict(type='mmdet.Resize', scale=(1024, 1024), keep_ratio=True), dict( type='mmdet.Pad', size=(1024, 1024),