diff --git a/configs/_base_/det_datasets/ctw1500.py b/configs/_base_/det_datasets/ctw1500.py index 466ea7e1..1b0d806b 100644 --- a/configs/_base_/det_datasets/ctw1500.py +++ b/configs/_base_/det_datasets/ctw1500.py @@ -1,18 +1,23 @@ -dataset_type = 'IcdarDataset' -data_root = 'data/ctw1500' +data_root = 'data/det/ctw1500' -train = dict( - type=dataset_type, - ann_file=f'{data_root}/instances_training.json', - img_prefix=f'{data_root}/imgs', +train_anno_path = 'instances_training.json' +test_anno_path = 'instances_test.json' + +train_dataset = dict( + type='OCRDataset', + data_root=data_root, + ann_file=train_anno_path, + data_prefix=dict(img_path='imgs/'), + filter_cfg=dict(filter_empty_gt=True, min_size=32), pipeline=None) -test = dict( - type=dataset_type, - ann_file=f'{data_root}/instances_test.json', - img_prefix=f'{data_root}/imgs', +test_dataset = dict( + type='OCRDataset', + data_root=data_root, + ann_file=test_anno_path, + data_prefix=dict(img_path='imgs/'), + test_mode=True, pipeline=None) -train_list = [train] - -test_list = [test] +train_list = [train_dataset] +test_list = [test_dataset] diff --git a/configs/_base_/det_datasets/icdar2015.py b/configs/_base_/det_datasets/icdar2015.py index f711c06d..453fcac4 100644 --- a/configs/_base_/det_datasets/icdar2015.py +++ b/configs/_base_/det_datasets/icdar2015.py @@ -1,18 +1,23 @@ -dataset_type = 'IcdarDataset' -data_root = 'data/icdar2015' +data_root = 'data/det/icdar2015' -train = dict( - type=dataset_type, - ann_file=f'{data_root}/instances_training.json', - img_prefix=f'{data_root}/imgs', +train_anno_path = 'instances_training.json' +test_anno_path = 'instances_test.json' + +train_dataset = dict( + type='OCRDataset', + data_root=data_root, + ann_file=train_anno_path, + data_prefix=dict(img_path='imgs/'), + filter_cfg=dict(filter_empty_gt=True, min_size=32), pipeline=None) -test = dict( - type=dataset_type, - ann_file=f'{data_root}/instances_test.json', - img_prefix=f'{data_root}/imgs', +test_dataset = dict( + type='OCRDataset', + data_root=data_root, + ann_file=test_anno_path, + data_prefix=dict(img_path='imgs/'), + test_mode=True, pipeline=None) -train_list = [train] - -test_list = [test] +train_list = [train_dataset] +test_list = [test_dataset] diff --git a/configs/_base_/det_datasets/icdar2017.py b/configs/_base_/det_datasets/icdar2017.py index 446ea7ef..372e08e6 100644 --- a/configs/_base_/det_datasets/icdar2017.py +++ b/configs/_base_/det_datasets/icdar2017.py @@ -1,18 +1,23 @@ -dataset_type = 'IcdarDataset' -data_root = 'data/icdar2017' +data_root = 'data/det/icdar2017' -train = dict( - type=dataset_type, - ann_file=f'{data_root}/instances_training.json', - img_prefix=f'{data_root}/imgs', +train_anno_path = 'instances_training.json' +test_anno_path = 'instances_test.json' + +train_dataset = dict( + type='OCRDataset', + data_root=data_root, + ann_file=train_anno_path, + data_prefix=dict(img_path='imgs/'), + filter_cfg=dict(filter_empty_gt=True, min_size=32), pipeline=None) -test = dict( - type=dataset_type, - ann_file=f'{data_root}/instances_val.json', - img_prefix=f'{data_root}/imgs', +test_dataset = dict( + type='OCRDataset', + data_root=data_root, + ann_file=test_anno_path, + data_prefix=dict(img_path='imgs/'), + test_mode=True, pipeline=None) -train_list = [train] - -test_list = [test] +train_list = [train_dataset] +test_list = [test_dataset] diff --git a/configs/_base_/det_datasets/synthtext.py b/configs/_base_/det_datasets/synthtext.py index fb9a44b3..08c62df7 100644 --- a/configs/_base_/det_datasets/synthtext.py +++ b/configs/_base_/det_datasets/synthtext.py @@ -1,18 +1,23 @@ -dataset_type = 'TextDetDataset' -data_root = 'data/synthtext' +data_root = 'data/det/synthtext' -train = dict( - type=dataset_type, - ann_file=f'{data_root}/instances_training.lmdb', - loader=dict( - type='AnnFileLoader', - repeat=1, - file_format='lmdb', - parser=dict( - type='LineJsonParser', - keys=['file_name', 'height', 'width', 'annotations'])), - img_prefix=f'{data_root}/imgs', +train_anno_path = 'instances_training.json' +test_anno_path = 'instances_test.json' + +train_dataset = dict( + type='OCRDataset', + data_root=data_root, + ann_file=train_anno_path, + data_prefix=dict(img_path='imgs/'), + filter_cfg=dict(filter_empty_gt=True, min_size=32), pipeline=None) -train_list = [train] -test_list = [train] +test_dataset = dict( + type='OCRDataset', + data_root=data_root, + ann_file=test_anno_path, + data_prefix=dict(img_path='imgs/'), + test_mode=True, + pipeline=None) + +train_list = [train_dataset] +test_list = [test_dataset] diff --git a/configs/_base_/det_datasets/toy_data.py b/configs/_base_/det_datasets/toy_data.py index 512d1d20..c6bfbe6e 100644 --- a/configs/_base_/det_datasets/toy_data.py +++ b/configs/_base_/det_datasets/toy_data.py @@ -1,41 +1,23 @@ -root = 'tests/data/toy_dataset' +data_root = 'tests/data/det_toy_dataset' -# dataset with type='TextDetDataset' -train1 = dict( - type='TextDetDataset', - img_prefix=f'{root}/imgs', - ann_file=f'{root}/instances_test.txt', - loader=dict( - type='AnnFileLoader', - repeat=4, - file_format='txt', - parser=dict( - type='LineJsonParser', - keys=['file_name', 'height', 'width', 'annotations'])), - pipeline=None, - test_mode=False) +train_anno_path = 'instances_test.json' +test_anno_path = 'instances_test.json' -# dataset with type='IcdarDataset' -train2 = dict( - type='IcdarDataset', - ann_file=f'{root}/instances_test.json', - img_prefix=f'{root}/imgs', +train_dataset = dict( + type='OCRDataset', + data_root=data_root, + ann_file=train_anno_path, + data_prefix=dict(img_path='imgs/'), + filter_cfg=dict(filter_empty_gt=True, min_size=32), pipeline=None) -test = dict( - type='TextDetDataset', - img_prefix=f'{root}/imgs', - ann_file=f'{root}/instances_test.txt', - loader=dict( - type='AnnFileLoader', - repeat=1, - file_format='txt', - parser=dict( - type='LineJsonParser', - keys=['file_name', 'height', 'width', 'annotations'])), - pipeline=None, - test_mode=True) +test_dataset = dict( + type='OCRDataset', + data_root=data_root, + ann_file=test_anno_path, + data_prefix=dict(img_path='imgs/'), + test_mode=True, + pipeline=None) -train_list = [train1, train2] - -test_list = [test] +train_list = [train_dataset] +test_list = [test_dataset] diff --git a/configs/_base_/recog_datasets/MJ_train.py b/configs/_base_/recog_datasets/MJ_train.py index be42cc47..953f5395 100644 --- a/configs/_base_/recog_datasets/MJ_train.py +++ b/configs/_base_/recog_datasets/MJ_train.py @@ -1,21 +1,15 @@ # Text Recognition Training set, including: # Synthetic Datasets: Syn90k - -train_root = 'data/mixture/Syn90k' - -train_img_prefix = f'{train_root}/mnt/ramdisk/max/90kDICT32px' -train_ann_file = f'{train_root}/label.lmdb' +data_root = 'data/recog' +train_img_prefix1 = 'Syn90k/mnt/ramdisk/max/90kDICT32px' +train_ann_file1 = 'Syn90k/label.json' +file_client_args = dict(backend='disk') train = dict( type='OCRDataset', - img_prefix=train_img_prefix, - ann_file=train_ann_file, - loader=dict( - type='AnnFileLoader', - repeat=1, - file_format='lmdb', - parser=dict(type='LineJsonParser', keys=['filename', 'text'])), - pipeline=None, - test_mode=False) - + data_root=data_root, + data_prefix=dict(img_path=train_img_prefix1), + ann_file=train_ann_file1, + test_mode=False, + pipeline=None) train_list = [train] diff --git a/configs/_base_/recog_datasets/ST_MJ_alphanumeric_train.py b/configs/_base_/recog_datasets/ST_MJ_alphanumeric_train.py index 5fc1abac..003f5645 100644 --- a/configs/_base_/recog_datasets/ST_MJ_alphanumeric_train.py +++ b/configs/_base_/recog_datasets/ST_MJ_alphanumeric_train.py @@ -2,30 +2,24 @@ # Synthetic Datasets: SynthText, Syn90k # Both annotations are filtered so that # only alphanumeric terms are left - -train_root = 'data/mixture' - -train_img_prefix1 = f'{train_root}/Syn90k/mnt/ramdisk/max/90kDICT32px' -train_ann_file1 = f'{train_root}/Syn90k/label.lmdb' +data_root = 'data/recog' +train_img_prefix1 = 'Syn90k/mnt/ramdisk/max/90kDICT32px' +train_ann_file1 = 'Syn90k/label.json' +file_client_args = dict(backend='disk') train1 = dict( type='OCRDataset', - img_prefix=train_img_prefix1, + data_root=data_root, + data_prefix=dict(img_path=train_img_prefix1), ann_file=train_ann_file1, - loader=dict( - type='AnnFileLoader', - repeat=1, - file_format='lmdb', - parser=dict(type='LineJsonParser', keys=['filename', 'text'])), - pipeline=None, - test_mode=False) - -train_img_prefix2 = f'{train_root}/SynthText/' + \ - 'synthtext/SynthText_patch_horizontal' -train_ann_file2 = f'{train_root}/SynthText/alphanumeric_label.lmdb' + test_mode=False, + pipeline=None) +train_img_prefix2 = 'SynthText/synthtext/SynthText_patch_horizontal' +train_ann_file2 = 'SynthText/alphanumeric_label.json' train2 = {key: value for key, value in train1.items()} -train2['img_prefix'] = train_img_prefix2 -train2['ann_file'] = train_ann_file2 +train2['data_root'] = data_root +train2['data_prefix'] = dict(img_path=train_img_prefix2), +train2['ann_file'] = dict(img_path=train_ann_file2), train_list = [train1, train2] diff --git a/configs/_base_/recog_datasets/ST_MJ_train.py b/configs/_base_/recog_datasets/ST_MJ_train.py index aedccc9d..b25fd434 100644 --- a/configs/_base_/recog_datasets/ST_MJ_train.py +++ b/configs/_base_/recog_datasets/ST_MJ_train.py @@ -1,29 +1,25 @@ # Text Recognition Training set, including: # Synthetic Datasets: SynthText, Syn90k -train_root = 'data/mixture' +data_root = 'data/recog' -train_img_prefix1 = f'{train_root}/Syn90k/mnt/ramdisk/max/90kDICT32px' -train_ann_file1 = f'{train_root}/Syn90k/label.lmdb' +train_img_prefix1 = 'Syn90k/mnt/ramdisk/max/90kDICT32px' +train_ann_file1 = 'Syn90k/label.json' +file_client_args = dict(backend='disk') train1 = dict( type='OCRDataset', - img_prefix=train_img_prefix1, + data_root=data_root, + data_prefix=dict(img_path=train_img_prefix1), ann_file=train_ann_file1, - loader=dict( - type='AnnFileLoader', - repeat=1, - file_format='lmdb', - parser=dict(type='LineJsonParser', keys=['filename', 'text'])), - pipeline=None, - test_mode=False) - -train_img_prefix2 = f'{train_root}/SynthText/' + \ - 'synthtext/SynthText_patch_horizontal' -train_ann_file2 = f'{train_root}/SynthText/label.lmdb' + test_mode=False, + pipeline=None) +train_img_prefix2 = 'SynthText/synthtext/SynthText_patch_horizontal' +train_ann_file2 = 'SynthText/label.json' train2 = {key: value for key, value in train1.items()} -train2['img_prefix'] = train_img_prefix2 -train2['ann_file'] = train_ann_file2 +train2['data_root'] = data_root +train2['data_prefix'] = dict(img_path=train_img_prefix2), +train2['ann_file'] = dict(img_path=train_ann_file2), train_list = [train1, train2] diff --git a/configs/_base_/recog_datasets/ST_SA_MJ_real_train.py b/configs/_base_/recog_datasets/ST_SA_MJ_real_train.py index 87dab335..51ba1800 100644 --- a/configs/_base_/recog_datasets/ST_SA_MJ_real_train.py +++ b/configs/_base_/recog_datasets/ST_SA_MJ_real_train.py @@ -1,81 +1,60 @@ # Text Recognition Training set, including: # Synthetic Datasets: SynthText, SynthAdd, Syn90k # Real Dataset: IC11, IC13, IC15, COCO-Test, IIIT5k +data_root = 'data/recog' -train_prefix = 'data/mixture' +train_img_prefix1 = 'icdar_2011' +train_img_prefix2 = 'icdar_2013' +train_img_prefix3 = 'icdar_2015' +train_img_prefix4 = 'coco_text' +train_img_prefix5 = 'IIIT5K' +train_img_prefix6 = 'SynthText_Add' +train_img_prefix7 = 'SynthText' +train_img_prefix8 = 'Syn90k' -train_img_prefix1 = f'{train_prefix}/icdar_2011' -train_img_prefix2 = f'{train_prefix}/icdar_2013' -train_img_prefix3 = f'{train_prefix}/icdar_2015' -train_img_prefix4 = f'{train_prefix}/coco_text' -train_img_prefix5 = f'{train_prefix}/IIIT5K' -train_img_prefix6 = f'{train_prefix}/SynthText_Add' -train_img_prefix7 = f'{train_prefix}/SynthText' -train_img_prefix8 = f'{train_prefix}/Syn90k' - -train_ann_file1 = f'{train_prefix}/icdar_2011/train_label.txt', -train_ann_file2 = f'{train_prefix}/icdar_2013/train_label.txt', -train_ann_file3 = f'{train_prefix}/icdar_2015/train_label.txt', -train_ann_file4 = f'{train_prefix}/coco_text/train_label.txt', -train_ann_file5 = f'{train_prefix}/IIIT5K/train_label.txt', -train_ann_file6 = f'{train_prefix}/SynthText_Add/label.txt', -train_ann_file7 = f'{train_prefix}/SynthText/shuffle_labels.txt', -train_ann_file8 = f'{train_prefix}/Syn90k/shuffle_labels.txt' +train_ann_file1 = 'icdar_2011/train_label.json', +train_ann_file2 = 'icdar_2013/train_label.json', +train_ann_file3 = 'icdar_2015/train_label.json', +train_ann_file4 = 'coco_text/train_label.json', +train_ann_file5 = 'IIIT5K/train_label.json', +train_ann_file6 = 'SynthText_Add/label.json', +train_ann_file7 = 'SynthText/shuffle_labels.json', +train_ann_file8 = 'Syn90k/shuffle_labels.json' train1 = dict( type='OCRDataset', - img_prefix=train_img_prefix1, + data_root=data_root, + data_prefix=dict(img_path=train_img_prefix1), ann_file=train_ann_file1, - loader=dict( - type='AnnFileLoader', - repeat=20, - file_format='txt', - parser=dict( - type='LineStrParser', - keys=['filename', 'text'], - keys_idx=[0, 1], - separator=' ')), - pipeline=None, - test_mode=False) + test_mode=False, + pipeline=None) train2 = {key: value for key, value in train1.items()} -train2['img_prefix'] = train_img_prefix2 +train2['data_prefix'] = dict(img_path=train_img_prefix2) train2['ann_file'] = train_ann_file2 train3 = {key: value for key, value in train1.items()} -train3['img_prefix'] = train_img_prefix3 +train3['img_prefix'] = dict(img_path=train_img_prefix3) train3['ann_file'] = train_ann_file3 train4 = {key: value for key, value in train1.items()} -train4['img_prefix'] = train_img_prefix4 +train4['img_prefix'] = dict(img_path=train_img_prefix4) train4['ann_file'] = train_ann_file4 train5 = {key: value for key, value in train1.items()} -train5['img_prefix'] = train_img_prefix5 +train5['img_prefix'] = dict(img_path=train_img_prefix5) train5['ann_file'] = train_ann_file5 -train6 = dict( - type='OCRDataset', - img_prefix=train_img_prefix6, - ann_file=train_ann_file6, - loader=dict( - type='AnnFileLoader', - repeat=1, - file_format='txt', - parser=dict( - type='LineStrParser', - keys=['filename', 'text'], - keys_idx=[0, 1], - separator=' ')), - pipeline=None, - test_mode=False) +train6 = {key: value for key, value in train1.items()} +train6['img_prefix'] = dict(img_path=train_img_prefix6) +train6['ann_file'] = train_ann_file6 -train7 = {key: value for key, value in train6.items()} -train7['img_prefix'] = train_img_prefix7 +train7 = {key: value for key, value in train1.items()} +train7['img_prefix'] = dict(img_path=train_img_prefix7) train7['ann_file'] = train_ann_file7 -train8 = {key: value for key, value in train6.items()} -train8['img_prefix'] = train_img_prefix8 +train8 = {key: value for key, value in train1.items()} +train8['img_prefix'] = dict(img_path=train_img_prefix8) train8['ann_file'] = train_ann_file8 train_list = [train1, train2, train3, train4, train5, train6, train7, train8] diff --git a/configs/_base_/recog_datasets/ST_SA_MJ_train.py b/configs/_base_/recog_datasets/ST_SA_MJ_train.py index bc272bf9..d8f0983b 100644 --- a/configs/_base_/recog_datasets/ST_SA_MJ_train.py +++ b/configs/_base_/recog_datasets/ST_SA_MJ_train.py @@ -1,48 +1,30 @@ # Text Recognition Training set, including: # Synthetic Datasets: SynthText, Syn90k +data_root = 'data/recog' -train_root = 'data/mixture' +train_img_prefix1 = 'SynthText_Add' +train_img_prefix2 = 'SynthText/synthtext/' + \ + 'SynthText_patch_horizontal' +train_img_prefix3 = 'Syn90k/mnt/ramdisk/max/90kDICT32px' -train_img_prefix1 = f'{train_root}/Syn90k/mnt/ramdisk/max/90kDICT32px' -train_ann_file1 = f'{train_root}/Syn90k/label.lmdb' +train_ann_file1 = 'SynthText_Add/label.json', +train_ann_file2 = 'SynthText/label.json', +train_ann_file3 = 'Syn90k/label.json' train1 = dict( type='OCRDataset', - img_prefix=train_img_prefix1, + data_root=data_root, + data_prefix=dict(img_path=train_img_prefix1), ann_file=train_ann_file1, - loader=dict( - type='AnnFileLoader', - repeat=1, - file_format='lmdb', - parser=dict(type='LineJsonParser', keys=['filename', 'text'])), - pipeline=None, - test_mode=False) - -train_img_prefix2 = f'{train_root}/SynthText/' + \ - 'synthtext/SynthText_patch_horizontal' -train_ann_file2 = f'{train_root}/SynthText/label.lmdb' - -train_img_prefix3 = f'{train_root}/SynthText_Add' -train_ann_file3 = f'{train_root}/SynthText_Add/label.txt' + test_mode=False, + pipeline=None) train2 = {key: value for key, value in train1.items()} -train2['img_prefix'] = train_img_prefix2 +train2['data_prefix'] = dict(img_path=train_img_prefix2) train2['ann_file'] = train_ann_file2 -train3 = dict( - type='OCRDataset', - img_prefix=train_img_prefix3, - ann_file=train_ann_file3, - loader=dict( - type='AnnFileLoader', - repeat=1, - file_format='txt', - parser=dict( - type='LineStrParser', - keys=['filename', 'text'], - keys_idx=[0, 1], - separator=' ')), - pipeline=None, - test_mode=False) +train3 = {key: value for key, value in train1.items()} +train3['img_prefix'] = dict(img_path=train_img_prefix3) +train3['ann_file'] = train_ann_file3 train_list = [train1, train2, train3] diff --git a/configs/_base_/recog_datasets/ST_charbox_train.py b/configs/_base_/recog_datasets/ST_charbox_train.py deleted file mode 100644 index 45d50d0d..00000000 --- a/configs/_base_/recog_datasets/ST_charbox_train.py +++ /dev/null @@ -1,23 +0,0 @@ -# Text Recognition Training set, including: -# Synthetic Datasets: SynthText (with character level boxes) - -train_img_root = 'data/mixture' - -train_img_prefix = f'{train_img_root}/SynthText' - -train_ann_file = f'{train_img_root}/SynthText/instances_train.txt' - -train = dict( - type='OCRSegDataset', - img_prefix=train_img_prefix, - ann_file=train_ann_file, - loader=dict( - type='AnnFileLoader', - repeat=1, - file_format='txt', - parser=dict( - type='LineJsonParser', keys=['file_name', 'annotations', 'text'])), - pipeline=None, - test_mode=False) - -train_list = [train] diff --git a/configs/_base_/recog_datasets/academic_test.py b/configs/_base_/recog_datasets/academic_test.py index 888ab3d3..6929b228 100644 --- a/configs/_base_/recog_datasets/academic_test.py +++ b/configs/_base_/recog_datasets/academic_test.py @@ -2,56 +2,48 @@ # Regular Datasets: IIIT5K, SVT, IC13 # Irregular Datasets: IC15, SVTP, CT80 -test_root = 'data/mixture' +test_root = 'data/recog' -test_img_prefix1 = f'{test_root}/IIIT5K/' -test_img_prefix2 = f'{test_root}/svt/' -test_img_prefix3 = f'{test_root}/icdar_2013/' -test_img_prefix4 = f'{test_root}/icdar_2015/' -test_img_prefix5 = f'{test_root}/svtp/' -test_img_prefix6 = f'{test_root}/ct80/' +test_img_prefix1 = 'IIIT5K/' +test_img_prefix2 = 'svt/' +test_img_prefix3 = 'icdar_2013/' +test_img_prefix4 = 'icdar_2015/' +test_img_prefix5 = 'svtp/' +test_img_prefix6 = 'ct80/' -test_ann_file1 = f'{test_root}/IIIT5K/test_label.txt' -test_ann_file2 = f'{test_root}/svt/test_label.txt' -test_ann_file3 = f'{test_root}/icdar_2013/test_label_1015.txt' -test_ann_file4 = f'{test_root}/icdar_2015/test_label.txt' -test_ann_file5 = f'{test_root}/svtp/test_label.txt' -test_ann_file6 = f'{test_root}/ct80/test_label.txt' +test_ann_file1 = 'IIIT5K/test_label.josn' +test_ann_file2 = 'svt/test_label.josn' +test_ann_file3 = 'icdar_2013/test_label_1015.josn' +test_ann_file4 = 'icdar_2015/test_label.josn' +test_ann_file5 = 'svtp/test_label.josn' +test_ann_file6 = 'ct80/test_label.josn' test1 = dict( type='OCRDataset', - img_prefix=test_img_prefix1, + data_root=test_root, + data_prefix=dict(img_path=test_img_prefix1), ann_file=test_ann_file1, - loader=dict( - type='AnnFileLoader', - repeat=1, - file_format='txt', - parser=dict( - type='LineStrParser', - keys=['filename', 'text'], - keys_idx=[0, 1], - separator=' ')), - pipeline=None, - test_mode=True) + test_mode=True, + pipeline=None) test2 = {key: value for key, value in test1.items()} -test2['img_prefix'] = test_img_prefix2 +test2['data_prefix'] = dict(img_path=test_img_prefix2) test2['ann_file'] = test_ann_file2 test3 = {key: value for key, value in test1.items()} -test3['img_prefix'] = test_img_prefix3 +test3['data_prefix'] = dict(img_path=test_img_prefix3) test3['ann_file'] = test_ann_file3 test4 = {key: value for key, value in test1.items()} -test4['img_prefix'] = test_img_prefix4 +test4['data_prefix'] = dict(img_path=test_img_prefix4) test4['ann_file'] = test_ann_file4 test5 = {key: value for key, value in test1.items()} -test5['img_prefix'] = test_img_prefix5 +test5['data_prefix'] = dict(img_path=test_img_prefix5) test5['ann_file'] = test_ann_file5 test6 = {key: value for key, value in test1.items()} -test6['img_prefix'] = test_img_prefix6 +test6['data_prefix'] = dict(img_path=test_img_prefix6) test6['ann_file'] = test_ann_file6 test_list = [test1, test2, test3, test4, test5, test6] diff --git a/configs/_base_/recog_datasets/seg_toy_data.py b/configs/_base_/recog_datasets/seg_toy_data.py deleted file mode 100644 index 7f0b7d8f..00000000 --- a/configs/_base_/recog_datasets/seg_toy_data.py +++ /dev/null @@ -1,34 +0,0 @@ -prefix = 'tests/data/ocr_char_ann_toy_dataset/' - -train = dict( - type='OCRSegDataset', - img_prefix=f'{prefix}/imgs', - ann_file=f'{prefix}/instances_train.txt', - loader=dict( - type='AnnFileLoader', - repeat=100, - file_format='txt', - parser=dict( - type='LineJsonParser', keys=['file_name', 'annotations', 'text'])), - pipeline=None, - test_mode=True) - -test = dict( - type='OCRDataset', - img_prefix=f'{prefix}/imgs', - ann_file=f'{prefix}/instances_test.txt', - loader=dict( - type='AnnFileLoader', - repeat=1, - file_format='txt', - parser=dict( - type='LineStrParser', - keys=['filename', 'text'], - keys_idx=[0, 1], - separator=' ')), - pipeline=None, - test_mode=True) - -train_list = [train] - -test_list = [test] diff --git a/configs/_base_/recog_datasets/toy_data.py b/configs/_base_/recog_datasets/toy_data.py index 259f1494..2b62eabb 100755 --- a/configs/_base_/recog_datasets/toy_data.py +++ b/configs/_base_/recog_datasets/toy_data.py @@ -1,54 +1,24 @@ -dataset_type = 'OCRDataset' +data_root = 'tests/data/recog_toy_dataset' +train_img_prefix = 'imgs/' +train_anno_file = 'label.json' -root = 'tests/data/ocr_toy_dataset' -img_prefix = f'{root}/imgs' -train_anno_file1 = f'{root}/label.txt' - -train1 = dict( - type=dataset_type, - img_prefix=img_prefix, - ann_file=train_anno_file1, - loader=dict( - type='AnnFileLoader', - repeat=100, - file_format='txt', - file_storage_backend='disk', - parser=dict( - type='LineStrParser', - keys=['filename', 'text'], - keys_idx=[0, 1], - separator=' ')), +train_dataset = dict( + type='OCRDataset', + data_root=data_root, + data_prefix=dict(img_path=train_img_prefix), + ann_file=train_anno_file, pipeline=None, test_mode=False) -train_anno_file2 = f'{root}/label.lmdb' -train2 = dict( - type=dataset_type, - img_prefix=img_prefix, - ann_file=train_anno_file2, - loader=dict( - type='AnnFileLoader', - repeat=100, - file_format='lmdb', - file_storage_backend='disk', - parser=dict(type='LineJsonParser', keys=['filename', 'text'])), - pipeline=None, - test_mode=False) - -test_anno_file1 = f'{root}/label.lmdb' -test = dict( - type=dataset_type, - img_prefix=img_prefix, - ann_file=test_anno_file1, - loader=dict( - type='AnnFileLoader', - repeat=1, - file_format='lmdb', - file_storage_backend='disk', - parser=dict(type='LineJsonParser', keys=['filename', 'text'])), +test_anno_file = f'{data_root}/label.json' +test_dataset = dict( + type='OCRDataset', + data_root=data_root, + data_prefix=dict(img_path=train_img_prefix), + ann_file=train_anno_file, pipeline=None, test_mode=True) -train_list = [train1, train2] +train_list = [train_dataset] -test_list = [test] +test_list = [test_dataset] diff --git a/configs/textdet/dbnet/dbnet_r18_fpnc_1200e_icdar2015.py b/configs/textdet/dbnet/dbnet_r18_fpnc_1200e_icdar2015.py index 2c2fc7a2..15cd685e 100644 --- a/configs/textdet/dbnet/dbnet_r18_fpnc_1200e_icdar2015.py +++ b/configs/textdet/dbnet/dbnet_r18_fpnc_1200e_icdar2015.py @@ -1,13 +1,21 @@ _base_ = [ 'dbnet_r18_fpnc.py', + '../../_base_/det_datasets/icdar2015.py', '../../_base_/default_runtime.py', '../../_base_/schedules/schedule_sgd_1200e.py', ] +# dataset settings +train_list = {{_base_.train_list}} +test_list = {{_base_.test_list}} +file_client_args = dict(backend='disk') default_hooks = dict(checkpoint=dict(type='CheckpointHook', interval=20), ) train_pipeline_r18 = [ - dict(type='LoadImageFromFile', color_type='color_ignore_orientation'), + dict( + type='LoadImageFromFile', + file_client_args=file_client_args, + color_type='color_ignore_orientation'), dict( type='LoadOCRAnnotations', with_polygon=True, @@ -32,7 +40,10 @@ train_pipeline_r18 = [ ] test_pipeline_1333_736 = [ - dict(type='LoadImageFromFile', color_type='color_ignore_orientation'), + dict( + type='LoadImageFromFile', + file_client_args=file_client_args, + color_type='color_ignore_orientation'), dict(type='Resize', scale=(1333, 736), keep_ratio=True), dict( type='PackTextDetInputs', @@ -40,37 +51,24 @@ test_pipeline_1333_736 = [ 'instances')) ] -dataset_type = 'OCRDataset' -data_root = 'data/icdar2015' - -train_dataset = dict( - type=dataset_type, - data_root=data_root, - ann_file='instances_training.json', - data_prefix=dict(img_path='imgs/'), - filter_cfg=dict(filter_empty_gt=True, min_size=32), - pipeline=train_pipeline_r18) - -test_dataset = dict( - type=dataset_type, - data_root=data_root, - ann_file='instances_test.json', - data_prefix=dict(img_path='imgs/'), - test_mode=True, - pipeline=test_pipeline_1333_736) - train_dataloader = dict( batch_size=16, num_workers=8, persistent_workers=False, sampler=dict(type='DefaultSampler', shuffle=True), - dataset=train_dataset) + dataset=dict( + type='ConcatDataset', datasets=train_list, + pipeline=train_pipeline_r18)) + val_dataloader = dict( batch_size=16, num_workers=8, persistent_workers=False, sampler=dict(type='DefaultSampler', shuffle=False), - dataset=test_dataset) + dataset=dict( + type='ConcatDataset', + datasets=test_list, + pipeline=test_pipeline_1333_736)) test_dataloader = val_dataloader val_evaluator = dict(type='HmeanIOUMetric') diff --git a/configs/textdet/dbnet/dbnet_r50dcnv2_fpnc_1200e_icdar2015.py b/configs/textdet/dbnet/dbnet_r50dcnv2_fpnc_1200e_icdar2015.py index fc2c1bd8..4b956304 100644 --- a/configs/textdet/dbnet/dbnet_r50dcnv2_fpnc_1200e_icdar2015.py +++ b/configs/textdet/dbnet/dbnet_r50dcnv2_fpnc_1200e_icdar2015.py @@ -1,15 +1,23 @@ _base_ = [ 'dbnet_r50dcnv2_fpnc.py', + '../../_base_/det_datasets/icdar2015.py', '../../_base_/default_runtime.py', '../../_base_/schedules/schedule_sgd_1200e.py', ] +# dataset settings +train_list = {{_base_.train_list}} +test_list = {{_base_.test_list}} +file_client_args = dict(backend='disk') default_hooks = dict(checkpoint=dict(type='CheckpointHook', interval=20), ) load_from = 'checkpoints/textdet/dbnet/res50dcnv2_synthtext.pth' train_pipeline_r50dcnv2 = [ - dict(type='LoadImageFromFile', color_type='color_ignore_orientation'), + dict( + type='LoadImageFromFile', + file_client_args=file_client_args, + color_type='color_ignore_orientation'), dict( type='LoadOCRAnnotations', with_bbox=True, @@ -34,7 +42,10 @@ train_pipeline_r50dcnv2 = [ ] test_pipeline_4068_1024 = [ - dict(type='LoadImageFromFile', color_type='color_ignore_orientation'), + dict( + type='LoadImageFromFile', + file_client_args=file_client_args, + color_type='color_ignore_orientation'), dict(type='Resize', scale=(4068, 1024), keep_ratio=True), dict( type='PackTextDetInputs', @@ -42,37 +53,24 @@ test_pipeline_4068_1024 = [ 'instances')) ] -dataset_type = 'OCRDataset' -data_root = 'data/icdar2015' - -train_dataset = dict( - type=dataset_type, - data_root=data_root, - ann_file='instances_training.json', - data_prefix=dict(img_path='imgs/'), - filter_cfg=dict(filter_empty_gt=True, min_size=32), - pipeline=train_pipeline_r50dcnv2) - -test_dataset = dict( - type=dataset_type, - data_root=data_root, - ann_file='instances_test.json', - data_prefix=dict(img_path='imgs/'), - test_mode=True, - pipeline=test_pipeline_4068_1024) - train_dataloader = dict( batch_size=16, num_workers=8, persistent_workers=True, sampler=dict(type='DefaultSampler', shuffle=True), - dataset=train_dataset) + dataset=dict( + type='ConcatDataset', + datasets=train_list, + pipeline=train_pipeline_r50dcnv2)) val_dataloader = dict( batch_size=16, num_workers=8, persistent_workers=True, sampler=dict(type='DefaultSampler', shuffle=False), - dataset=test_dataset) + dataset=dict( + type='ConcatDataset', + datasets=test_list, + pipeline=test_pipeline_4068_1024)) test_dataloader = val_dataloader val_evaluator = dict(type='HmeanIOUMetric') diff --git a/configs/textdet/drrg/drrg_r50_fpn_unet_1200e_ctw1500.py b/configs/textdet/drrg/drrg_r50_fpn_unet_1200e_ctw1500.py index 79d8f14b..805db048 100644 --- a/configs/textdet/drrg/drrg_r50_fpn_unet_1200e_ctw1500.py +++ b/configs/textdet/drrg/drrg_r50_fpn_unet_1200e_ctw1500.py @@ -1,11 +1,21 @@ _base_ = [ 'drrg_r50_fpn_unet.py', + '../../_base_/det_datasets/icdar2015.py', '../../_base_/default_runtime.py', '../../_base_/schedules/schedule_sgd_1200e.py', ] +# dataset settings +train_list = {{_base_.train_list}} +test_list = {{_base_.test_list}} +file_client_args = dict(backend='disk') +default_hooks = dict(checkpoint=dict(type='CheckpointHook', interval=20), ) + train_pipeline = [ - dict(type='LoadImageFromFile', color_type='color_ignore_orientation'), + dict( + type='LoadImageFromFile', + file_client_args=file_client_args, + color_type='color_ignore_orientation'), dict( type='LoadOCRAnnotations', with_bbox=True, @@ -55,7 +65,10 @@ train_pipeline = [ ] test_pipeline = [ - dict(type='LoadImageFromFile', color_type='color_ignore_orientation'), + dict( + type='LoadImageFromFile', + file_client_args=file_client_args, + color_type='color_ignore_orientation'), dict(type='Resize', scale=(1024, 640), keep_ratio=True), dict( type='PackTextDetInputs', @@ -63,37 +76,20 @@ test_pipeline = [ 'instances')) ] -dataset_type = 'OCRDataset' -data_root = 'data/ctw1500' - -train_dataset = dict( - type=dataset_type, - data_root=data_root, - ann_file='instances_training.json', - data_prefix=dict(img_path='imgs/'), - filter_cfg=dict(filter_empty_gt=True, min_size=32), - pipeline=train_pipeline) - -test_dataset = dict( - type=dataset_type, - data_root=data_root, - ann_file='instances_test.json', - data_prefix=dict(img_path='imgs/'), - test_mode=True, - pipeline=test_pipeline) - train_dataloader = dict( batch_size=4, num_workers=4, persistent_workers=True, sampler=dict(type='DefaultSampler', shuffle=True), - dataset=train_dataset) + dataset=dict( + type='ConcatDataset', datasets=train_list, pipeline=train_pipeline)) val_dataloader = dict( batch_size=1, num_workers=1, persistent_workers=True, sampler=dict(type='DefaultSampler', shuffle=False), - dataset=test_dataset) + dataset=dict( + type='ConcatDataset', datasets=test_list, pipeline=test_pipeline)) test_dataloader = val_dataloader val_evaluator = dict(type='HmeanIOUMetric') diff --git a/configs/textdet/fcenet/fcenet_r50_fpn_1500e_icdar2015.py b/configs/textdet/fcenet/fcenet_r50_fpn_1500e_icdar2015.py index 70884f79..b3428b03 100644 --- a/configs/textdet/fcenet/fcenet_r50_fpn_1500e_icdar2015.py +++ b/configs/textdet/fcenet/fcenet_r50_fpn_1500e_icdar2015.py @@ -1,15 +1,23 @@ _base_ = [ 'fcenet_r50_fpn.py', + '../../_base_/det_datasets/icdar2015.py', '../../_base_/default_runtime.py', '../../_base_/schedules/schedule_sgd_1500e.py', ] +# dataset settings +train_list = {{_base_.train_list}} +test_list = {{_base_.test_list}} +file_client_args = dict(backend='disk') default_hooks = dict( checkpoint=dict(type='CheckpointHook', interval=20), logger=dict(type='LoggerHook', interval=20)) train_pipeline = [ - dict(type='LoadImageFromFile', color_type='color_ignore_orientation'), + dict( + type='LoadImageFromFile', + file_client_args=file_client_args, + color_type='color_ignore_orientation'), dict( type='LoadOCRAnnotations', with_polygon=True, @@ -55,7 +63,10 @@ train_pipeline = [ meta_keys=('img_path', 'ori_shape', 'img_shape', 'scale_factor')) ] test_pipeline = [ - dict(type='LoadImageFromFile', color_type='color_ignore_orientation'), + dict( + type='LoadImageFromFile', + file_client_args=file_client_args, + color_type='color_ignore_orientation'), dict(type='Resize', scale=(2260, 2260), keep_ratio=True), dict( type='PackTextDetInputs', @@ -63,37 +74,20 @@ test_pipeline = [ 'instances')) ] -dataset_type = 'OCRDataset' -data_root = 'data/icdar2015' - -train_dataset = dict( - type=dataset_type, - data_root=data_root, - ann_file='instances_training.json', - data_prefix=dict(img_path='imgs/'), - filter_cfg=dict(filter_empty_gt=True, min_size=32), - pipeline=train_pipeline) - -test_dataset = dict( - type=dataset_type, - data_root=data_root, - ann_file='instances_test.json', - data_prefix=dict(img_path='imgs/'), - test_mode=True, - pipeline=test_pipeline) - train_dataloader = dict( batch_size=8, num_workers=4, persistent_workers=True, sampler=dict(type='DefaultSampler', shuffle=True), - dataset=train_dataset) + dataset=dict( + type='ConcatDataset', datasets=train_list, pipeline=train_pipeline)) val_dataloader = dict( batch_size=1, num_workers=4, persistent_workers=True, sampler=dict(type='DefaultSampler', shuffle=False), - dataset=test_dataset) + dataset=dict( + type='ConcatDataset', datasets=test_list, pipeline=test_pipeline)) test_dataloader = val_dataloader val_evaluator = dict(type='HmeanIOUMetric') diff --git a/configs/textdet/fcenet/fcenet_r50dcnv2_fpn_1500e_ctw1500.py b/configs/textdet/fcenet/fcenet_r50dcnv2_fpn_1500e_ctw1500.py index e35909fb..c72c0a51 100644 --- a/configs/textdet/fcenet/fcenet_r50dcnv2_fpn_1500e_ctw1500.py +++ b/configs/textdet/fcenet/fcenet_r50dcnv2_fpn_1500e_ctw1500.py @@ -1,15 +1,23 @@ _base_ = [ 'fcenet_r50_fpn.py', + '../../_base_/det_datasets/ctw1500.py', '../../_base_/default_runtime.py', '../../_base_/schedules/schedule_sgd_1500e.py', ] +# dataset settings +train_list = {{_base_.train_list}} +test_list = {{_base_.test_list}} +file_client_args = dict(backend='disk') default_hooks = dict( checkpoint=dict(type='CheckpointHook', interval=20), logger=dict(type='LoggerHook', interval=20)) train_pipeline = [ - dict(type='LoadImageFromFile', color_type='color_ignore_orientation'), + dict( + type='LoadImageFromFile', + file_client_args=file_client_args, + color_type='color_ignore_orientation'), dict( type='LoadOCRAnnotations', with_polygon=True, @@ -60,7 +68,10 @@ train_pipeline = [ meta_keys=('img_path', 'ori_shape', 'img_shape', 'scale_factor')) ] test_pipeline = [ - dict(type='LoadImageFromFile', color_type='color_ignore_orientation'), + dict( + type='LoadImageFromFile', + file_client_args=file_client_args, + color_type='color_ignore_orientation'), dict(type='Resize', scale=(1080, 736), keep_ratio=True), dict( type='PackTextDetInputs', @@ -68,37 +79,20 @@ test_pipeline = [ 'instances')) ] -dataset_type = 'OCRDataset' -data_root = 'data/ctw' - -train_dataset = dict( - type=dataset_type, - data_root=data_root, - ann_file='instances_training.json', - data_prefix=dict(img_path='imgs/'), - filter_cfg=dict(filter_empty_gt=True, min_size=32), - pipeline=train_pipeline) - -test_dataset = dict( - type=dataset_type, - data_root=data_root, - ann_file='instances_test.json', - data_prefix=dict(img_path='imgs/'), - test_mode=True, - pipeline=test_pipeline) - train_dataloader = dict( batch_size=8, num_workers=4, persistent_workers=True, sampler=dict(type='DefaultSampler', shuffle=True), - dataset=train_dataset) + dataset=dict( + type='ConcatDataset', datasets=train_list, pipeline=train_pipeline)) val_dataloader = dict( batch_size=1, num_workers=4, persistent_workers=True, sampler=dict(type='DefaultSampler', shuffle=False), - dataset=test_dataset) + dataset=dict( + type='ConcatDataset', datasets=test_list, pipeline=test_pipeline)) test_dataloader = val_dataloader val_evaluator = dict(type='HmeanIOUMetric') diff --git a/configs/textdet/maskrcnn/mask_rcnn_r50_fpn_160e_ctw1500.py b/configs/textdet/maskrcnn/mask_rcnn_r50_fpn_160e_ctw1500.py index ee9057f8..c524614a 100644 --- a/configs/textdet/maskrcnn/mask_rcnn_r50_fpn_160e_ctw1500.py +++ b/configs/textdet/maskrcnn/mask_rcnn_r50_fpn_160e_ctw1500.py @@ -1,15 +1,23 @@ _base_ = [ 'ocr_mask_rcnn_r50_fpn_ohem_poly.py', + '../../_base_/det_datasets/ctw1500.py', '../../_base_/default_runtime.py', '../../_base_/schedules/schedule_sgd_160e.py', ] +# dataset settings +train_list = {{_base_.train_list}} +test_list = {{_base_.test_list}} +file_client_args = dict(backend='disk') default_hooks = dict( checkpoint=dict(type='CheckpointHook', interval=20), logger=dict(type='LoggerHook', interval=20)) train_pipeline = [ - dict(type='LoadImageFromFile', color_type='color_ignore_orientation'), + dict( + type='LoadImageFromFile', + file_client_args=file_client_args, + color_type='color_ignore_orientation'), dict( type='LoadOCRAnnotations', with_polygon=True, @@ -37,7 +45,10 @@ train_pipeline = [ 'scale_factor', 'flip_direction')) ] test_pipeline = [ - dict(type='LoadImageFromFile', color_type='color_ignore_orientation'), + dict( + type='LoadImageFromFile', + file_client_args=file_client_args, + color_type='color_ignore_orientation'), dict(type='mmdet.Resize', scale=(1600, 1600), keep_ratio=True), dict( type='PackTextDetInputs', @@ -45,36 +56,20 @@ test_pipeline = [ 'instances')) ] -dataset_type = 'OCRDataset' -data_root = 'data/ctw' - -train_dataset = dict( - type=dataset_type, - data_root=data_root, - ann_file='instances_training.json', - data_prefix=dict(img_path='imgs/'), - filter_cfg=dict(filter_empty_gt=True, min_size=32), - pipeline=train_pipeline) - -test_dataset = dict( - type=dataset_type, - data_root=data_root, - ann_file='instances_test.json', - data_prefix=dict(img_path='imgs/'), - test_mode=True, - pipeline=test_pipeline) train_dataloader = dict( batch_size=8, num_workers=4, persistent_workers=True, sampler=dict(type='DefaultSampler', shuffle=True), - dataset=train_dataset) + dataset=dict( + type='ConcatDataset', datasets=train_list, pipeline=train_pipeline)) val_dataloader = dict( batch_size=1, num_workers=4, persistent_workers=True, sampler=dict(type='DefaultSampler', shuffle=False), - dataset=test_dataset) + dataset=dict( + type='ConcatDataset', datasets=test_list, pipeline=test_pipeline)) test_dataloader = val_dataloader val_evaluator = dict(type='HmeanIOUMetric') diff --git a/configs/textdet/maskrcnn/mask_rcnn_r50_fpn_160e_icdar2015.py b/configs/textdet/maskrcnn/mask_rcnn_r50_fpn_160e_icdar2015.py index 8e3b89fa..6090b485 100644 --- a/configs/textdet/maskrcnn/mask_rcnn_r50_fpn_160e_icdar2015.py +++ b/configs/textdet/maskrcnn/mask_rcnn_r50_fpn_160e_icdar2015.py @@ -1,15 +1,23 @@ _base_ = [ 'ocr_mask_rcnn_r50_fpn_ohem_poly.py', + '../../_base_/det_datasets/icdar2015.py', '../../_base_/default_runtime.py', '../../_base_/schedules/schedule_sgd_160e.py', ] +# dataset settings +train_list = {{_base_.train_list}} +test_list = {{_base_.test_list}} +file_client_args = dict(backend='disk') default_hooks = dict( checkpoint=dict(type='CheckpointHook', interval=20), logger=dict(type='LoggerHook', interval=20)) train_pipeline = [ - dict(type='LoadImageFromFile', color_type='color_ignore_orientation'), + dict( + type='LoadImageFromFile', + file_client_args=file_client_args, + color_type='color_ignore_orientation'), dict( type='LoadOCRAnnotations', with_polygon=True, @@ -37,7 +45,10 @@ train_pipeline = [ 'scale_factor', 'flip_direction')) ] test_pipeline = [ - dict(type='LoadImageFromFile', color_type='color_ignore_orientation'), + dict( + type='LoadImageFromFile', + file_client_args=file_client_args, + color_type='color_ignore_orientation'), dict(type='mmdet.Resize', scale=(1920, 1920), keep_ratio=True), dict( type='PackTextDetInputs', @@ -45,37 +56,20 @@ test_pipeline = [ 'instances')) ] -dataset_type = 'OCRDataset' -data_root = 'data/icdar2015' - -train_dataset = dict( - type=dataset_type, - data_root=data_root, - ann_file='instances_test.json', - data_prefix=dict(img_path='imgs/'), - filter_cfg=dict(filter_empty_gt=True, min_size=32), - pipeline=train_pipeline) - -test_dataset = dict( - type=dataset_type, - data_root=data_root, - ann_file='instances_test.json', - data_prefix=dict(img_path='imgs/'), - test_mode=True, - pipeline=test_pipeline) - train_dataloader = dict( batch_size=8, num_workers=4, persistent_workers=True, sampler=dict(type='DefaultSampler', shuffle=True), - dataset=train_dataset) + dataset=dict( + type='ConcatDataset', datasets=train_list, pipeline=train_pipeline)) val_dataloader = dict( batch_size=1, num_workers=4, persistent_workers=True, sampler=dict(type='DefaultSampler', shuffle=False), - dataset=test_dataset) + dataset=dict( + type='ConcatDataset', datasets=test_list, pipeline=test_pipeline)) test_dataloader = val_dataloader val_evaluator = dict(type='HmeanIOUMetric') diff --git a/configs/textdet/maskrcnn/mask_rcnn_r50_fpn_160e_icdar2017.py b/configs/textdet/maskrcnn/mask_rcnn_r50_fpn_160e_icdar2017.py index 14a8a87b..861a21c5 100644 --- a/configs/textdet/maskrcnn/mask_rcnn_r50_fpn_160e_icdar2017.py +++ b/configs/textdet/maskrcnn/mask_rcnn_r50_fpn_160e_icdar2017.py @@ -1,15 +1,23 @@ _base_ = [ 'ocr_mask_rcnn_r50_fpn_ohem_poly.py', + '../../_base_/det_datasets/icdar2017.py', '../../_base_/default_runtime.py', '../../_base_/schedules/schedule_sgd_160e.py', ] +# dataset settings +train_list = {{_base_.train_list}} +test_list = {{_base_.test_list}} +file_client_args = dict(backend='disk') default_hooks = dict( checkpoint=dict(type='CheckpointHook', interval=20), logger=dict(type='LoggerHook', interval=20)) train_pipeline = [ - dict(type='LoadImageFromFile', color_type='color_ignore_orientation'), + dict( + type='LoadImageFromFile', + file_client_args=file_client_args, + color_type='color_ignore_orientation'), dict( type='LoadOCRAnnotations', with_polygon=True, @@ -36,7 +44,10 @@ train_pipeline = [ 'scale_factor', 'flip_direction')) ] test_pipeline = [ - dict(type='LoadImageFromFile', color_type='color_ignore_orientation'), + dict( + type='LoadImageFromFile', + file_client_args=file_client_args, + color_type='color_ignore_orientation'), dict(type='mmdet.Resize', scale=(1920, 1920), keep_ratio=True), dict( type='PackTextDetInputs', @@ -44,37 +55,22 @@ test_pipeline = [ 'instances')) ] -dataset_type = 'OCRDataset' -data_root = 'data/icdar2017' - -train_dataset = dict( - type=dataset_type, - data_root=data_root, - ann_file='instances_training.json', - data_prefix=dict(img_path='imgs/'), - filter_cfg=dict(filter_empty_gt=True, min_size=32), - pipeline=train_pipeline) - -test_dataset = dict( - type=dataset_type, - data_root=data_root, - ann_file='instances_test.json', - data_prefix=dict(img_path='imgs/'), - test_mode=True, - pipeline=test_pipeline) - train_dataloader = dict( batch_size=8, num_workers=4, persistent_workers=True, sampler=dict(type='DefaultSampler', shuffle=True), - dataset=train_dataset) + dataset=dict( + type='ConcatDataset', datasets=train_list, pipeline=train_pipeline)) + val_dataloader = dict( batch_size=1, num_workers=4, persistent_workers=True, sampler=dict(type='DefaultSampler', shuffle=False), - dataset=test_dataset) + dataset=dict( + type='ConcatDataset', datasets=test_list, pipeline=test_pipeline)) + test_dataloader = val_dataloader val_evaluator = dict(type='HmeanIOUMetric') diff --git a/configs/textdet/panet/panet_r18_fpem_ffm_600e_icdar2015.py b/configs/textdet/panet/panet_r18_fpem_ffm_600e_icdar2015.py index 85707257..10ffc509 100644 --- a/configs/textdet/panet/panet_r18_fpem_ffm_600e_icdar2015.py +++ b/configs/textdet/panet/panet_r18_fpem_ffm_600e_icdar2015.py @@ -1,11 +1,21 @@ _base_ = [ 'panet_r18_fpem_ffm.py', '../../_base_/default_runtime.py', + '../../_base_/det_datasets/icdar2015.py', '../../_base_/schedules/schedule_adam_600e.py', ] +# dataset settings +train_list = {{_base_.train_list}} +test_list = {{_base_.test_list}} +file_client_args = dict(backend='disk') +default_hooks = dict(checkpoint=dict(type='CheckpointHook', interval=20), ) + train_pipeline = [ - dict(type='LoadImageFromFile', color_type='color_ignore_orientation'), + dict( + type='LoadImageFromFile', + file_client_args=file_client_args, + color_type='color_ignore_orientation'), dict( type='LoadOCRAnnotations', with_polygon=True, @@ -28,7 +38,10 @@ train_pipeline = [ ] test_pipeline = [ - dict(type='LoadImageFromFile', color_type='color_ignore_orientation'), + dict( + type='LoadImageFromFile', + file_client_args=file_client_args, + color_type='color_ignore_orientation'), # TODO Replace with mmcv.RescaleToShort when it's ready dict( type='RescaleToShortAspectJitter', @@ -42,37 +55,20 @@ test_pipeline = [ 'instances')) ] -dataset_type = 'OCRDataset' -data_root = 'data/det/icdar2015' - -train_dataset = dict( - type=dataset_type, - data_root=data_root, - ann_file='instance_training.json', - data_prefix=dict(img_path='imgs/'), - filter_cfg=dict(filter_empty_gt=True), - pipeline=train_pipeline) - -test_dataset = dict( - type=dataset_type, - data_root=data_root, - ann_file='instance_test.json', - data_prefix=dict(img_path='imgs/'), - test_mode=True, - pipeline=test_pipeline) - train_dataloader = dict( batch_size=8, num_workers=4, persistent_workers=True, sampler=dict(type='DefaultSampler', shuffle=True), - dataset=train_dataset) + dataset=dict( + type='ConcatDataset', datasets=train_list, pipeline=train_pipeline)) val_dataloader = dict( batch_size=1, num_workers=4, persistent_workers=True, sampler=dict(type='DefaultSampler', shuffle=False), - dataset=test_dataset) + dataset=dict( + type='ConcatDataset', datasets=test_list, pipeline=test_pipeline)) test_dataloader = val_dataloader val_evaluator = dict( diff --git a/configs/textdet/psenet/psenet_r50_fpnf_600e_icdar2015.py b/configs/textdet/psenet/psenet_r50_fpnf_600e_icdar2015.py index b7bde28b..f386eed9 100644 --- a/configs/textdet/psenet/psenet_r50_fpnf_600e_icdar2015.py +++ b/configs/textdet/psenet/psenet_r50_fpnf_600e_icdar2015.py @@ -1,13 +1,25 @@ _base_ = [ 'psenet_r50_fpnf.py', + '../../_base_/det_datasets/icdar2015.py', '../../_base_/default_runtime.py', '../../_base_/schedules/schedule_adam_step_600e.py', ] +# dataset settings +train_list = {{_base_.train_list}} +test_list = {{_base_.test_list}} +file_client_args = dict(backend='disk') +default_hooks = dict( + checkpoint=dict(type='CheckpointHook', interval=20), + logger=dict(type='LoggerHook', interval=20)) + model = {{_base_.model_quad}} train_pipeline_icdar2015 = [ - dict(type='LoadImageFromFile', color_type='color_ignore_orientation'), + dict( + type='LoadImageFromFile', + file_client_args=file_client_args, + color_type='color_ignore_orientation'), dict( type='LoadOCRAnnotations', with_polygon=True, @@ -29,7 +41,10 @@ train_pipeline_icdar2015 = [ ] test_pipeline_icdar2015 = [ - dict(type='LoadImageFromFile', color_type='color_ignore_orientation'), + dict( + type='LoadImageFromFile', + file_client_args=file_client_args, + color_type='color_ignore_orientation'), dict(type='Resize', scale=(2240, 2240), keep_ratio=True), dict( type='PackTextDetInputs', @@ -37,37 +52,24 @@ test_pipeline_icdar2015 = [ 'instances')) ] -dataset_type = 'OCRDataset' -data_root = 'data/icdar2015' - -train_dataset = dict( - type=dataset_type, - data_root=data_root, - ann_file='instances_training.json', - data_prefix=dict(img_path='imgs/'), - filter_cfg=dict(filter_empty_gt=True, min_size=32), - pipeline=train_pipeline_icdar2015) - -test_dataset = dict( - type=dataset_type, - data_root=data_root, - ann_file='instances_test.json', - data_prefix=dict(img_path='imgs/'), - test_mode=True, - pipeline=test_pipeline_icdar2015) - train_dataloader = dict( batch_size=16, num_workers=8, persistent_workers=False, sampler=dict(type='DefaultSampler', shuffle=True), - dataset=train_dataset) + dataset=dict( + type='ConcatDataset', + datasets=train_list, + pipeline=train_pipeline_icdar2015)) val_dataloader = dict( batch_size=1, num_workers=4, persistent_workers=False, sampler=dict(type='DefaultSampler', shuffle=False), - dataset=test_dataset) + dataset=dict( + type='ConcatDataset', + datasets=test_list, + pipeline=test_pipeline_icdar2015)) test_dataloader = val_dataloader val_evaluator = dict(type='HmeanIOUMetric') diff --git a/configs/textdet/textsnake/textsnake_r50_fpn_unet_1200e_ctw1500.py b/configs/textdet/textsnake/textsnake_r50_fpn_unet_1200e_ctw1500.py index 47fbec83..24dbd937 100644 --- a/configs/textdet/textsnake/textsnake_r50_fpn_unet_1200e_ctw1500.py +++ b/configs/textdet/textsnake/textsnake_r50_fpn_unet_1200e_ctw1500.py @@ -1,11 +1,23 @@ _base_ = [ 'textsnake_r50_fpn_unet.py', + '../../_base_/det_datasets/ctw1500.py', '../../_base_/default_runtime.py', '../../_base_/schedules/schedule_sgd_1200e.py', ] +# dataset settings +train_list = {{_base_.train_list}} +test_list = {{_base_.test_list}} +file_client_args = dict(backend='disk') +default_hooks = dict( + checkpoint=dict(type='CheckpointHook', interval=20), + logger=dict(type='LoggerHook', interval=20)) + train_pipeline = [ - dict(type='LoadImageFromFile', color_type='color_ignore_orientation'), + dict( + type='LoadImageFromFile', + file_client_args=file_client_args, + color_type='color_ignore_orientation'), dict( type='LoadOCRAnnotations', with_bbox=True, @@ -46,7 +58,10 @@ train_pipeline = [ ] test_pipeline = [ - dict(type='LoadImageFromFile', color_type='color_ignore_orientation'), + dict( + type='LoadImageFromFile', + file_client_args=file_client_args, + color_type='color_ignore_orientation'), dict(type='Resize', scale=(1333, 736), keep_ratio=True), dict( type='PackTextDetInputs', @@ -54,37 +69,20 @@ test_pipeline = [ 'instances')) ] -dataset_type = 'OCRDataset' -data_root = 'data/ctw1500' - -train_dataset = dict( - type=dataset_type, - data_root=data_root, - ann_file='instances_training.json', - data_prefix=dict(img_path='imgs/'), - filter_cfg=dict(filter_empty_gt=True, min_size=32), - pipeline=train_pipeline) - -test_dataset = dict( - type=dataset_type, - data_root=data_root, - ann_file='instances_test.json', - data_prefix=dict(img_path='imgs/'), - test_mode=True, - pipeline=test_pipeline) - train_dataloader = dict( batch_size=4, num_workers=4, persistent_workers=True, sampler=dict(type='DefaultSampler', shuffle=True), - dataset=train_dataset) + dataset=dict( + type='ConcatDataset', datasets=train_list, pipeline=train_pipeline)) val_dataloader = dict( batch_size=1, num_workers=1, persistent_workers=True, sampler=dict(type='DefaultSampler', shuffle=False), - dataset=test_dataset) + dataset=dict( + type='ConcatDataset', datasets=test_list, pipeline=test_pipeline)) test_dataloader = val_dataloader val_evaluator = dict(type='HmeanIOUMetric') diff --git a/configs/textrecog/abinet/base.py b/configs/textrecog/abinet/base.py index 2d040bf7..29efb84e 100644 --- a/configs/textrecog/abinet/base.py +++ b/configs/textrecog/abinet/base.py @@ -1,14 +1,15 @@ _base_ = [ + '../../_base_/recog_datasets/ST_MJ_train.py', + '../../_base_/recog_datasets/academic_test.py', '../../_base_/default_runtime.py', '../../_base_/schedules/schedule_adam_step_20e.py', ] -default_hooks = dict(logger=dict(type='LoggerHook', interval=100)) - # dataset settings -dataset_type = 'OCRDataset' -data_root = 'data/recog/' +train_list = {{_base_.train_list}} +test_list = {{_base_.test_list}} file_client_args = dict(backend='disk') +default_hooks = dict(logger=dict(type='LoggerHook', interval=100)) train_pipeline = [ dict(type='LoadImageFromFile', file_client_args=file_client_args), @@ -80,26 +81,13 @@ test_pipeline = [ 'instances')) ] -dataset_mj = dict( - type=dataset_type, - data_root=data_root, - data_prefix=dict(img_path='mnt/ramdisk/max/90kDICT32px/'), - ann_file='data/MJ/label.json', - pipeline=train_pipeline) -dataset_st = dict( - type=dataset_type, - data_root=data_root, - data_prefix=dict( - img_path='SynthText/synthtext/SynthText_patch_horizontal/'), - ann_file='data/ST/alphanumeric_labels.json', - pipeline=train_pipeline) - train_dataloader = dict( batch_size=192 * 4, num_workers=32, persistent_workers=True, sampler=dict(type='DefaultSampler', shuffle=True), - dataset=dict(type='ConcatDataset', datasets=[dataset_mj, dataset_st])) + dataset=dict( + type='ConcatDataset', datasets=train_list, pipeline=train_pipeline)) val_dataloader = dict( batch_size=192, @@ -108,12 +96,7 @@ val_dataloader = dict( drop_last=False, sampler=dict(type='DefaultSampler', shuffle=False), dataset=dict( - type=dataset_type, - data_root=data_root, - data_prefix=dict(img_path='testset/testset/IIIT5K/'), - ann_file='label.json', - test_mode=True, - pipeline=test_pipeline)) + type='ConcatDataset', datasets=test_list, pipeline=test_pipeline)) test_dataloader = val_dataloader val_evaluator = dict(type='WordMetric', mode=['ignore_case_symbol']) diff --git a/configs/textrecog/crnn/crnn_academic_dataset.py b/configs/textrecog/crnn/crnn_academic_dataset.py index 2855b733..f3996517 100644 --- a/configs/textrecog/crnn/crnn_academic_dataset.py +++ b/configs/textrecog/crnn/crnn_academic_dataset.py @@ -2,15 +2,16 @@ _base_ = [ 'crnn.py', '../../_base_/default_runtime.py', + '../../_base_/recog_datasets/MJ_train.py', + '../../_base_/recog_datasets/academic_test.py', '../../_base_/schedules/schedule_adadelta_5e.py', ] -default_hooks = dict(logger=dict(type='LoggerHook', interval=50), ) - # dataset settings -dataset_type = 'OCRDataset' -data_root = 'data/recog/' +train_list = {{_base_.train_list}} +test_list = {{_base_.test_list}} file_client_args = dict(backend='disk') +default_hooks = dict(logger=dict(type='LoggerHook', interval=50), ) train_pipeline = [ dict( @@ -47,11 +48,7 @@ train_dataloader = dict( persistent_workers=True, sampler=dict(type='DefaultSampler', shuffle=True), dataset=dict( - type=dataset_type, - data_root=data_root, - data_prefix=dict(img_path=None), - ann_file='train_label.json', - pipeline=train_pipeline)) + type='ConcatDataset', datasets=train_list, pipeline=train_pipeline)) val_dataloader = dict( batch_size=1, @@ -60,12 +57,7 @@ val_dataloader = dict( drop_last=False, sampler=dict(type='DefaultSampler', shuffle=False), dataset=dict( - type=dataset_type, - data_root=data_root, - data_prefix=dict(img_path=None), - ann_file='test_label.json', - test_mode=True, - pipeline=test_pipeline)) + type='ConcatDataset', datasets=test_list, pipeline=test_pipeline)) test_dataloader = val_dataloader val_evaluator = [ diff --git a/configs/textrecog/master/master_r31_12e_ST_MJ_SA.py b/configs/textrecog/master/master_r31_12e_ST_MJ_SA.py index 69e6d79e..70a4a24b 100644 --- a/configs/textrecog/master/master_r31_12e_ST_MJ_SA.py +++ b/configs/textrecog/master/master_r31_12e_ST_MJ_SA.py @@ -1,15 +1,16 @@ _base_ = [ 'master.py', + '../../_base_/recog_datasets/ST_SA_MJ_train.py', + '../../_base_/recog_datasets/academic_test.py', '../../_base_/default_runtime.py', '../../_base_/schedules/schedule_adam_step_12e.py', ] -default_hooks = dict(logger=dict(type='LoggerHook', interval=50), ) - # dataset settings -dataset_type = 'OCRDataset' -data_root = 'data/recog/' +train_list = {{_base_.train_list}} +test_list = {{_base_.test_list}} file_client_args = dict(backend='disk') +default_hooks = dict(logger=dict(type='LoggerHook', interval=50), ) train_pipeline = [ dict(type='LoadImageFromFile', file_client_args=file_client_args), @@ -47,11 +48,7 @@ train_dataloader = dict( persistent_workers=True, sampler=dict(type='DefaultSampler', shuffle=True), dataset=dict( - type=dataset_type, - data_root=data_root, - data_prefix=dict(img_path=None), - ann_file='train_label.json', - pipeline=train_pipeline)) + type='ConcatDataset', datasets=train_list, pipeline=train_pipeline)) val_dataloader = dict( batch_size=128, @@ -60,12 +57,7 @@ val_dataloader = dict( drop_last=False, sampler=dict(type='DefaultSampler', shuffle=False), dataset=dict( - type=dataset_type, - data_root=data_root, - data_prefix=dict(img_path=None), - ann_file='test_label.json', - test_mode=True, - pipeline=test_pipeline)) + type='ConcatDataset', datasets=test_list, pipeline=train_pipeline)) test_dataloader = val_dataloader val_evaluator = [ diff --git a/configs/textrecog/master/master_toy_dataset.py b/configs/textrecog/master/master_toy_dataset.py index 60c952f1..47668f6c 100644 --- a/configs/textrecog/master/master_toy_dataset.py +++ b/configs/textrecog/master/master_toy_dataset.py @@ -1,15 +1,15 @@ _base_ = [ 'master.py', + '../../_base_/recog_datasets/toy_data.py', '../../_base_/default_runtime.py', '../../_base_/schedules/schedule_adam_step_12e.py', ] -default_hooks = dict(logger=dict(type='LoggerHook', interval=50), ) - # dataset settings -dataset_type = 'OCRDataset' -data_root = 'test/data/recog_toy_dataset' +train_list = {{_base_.train_list}} +test_list = {{_base_.test_list}} file_client_args = dict(backend='disk') +default_hooks = dict(logger=dict(type='LoggerHook', interval=50), ) train_pipeline = [ dict(type='LoadImageFromFile', file_client_args=file_client_args), @@ -47,11 +47,7 @@ train_dataloader = dict( persistent_workers=True, sampler=dict(type='DefaultSampler', shuffle=True), dataset=dict( - type=dataset_type, - data_root=data_root, - data_prefix=dict(img_path=None), - ann_file='label.json', - pipeline=train_pipeline)) + type='ConcatDataset', datasets=train_list, pipeline=train_pipeline)) val_dataloader = dict( batch_size=2, @@ -60,12 +56,7 @@ val_dataloader = dict( drop_last=False, sampler=dict(type='DefaultSampler', shuffle=False), dataset=dict( - type=dataset_type, - data_root=data_root, - data_prefix=dict(img_path=None), - ann_file='label.json', - test_mode=True, - pipeline=test_pipeline)) + type='ConcatDataset', datasets=test_list, pipeline=test_pipeline)) test_dataloader = val_dataloader val_evaluator = [ diff --git a/configs/textrecog/nrtr/nrtr_modality_transform_academic.py b/configs/textrecog/nrtr/nrtr_modality_transform_academic.py index 91db7f5c..0b43228f 100644 --- a/configs/textrecog/nrtr/nrtr_modality_transform_academic.py +++ b/configs/textrecog/nrtr/nrtr_modality_transform_academic.py @@ -1,5 +1,7 @@ _base_ = [ - 'nrtr_modality_transform.py', '../../_base_/default_runtime.py', + 'nrtr_modality_transform.py', '../../_base_/recog_datasets/ST_MJ_train.py', + '../../_base_/recog_datasets/academic_test.py', + '../../_base_/default_runtime.py', '../../_base_/schedules/schedule_adam_step_6e.py' ] @@ -7,9 +9,10 @@ optimizer = dict(type='Adam', lr=3e-4) default_hooks = dict(logger=dict(type='LoggerHook', interval=50)) # dataset settings -dataset_type = 'OCRDataset' -data_root = 'data/recog/' +train_list = {{_base_.train_list}} +test_list = {{_base_.test_list}} file_client_args = dict(backend='disk') +default_hooks = dict(logger=dict(type='LoggerHook', interval=100)) train_pipeline = [ dict(type='LoadImageFromFile', file_client_args=file_client_args), @@ -47,11 +50,7 @@ train_dataloader = dict( persistent_workers=True, sampler=dict(type='DefaultSampler', shuffle=True), dataset=dict( - type=dataset_type, - data_root=data_root, - data_prefix=dict(img_path=None), - ann_file='train_label.json', - pipeline=train_pipeline)) + type='ConcatDataset', datasets=train_list, pipeline=test_pipeline)) val_dataloader = dict( batch_size=128, @@ -60,12 +59,7 @@ val_dataloader = dict( drop_last=False, sampler=dict(type='DefaultSampler', shuffle=False), dataset=dict( - type=dataset_type, - data_root=data_root, - data_prefix=dict(img_path=None), - ann_file='test_label.json', - test_mode=True, - pipeline=test_pipeline)) + type='ConcatDataset', datasets=test_list, pipeline=test_pipeline)) test_dataloader = val_dataloader val_evaluator = [ diff --git a/configs/textrecog/nrtr/nrtr_modality_transform_toy_dataset.py b/configs/textrecog/nrtr/nrtr_modality_transform_toy_dataset.py index 744c66db..c0e4c06f 100644 --- a/configs/textrecog/nrtr/nrtr_modality_transform_toy_dataset.py +++ b/configs/textrecog/nrtr/nrtr_modality_transform_toy_dataset.py @@ -3,12 +3,11 @@ _base_ = [ '../../_base_/schedules/schedule_adam_step_6e.py' ] -default_hooks = dict(logger=dict(type='LoggerHook', interval=50)) - # dataset settings -dataset_type = 'OCRDataset' -data_root = 'test/data/recog_toy_dataset' +train_list = {{_base_.train_list}} +test_list = {{_base_.test_list}} file_client_args = dict(backend='disk') +default_hooks = dict(logger=dict(type='LoggerHook', interval=100)) train_pipeline = [ dict(type='LoadImageFromFile', file_client_args=file_client_args), @@ -46,11 +45,7 @@ train_dataloader = dict( persistent_workers=True, sampler=dict(type='DefaultSampler', shuffle=True), dataset=dict( - type=dataset_type, - data_root=data_root, - data_prefix=dict(img_path=None), - ann_file='label.json', - pipeline=train_pipeline)) + type='ConcatDataset', datasets=train_list, pipeline=test_pipeline)) val_dataloader = dict( batch_size=128, @@ -59,12 +54,8 @@ val_dataloader = dict( drop_last=False, sampler=dict(type='DefaultSampler', shuffle=False), dataset=dict( - type=dataset_type, - data_root=data_root, - data_prefix=dict(img_path=None), - ann_file='label.json', - test_mode=True, - pipeline=test_pipeline)) + type='ConcatDataset', datasets=test_list, pipeline=test_pipeline)) + test_dataloader = val_dataloader val_evaluator = [ diff --git a/configs/textrecog/nrtr/nrtr_r31_1by16_1by8_academic.py b/configs/textrecog/nrtr/nrtr_r31_1by16_1by8_academic.py index 2ef2a176..b4b92b0e 100644 --- a/configs/textrecog/nrtr/nrtr_r31_1by16_1by8_academic.py +++ b/configs/textrecog/nrtr/nrtr_r31_1by16_1by8_academic.py @@ -1,10 +1,17 @@ _base_ = [ + '../../_base_/recog_datasets/ST_MJ_train.py', + '../../_base_/recog_datasets/academic_test.py', '../../_base_/default_runtime.py', '../../_base_/schedules/schedule_adam_step_6e.py' ] optimizer = dict(type='Adam', lr=3e-4) -default_hooks = dict(logger=dict(type='LoggerHook', interval=50)) + +# dataset settings +train_list = {{_base_.train_list}} +test_list = {{_base_.test_list}} +file_client_args = dict(backend='disk') +default_hooks = dict(logger=dict(type='LoggerHook', interval=100)) dictionary = dict( type='Dictionary', @@ -34,11 +41,6 @@ model = dict( preprocess_cfg=dict( mean=[123.675, 116.28, 103.53], std=[58.395, 57.12, 57.375])) -# dataset settings -dataset_type = 'OCRDataset' -data_root = 'data/recog/' -file_client_args = dict(backend='disk') - train_pipeline = [ dict(type='LoadImageFromFile', file_client_args=file_client_args), dict(type='LoadOCRAnnotations', with_text=True), @@ -75,11 +77,7 @@ train_dataloader = dict( persistent_workers=True, sampler=dict(type='DefaultSampler', shuffle=True), dataset=dict( - type=dataset_type, - data_root=data_root, - data_prefix=dict(img_path=None), - ann_file='train_label.json', - pipeline=train_pipeline)) + type='ConcatDataset', datasets=train_list, pipeline=train_pipeline)) val_dataloader = dict( batch_size=128, @@ -88,12 +86,7 @@ val_dataloader = dict( drop_last=False, sampler=dict(type='DefaultSampler', shuffle=False), dataset=dict( - type=dataset_type, - data_root=data_root, - data_prefix=dict(img_path=None), - ann_file='test_label.json', - test_mode=True, - pipeline=test_pipeline)) + type='ConcatDataset', datasets=test_list, pipeline=test_pipeline)) test_dataloader = val_dataloader val_evaluator = [ diff --git a/configs/textrecog/nrtr/nrtr_r31_1by8_1by4_academic.py b/configs/textrecog/nrtr/nrtr_r31_1by8_1by4_academic.py index ca7af38c..9621575d 100644 --- a/configs/textrecog/nrtr/nrtr_r31_1by8_1by4_academic.py +++ b/configs/textrecog/nrtr/nrtr_r31_1by8_1by4_academic.py @@ -1,4 +1,6 @@ _base_ = [ + '../../_base_/recog_datasets/ST_MJ_train.py', + '../../_base_/recog_datasets/academic_test.py', '../../_base_/default_runtime.py', '../../_base_/schedules/schedule_adam_step_6e.py' ] @@ -6,6 +8,12 @@ _base_ = [ optimizer = dict(type='Adam', lr=3e-4) default_hooks = dict(logger=dict(type='LoggerHook', interval=50)) +# dataset settings +train_list = {{_base_.train_list}} +test_list = {{_base_.test_list}} +file_client_args = dict(backend='disk') +default_hooks = dict(logger=dict(type='LoggerHook', interval=100)) + dictionary = dict( type='Dictionary', dict_file='dicts/english_digits_symbols.txt', @@ -34,11 +42,6 @@ model = dict( preprocess_cfg=dict( mean=[123.675, 116.28, 103.53], std=[58.395, 57.12, 57.375])) -# dataset settings -dataset_type = 'OCRDataset' -data_root = 'data/recog/' -file_client_args = dict(backend='disk') - train_pipeline = [ dict(type='LoadImageFromFile', file_client_args=file_client_args), dict(type='LoadOCRAnnotations', with_text=True), @@ -75,11 +78,7 @@ train_dataloader = dict( persistent_workers=True, sampler=dict(type='DefaultSampler', shuffle=True), dataset=dict( - type=dataset_type, - data_root=data_root, - data_prefix=dict(img_path=None), - ann_file='train_label.json', - pipeline=train_pipeline)) + type='ConcatDataset', datasets=train_list, pipeline=train_pipeline)) val_dataloader = dict( batch_size=128, @@ -88,12 +87,8 @@ val_dataloader = dict( drop_last=False, sampler=dict(type='DefaultSampler', shuffle=False), dataset=dict( - type=dataset_type, - data_root=data_root, - data_prefix=dict(img_path=None), - ann_file='test_label.json', - test_mode=True, - pipeline=test_pipeline)) + type='ConcatDataset', datasets=test_list, pipeline=train_pipeline)) + test_dataloader = val_dataloader val_evaluator = [ diff --git a/configs/textrecog/robust_scanner/robustscanner_r31_academic.py b/configs/textrecog/robust_scanner/robustscanner_r31_academic.py index 6e60a562..1f7ad5bf 100644 --- a/configs/textrecog/robust_scanner/robustscanner_r31_academic.py +++ b/configs/textrecog/robust_scanner/robustscanner_r31_academic.py @@ -1,12 +1,15 @@ _base_ = [ - 'robust_scanner.py', '../../_base_/default_runtime.py', + 'robust_scanner.py', '../../_base_/recog_datasets/ST_SA_MJ_real_train.py', + '../../_base_/recog_datasets/academic_test.py', + '../../_base_/default_runtime.py', '../../_base_/schedules/schedule_adam_step_5e.py' ] # dataset settings -dataset_type = 'OCRDataset' -data_root = 'data/recog' +train_list = {{_base_.train_list}} +test_list = {{_base_.test_list}} file_client_args = dict(backend='disk') +default_hooks = dict(logger=dict(type='LoggerHook', interval=100)) train_pipeline = [ dict(type='LoadImageFromFile', file_client_args=file_client_args), @@ -38,11 +41,7 @@ train_dataloader = dict( persistent_workers=True, sampler=dict(type='DefaultSampler', shuffle=True), dataset=dict( - type=dataset_type, - data_root=data_root, - data_prefix=dict(img_path=''), - ann_file='train_label.json', - pipeline=train_pipeline)) + type='ConcatDataset', datasets=train_list, pipeline=train_pipeline)) val_dataloader = dict( batch_size=1, @@ -51,12 +50,7 @@ val_dataloader = dict( drop_last=False, sampler=dict(type='DefaultSampler', shuffle=False), dataset=dict( - type=dataset_type, - data_root=data_root, - data_prefix=dict(img_path=''), - ann_file='test_label.json', - test_mode=True, - pipeline=test_pipeline)) + type='ConcatDataset', datasets=test_list, pipeline=test_pipeline)) test_dataloader = val_dataloader val_evaluator = [ diff --git a/configs/textrecog/sar/sar_r31_parallel_decoder_academic.py b/configs/textrecog/sar/sar_r31_parallel_decoder_academic.py index 99ad4aae..a1032d69 100644 --- a/configs/textrecog/sar/sar_r31_parallel_decoder_academic.py +++ b/configs/textrecog/sar/sar_r31_parallel_decoder_academic.py @@ -1,12 +1,16 @@ _base_ = [ 'sar.py', + '../../_base_/recog_datasets/ST_SA_MJ_real_train.py', + '../../_base_/recog_datasets/academic_test.py', '../../_base_/default_runtime.py', '../../_base_/schedules/schedule_adam_step_5e.py', ] -dataset_type = 'OCRDataset' -data_root = 'data/recog/' +# dataset settings +train_list = {{_base_.train_list}} +test_list = {{_base_.test_list}} file_client_args = dict(backend='disk') +default_hooks = dict(logger=dict(type='LoggerHook', interval=100)) train_pipeline = [ dict(type='LoadImageFromFile', file_client_args=file_client_args), @@ -44,11 +48,7 @@ train_dataloader = dict( persistent_workers=True, sampler=dict(type='DefaultSampler', shuffle=True), dataset=dict( - type=dataset_type, - data_root=data_root, - data_prefix=dict(img_path=None), - ann_file='train_label.json', - pipeline=train_pipeline)) + type='ConcatDataset', datasets=train_list, pipeline=train_pipeline)) val_dataloader = dict( batch_size=1, @@ -57,12 +57,7 @@ val_dataloader = dict( drop_last=False, sampler=dict(type='DefaultSampler', shuffle=False), dataset=dict( - type=dataset_type, - data_root=data_root, - data_prefix=dict(img_path=None), - ann_file='test_label.json', - test_mode=True, - pipeline=test_pipeline)) + type='ConcatDataset', datasets=test_list, pipeline=test_pipeline)) test_dataloader = val_dataloader val_evaluator = [ diff --git a/configs/textrecog/sar/sar_r31_sequential_decoder_academic.py b/configs/textrecog/sar/sar_r31_sequential_decoder_academic.py index 26df9453..50ba3b24 100644 --- a/configs/textrecog/sar/sar_r31_sequential_decoder_academic.py +++ b/configs/textrecog/sar/sar_r31_sequential_decoder_academic.py @@ -1,12 +1,16 @@ _base_ = [ 'sar.py', + '../../_base_/recog_datasets/ST_SA_MJ_real_train.py', + '../../_base_/recog_datasets/academic_test.py', '../../_base_/default_runtime.py', '../../_base_/schedules/schedule_adam_step_5e.py', ] -dataset_type = 'OCRDataset' -data_root = 'data/recog/' +# dataset settings +train_list = {{_base_.train_list}} +test_list = {{_base_.test_list}} file_client_args = dict(backend='disk') +default_hooks = dict(logger=dict(type='LoggerHook', interval=100)) train_pipeline = [ dict(type='LoadImageFromFile', file_client_args=file_client_args), @@ -38,11 +42,7 @@ train_dataloader = dict( persistent_workers=True, sampler=dict(type='DefaultSampler', shuffle=True), dataset=dict( - type=dataset_type, - data_root=data_root, - data_prefix=dict(img_path=None), - ann_file='train_label.json', - pipeline=train_pipeline)) + type='ConcatDataset', datasets=train_list, pipeline=train_pipeline)) val_dataloader = dict( batch_size=1, @@ -51,12 +51,7 @@ val_dataloader = dict( drop_last=False, sampler=dict(type='DefaultSampler', shuffle=False), dataset=dict( - type=dataset_type, - data_root=data_root, - data_prefix=dict(img_path=None), - ann_file='test_label.json', - test_mode=True, - pipeline=test_pipeline)) + type='ConcatDataset', datasets=test_list, pipeline=test_pipeline)) test_dataloader = val_dataloader val_evaluator = [ diff --git a/configs/textrecog/satrn/satrn_academic.py b/configs/textrecog/satrn/satrn_academic.py index a1958fb4..1bd5d6fd 100644 --- a/configs/textrecog/satrn/satrn_academic.py +++ b/configs/textrecog/satrn/satrn_academic.py @@ -1,15 +1,19 @@ _base_ = [ - 'satrn.py' + 'satrn.py', + '../../_base_/recog_datasets/ST_MJ_train.py', + '../../_base_/recog_datasets/academic_test.py', '../../_base_/default_runtime.py', '../../_base_/schedules/schedule_adam_step_5e.py', ] +# dataset settings +train_list = {{_base_.train_list}} +test_list = {{_base_.test_list}} +file_client_args = dict(backend='disk') default_hooks = dict(logger=dict(type='LoggerHook', interval=50)) -# dataset settings -dataset_type = 'OCRDataset' -data_root = 'tests/data/ocr_toy_dataset' -file_client_args = dict(backend='petrel') +# optimizer +optim_wrapper = dict(type='OptimWrapper', optimizer=dict(type='Adam', lr=3e-4)) model = dict( type='SATRN', @@ -38,9 +42,6 @@ model = dict( max_seq_len=25, postprocessor=dict(type='AttentionPostprocessor'))) -# optimizer -optim_wrapper = dict(type='OptimWrapper', optimizer=dict(type='Adam', lr=3e-4)) - train_pipeline = [ dict(type='LoadImageFromFile', file_client_args=file_client_args), dict(type='LoadOCRAnnotations', with_text=True), @@ -66,11 +67,7 @@ train_dataloader = dict( persistent_workers=True, sampler=dict(type='DefaultSampler', shuffle=True), dataset=dict( - type=dataset_type, - data_root=data_root, - data_prefix=dict(img_path=None), - ann_file='train_label.json', - pipeline=train_pipeline)) + type='ConcatDataset', datasets=train_list, pipeline=train_pipeline)) val_dataloader = dict( batch_size=64, @@ -79,12 +76,7 @@ val_dataloader = dict( drop_last=False, sampler=dict(type='DefaultSampler', shuffle=False), dataset=dict( - type=dataset_type, - data_root=data_root, - data_prefix=dict(img_path=None), - ann_file='test_label.json', - test_mode=True, - pipeline=test_pipeline)) + type='ConcatDataset', datasets=test_list, pipeline=test_pipeline)) test_dataloader = val_dataloader val_evaluator = [