diff --git a/configs/_base_/schedules/schedule_adam_step_12e.py b/configs/_base_/schedules/schedule_adam_step_12e.py deleted file mode 100644 index 1fe536e4..00000000 --- a/configs/_base_/schedules/schedule_adam_step_12e.py +++ /dev/null @@ -1,11 +0,0 @@ -# optimizer - -optim_wrapper = dict(type='OptimWrapper', optimizer=dict(type='Adam', lr=4e-4)) -train_cfg = dict(type='EpochBasedTrainLoop', max_epochs=12, val_interval=1) -val_cfg = dict(type='ValLoop') -test_cfg = dict(type='TestLoop') -# learning policy -param_scheduler = [ - dict(type='LinearLR', end=100, by_epoch=False), - dict(type='MultiStepLR', milestones=[11], end=12), -] diff --git a/configs/_base_/schedules/schedule_adam_step_20e.py b/configs/_base_/schedules/schedule_adam_step_20e.py deleted file mode 100644 index 98997fc0..00000000 --- a/configs/_base_/schedules/schedule_adam_step_20e.py +++ /dev/null @@ -1,12 +0,0 @@ -# optimizer -optim_wrapper = dict(type='OptimWrapper', optimizer=dict(type='Adam', lr=1e-4)) -train_cfg = dict(type='EpochBasedTrainLoop', max_epochs=20, val_interval=1) -val_cfg = dict(type='ValLoop') -test_cfg = dict(type='TestLoop') -# learning policy -param_scheduler = [ - dict( - type='LinearLR', end=2, start_factor=0.001, - convert_to_iter_based=True), - dict(type='MultiStepLR', milestones=[16, 18], end=20), -] diff --git a/configs/_base_/schedules/schedule_adam_step_6e.py b/configs/_base_/schedules/schedule_adam_step_6e.py deleted file mode 100644 index 598c16dc..00000000 --- a/configs/_base_/schedules/schedule_adam_step_6e.py +++ /dev/null @@ -1,8 +0,0 @@ -_base_ = 'schedule_adam_step_5e.py' - -train_cfg = dict(type='EpochBasedTrainLoop', max_epochs=6, val_interval=1) - -# learning policy -param_scheduler = [ - dict(type='MultiStepLR', milestones=[3, 4], end=6), -] diff --git a/configs/textdet/_base_/schedules/schedule_sgd_base.py b/configs/textdet/_base_/schedules/schedule_sgd_base.py new file mode 100644 index 00000000..baf559de --- /dev/null +++ b/configs/textdet/_base_/schedules/schedule_sgd_base.py @@ -0,0 +1,15 @@ +# Note: This schedule config serves as a base config for other schedules. +# Users would have to at least fill in "max_epochs" and "val_interval" +# in order to use this config in their experiments. + +# optimizer +optim_wrapper = dict( + type='OptimWrapper', + optimizer=dict(type='SGD', lr=0.007, momentum=0.9, weight_decay=0.0001)) +train_cfg = dict(type='EpochBasedTrainLoop', max_epochs=None, val_interval=20) +val_cfg = dict(type='ValLoop') +test_cfg = dict(type='TestLoop') +# learning policy +param_scheduler = [ + dict(type='ConstantLR', factor=1.0), +] diff --git a/configs/textdet/fcenet/fcenet_resnet50-dcnv2_fpn_1500e_ctw1500.py b/configs/textdet/fcenet/fcenet_resnet50-dcnv2_fpn_1500e_ctw1500.py index cf2d2a1b..9e61f883 100644 --- a/configs/textdet/fcenet/fcenet_resnet50-dcnv2_fpn_1500e_ctw1500.py +++ b/configs/textdet/fcenet/fcenet_resnet50-dcnv2_fpn_1500e_ctw1500.py @@ -2,7 +2,7 @@ _base_ = [ '_base_fcenet_resnet50-dcnv2_fpn.py', '../_base_/datasets/ctw1500.py', '../_base_/default_runtime.py', - '../_base_/schedules/schedule_sgd_1200e.py', + '../_base_/schedules/schedule_sgd_base.py', ] optim_wrapper = dict(optimizer=dict(lr=1e-3, weight_decay=5e-4)) diff --git a/configs/textdet/fcenet/fcenet_resnet50_fpn_1500e_icdar2015.py b/configs/textdet/fcenet/fcenet_resnet50_fpn_1500e_icdar2015.py index a8e1b0a4..93d332d0 100644 --- a/configs/textdet/fcenet/fcenet_resnet50_fpn_1500e_icdar2015.py +++ b/configs/textdet/fcenet/fcenet_resnet50_fpn_1500e_icdar2015.py @@ -2,7 +2,7 @@ _base_ = [ '_base_fcenet_resnet50_fpn.py', '../_base_/datasets/icdar2015.py', '../_base_/default_runtime.py', - '../_base_/schedules/schedule_sgd_1200e.py', + '../_base_/schedules/schedule_sgd_base.py', ] optim_wrapper = dict(optimizer=dict(lr=1e-3, weight_decay=5e-4)) diff --git a/configs/textdet/maskrcnn/mask-rcnn_resnet50_fpn_160e_ctw1500.py b/configs/textdet/maskrcnn/mask-rcnn_resnet50_fpn_160e_ctw1500.py index 7c436637..5c269aa2 100644 --- a/configs/textdet/maskrcnn/mask-rcnn_resnet50_fpn_160e_ctw1500.py +++ b/configs/textdet/maskrcnn/mask-rcnn_resnet50_fpn_160e_ctw1500.py @@ -2,7 +2,7 @@ _base_ = [ '_base_mask-rcnn_resnet50_fpn.py', '../_base_/datasets/ctw1500.py', '../_base_/default_runtime.py', - '../_base_/schedules/schedule_sgd_1200e.py', + '../_base_/schedules/schedule_sgd_base.py', ] # optimizer diff --git a/configs/textdet/maskrcnn/mask-rcnn_resnet50_fpn_160e_icdar2015.py b/configs/textdet/maskrcnn/mask-rcnn_resnet50_fpn_160e_icdar2015.py index e3538bd8..07ff1426 100644 --- a/configs/textdet/maskrcnn/mask-rcnn_resnet50_fpn_160e_icdar2015.py +++ b/configs/textdet/maskrcnn/mask-rcnn_resnet50_fpn_160e_icdar2015.py @@ -2,7 +2,7 @@ _base_ = [ '_base_mask-rcnn_resnet50_fpn.py', '../_base_/datasets/icdar2015.py', '../_base_/default_runtime.py', - '../_base_/schedules/schedule_sgd_1200e.py', + '../_base_/schedules/schedule_sgd_base.py', ] # optimizer diff --git a/configs/textrecog/_base_/recog_datasets/coco_text_v1.py b/configs/textrecog/_base_/datasets/coco_text_v1.py similarity index 100% rename from configs/textrecog/_base_/recog_datasets/coco_text_v1.py rename to configs/textrecog/_base_/datasets/coco_text_v1.py diff --git a/configs/textrecog/_base_/recog_datasets/cute80.py b/configs/textrecog/_base_/datasets/cute80.py similarity index 100% rename from configs/textrecog/_base_/recog_datasets/cute80.py rename to configs/textrecog/_base_/datasets/cute80.py diff --git a/configs/textrecog/_base_/recog_datasets/icdar2011.py b/configs/textrecog/_base_/datasets/icdar2011.py similarity index 100% rename from configs/textrecog/_base_/recog_datasets/icdar2011.py rename to configs/textrecog/_base_/datasets/icdar2011.py diff --git a/configs/textrecog/_base_/recog_datasets/icdar2013.py b/configs/textrecog/_base_/datasets/icdar2013.py similarity index 100% rename from configs/textrecog/_base_/recog_datasets/icdar2013.py rename to configs/textrecog/_base_/datasets/icdar2013.py diff --git a/configs/textrecog/_base_/recog_datasets/icdar2015.py b/configs/textrecog/_base_/datasets/icdar2015.py similarity index 100% rename from configs/textrecog/_base_/recog_datasets/icdar2015.py rename to configs/textrecog/_base_/datasets/icdar2015.py diff --git a/configs/textrecog/_base_/recog_datasets/iiit5k.py b/configs/textrecog/_base_/datasets/iiit5k.py similarity index 100% rename from configs/textrecog/_base_/recog_datasets/iiit5k.py rename to configs/textrecog/_base_/datasets/iiit5k.py diff --git a/configs/textrecog/_base_/recog_datasets/mjsynth.py b/configs/textrecog/_base_/datasets/mjsynth.py similarity index 100% rename from configs/textrecog/_base_/recog_datasets/mjsynth.py rename to configs/textrecog/_base_/datasets/mjsynth.py diff --git a/configs/textrecog/_base_/recog_datasets/svt.py b/configs/textrecog/_base_/datasets/svt.py similarity index 100% rename from configs/textrecog/_base_/recog_datasets/svt.py rename to configs/textrecog/_base_/datasets/svt.py diff --git a/configs/textrecog/_base_/recog_datasets/svtp.py b/configs/textrecog/_base_/datasets/svtp.py similarity index 100% rename from configs/textrecog/_base_/recog_datasets/svtp.py rename to configs/textrecog/_base_/datasets/svtp.py diff --git a/configs/textrecog/_base_/recog_datasets/synthtext.py b/configs/textrecog/_base_/datasets/synthtext.py similarity index 100% rename from configs/textrecog/_base_/recog_datasets/synthtext.py rename to configs/textrecog/_base_/datasets/synthtext.py diff --git a/configs/textrecog/_base_/recog_datasets/synthtext_add.py b/configs/textrecog/_base_/datasets/synthtext_add.py similarity index 100% rename from configs/textrecog/_base_/recog_datasets/synthtext_add.py rename to configs/textrecog/_base_/datasets/synthtext_add.py diff --git a/configs/textrecog/_base_/recog_datasets/toy_data.py b/configs/textrecog/_base_/datasets/toy_data.py similarity index 100% rename from configs/textrecog/_base_/recog_datasets/toy_data.py rename to configs/textrecog/_base_/datasets/toy_data.py diff --git a/configs/_base_/schedules/schedule_adadelta_5e.py b/configs/textrecog/_base_/schedules/schedule_adadelta_5e.py similarity index 100% rename from configs/_base_/schedules/schedule_adadelta_5e.py rename to configs/textrecog/_base_/schedules/schedule_adadelta_5e.py diff --git a/configs/textrecog/_base_/schedules/schedule_adam_base.py b/configs/textrecog/_base_/schedules/schedule_adam_base.py new file mode 100644 index 00000000..744f3285 --- /dev/null +++ b/configs/textrecog/_base_/schedules/schedule_adam_base.py @@ -0,0 +1,13 @@ +# Note: This schedule config serves as a base config for other schedules. +# Users would have to at least fill in "max_epochs" and "val_interval" +# in order to use this config in their experiments. + +# optimizer +optim_wrapper = dict(type='OptimWrapper', optimizer=dict(type='Adam', lr=3e-4)) +train_cfg = dict(type='EpochBasedTrainLoop', max_epochs=None, val_interval=1) +val_cfg = dict(type='ValLoop') +test_cfg = dict(type='TestLoop') +# learning policy +param_scheduler = [ + dict(type='ConstantLR', factor=1.0), +] diff --git a/configs/_base_/schedules/schedule_adam_step_5e.py b/configs/textrecog/_base_/schedules/schedule_adam_step_5e.py similarity index 100% rename from configs/_base_/schedules/schedule_adam_step_5e.py rename to configs/textrecog/_base_/schedules/schedule_adam_step_5e.py diff --git a/configs/textrecog/abinet/abinet-vision_6e_st-an_mj.py b/configs/textrecog/abinet/abinet-vision_20e_st-an_mj.py similarity index 60% rename from configs/textrecog/abinet/abinet-vision_6e_st-an_mj.py rename to configs/textrecog/abinet/abinet-vision_20e_st-an_mj.py index 5818b4fc..b6f220b8 100644 --- a/configs/textrecog/abinet/abinet-vision_6e_st-an_mj.py +++ b/configs/textrecog/abinet/abinet-vision_20e_st-an_mj.py @@ -1,17 +1,27 @@ _base_ = [ - '../../_base_/recog_datasets/mjsynth.py', - '../../_base_/recog_datasets/synthtext.py', - '../../_base_/recog_datasets/cute80.py', - '../../_base_/recog_datasets/iiit5k.py', - '../../_base_/recog_datasets/svt.py', - '../../_base_/recog_datasets/svtp.py', - '../../_base_/recog_datasets/icdar2013.py', - '../../_base_/recog_datasets/icdar2015.py', - '../../_base_/textrec_default_runtime.py', - '../../_base_/schedules/schedule_adam_step_20e.py', + '../_base_/datasets/mjsynth.py', + '../_base_/datasets/synthtext.py', + '../_base_/datasets/cute80.py', + '../_base_/datasets/iiit5k.py', + '../_base_/datasets/svt.py', + '../_base_/datasets/svtp.py', + '../_base_/datasets/icdar2013.py', + '../_base_/datasets/icdar2015.py', + '../_base_/default_runtime.py', + '../_base_/schedules/schedule_adam_base.py', '_base_abinet-vision.py', ] +optim_wrapper = dict(optimizer=dict(lr=1e-4)) +train_cfg = dict(max_epochs=20) +# learning policy +param_scheduler = [ + dict( + type='LinearLR', end=2, start_factor=0.001, + convert_to_iter_based=True), + dict(type='MultiStepLR', milestones=[16, 18], end=20), +] + # dataset settings train_list = [_base_.mj_rec_train, _base_.st_an_rec_train] test_list = [ diff --git a/configs/textrecog/abinet/abinet_6e_st-an_mj.py b/configs/textrecog/abinet/abinet_20e_st-an_mj.py similarity index 60% rename from configs/textrecog/abinet/abinet_6e_st-an_mj.py rename to configs/textrecog/abinet/abinet_20e_st-an_mj.py index 49c81910..078bebf4 100644 --- a/configs/textrecog/abinet/abinet_6e_st-an_mj.py +++ b/configs/textrecog/abinet/abinet_20e_st-an_mj.py @@ -1,17 +1,27 @@ _base_ = [ - '../../_base_/recog_datasets/mjsynth.py', - '../../_base_/recog_datasets/synthtext.py', - '../../_base_/recog_datasets/cute80.py', - '../../_base_/recog_datasets/iiit5k.py', - '../../_base_/recog_datasets/svt.py', - '../../_base_/recog_datasets/svtp.py', - '../../_base_/recog_datasets/icdar2013.py', - '../../_base_/recog_datasets/icdar2015.py', - '../../_base_/textrec_default_runtime.py', - '../../_base_/schedules/schedule_adam_step_20e.py', + '../_base_/datasets/mjsynth.py', + '../_base_/datasets/synthtext.py', + '../_base_/datasets/cute80.py', + '../_base_/datasets/iiit5k.py', + '../_base_/datasets/svt.py', + '../_base_/datasets/svtp.py', + '../_base_/datasets/icdar2013.py', + '../_base_/datasets/icdar2015.py', + '../_base_/default_runtime.py', + '../_base_/schedules/schedule_adam_base.py', '_base_abinet.py', ] +optim_wrapper = dict(optimizer=dict(lr=1e-4)) +train_cfg = dict(max_epochs=20) +# learning policy +param_scheduler = [ + dict( + type='LinearLR', end=2, start_factor=0.001, + convert_to_iter_based=True), + dict(type='MultiStepLR', milestones=[16, 18], end=20), +] + # dataset settings train_list = [_base_.mj_rec_train, _base_.st_an_rec_train] test_list = [ diff --git a/configs/textrecog/crnn/crnn_mini-vgg_5e_mj.py b/configs/textrecog/crnn/crnn_mini-vgg_5e_mj.py index a4d4fa49..7fd16506 100644 --- a/configs/textrecog/crnn/crnn_mini-vgg_5e_mj.py +++ b/configs/textrecog/crnn/crnn_mini-vgg_5e_mj.py @@ -1,14 +1,14 @@ # training schedule for 1x _base_ = [ - '../../_base_/recog_datasets/mjsynth.py', - '../../_base_/recog_datasets/cute80.py', - '../../_base_/recog_datasets/iiit5k.py', - '../../_base_/recog_datasets/svt.py', - '../../_base_/recog_datasets/svtp.py', - '../../_base_/recog_datasets/icdar2013.py', - '../../_base_/recog_datasets/icdar2015.py', - '../../_base_/textrec_default_runtime.py', - '../../_base_/schedules/schedule_adadelta_5e.py', + '../_base_/datasets/mjsynth.py', + '../_base_/datasets/cute80.py', + '../_base_/datasets/iiit5k.py', + '../_base_/datasets/svt.py', + '../_base_/datasets/svtp.py', + '../_base_/datasets/icdar2013.py', + '../_base_/datasets/icdar2015.py', + '../_base_/default_runtime.py', + '../_base_/schedules/schedule_adadelta_5e.py', '_base_crnn_mini-vgg.py', ] diff --git a/configs/textrecog/crnn/crnn_mini-vgg_5e_toy.py b/configs/textrecog/crnn/crnn_mini-vgg_5e_toy.py index 8502be2e..52b72091 100644 --- a/configs/textrecog/crnn/crnn_mini-vgg_5e_toy.py +++ b/configs/textrecog/crnn/crnn_mini-vgg_5e_toy.py @@ -1,8 +1,8 @@ # training schedule for 1x _base_ = [ - '../../_base_/textrec_default_runtime.py', - '../../_base_/recog_datasets/toy_data.py', - '../../_base_/schedules/schedule_adadelta_5e.py', + '../_base_/default_runtime.py', + '../_base_/datasets/toy_data.py', + '../_base_/schedules/schedule_adadelta_5e.py', '_base_crnn_mini-vgg.py', ] diff --git a/configs/textrecog/master/master_resnet31_12e_st_mj_sa.py b/configs/textrecog/master/master_resnet31_12e_st_mj_sa.py index cfad7091..214b2db5 100644 --- a/configs/textrecog/master/master_resnet31_12e_st_mj_sa.py +++ b/configs/textrecog/master/master_resnet31_12e_st_mj_sa.py @@ -1,18 +1,26 @@ _base_ = [ - '../../_base_/recog_datasets/mjsynth.py', - '../../_base_/recog_datasets/synthtext.py', - '../../_base_/recog_datasets/synthtext_add.py', - '../../_base_/recog_datasets/cute80.py', - '../../_base_/recog_datasets/iiit5k.py', - '../../_base_/recog_datasets/svt.py', - '../../_base_/recog_datasets/svtp.py', - '../../_base_/recog_datasets/icdar2013.py', - '../../_base_/recog_datasets/icdar2015.py', - '../../_base_/textrec_default_runtime.py', - '../../_base_/schedules/schedule_adam_step_12e.py', + '../_base_/datasets/mjsynth.py', + '../_base_/datasets/synthtext.py', + '../_base_/datasets/synthtext_add.py', + '../_base_/datasets/cute80.py', + '../_base_/datasets/iiit5k.py', + '../_base_/datasets/svt.py', + '../_base_/datasets/svtp.py', + '../_base_/datasets/icdar2013.py', + '../_base_/datasets/icdar2015.py', + '../_base_/default_runtime.py', + '../_base_/schedules/schedule_adam_base.py', '_base_master_resnet31.py', ] +optim_wrapper = dict(optimizer=dict(lr=4e-4)) +train_cfg = dict(max_epochs=12) +# learning policy +param_scheduler = [ + dict(type='LinearLR', end=100, by_epoch=False), + dict(type='MultiStepLR', milestones=[11], end=12), +] + # dataset settings train_list = [ _base_.mj_rec_train, _base_.st_rec_train, _base_.st_add_rec_train diff --git a/configs/textrecog/master/master_resnet31_12e_toy.py b/configs/textrecog/master/master_resnet31_12e_toy.py index 4876a6be..adf14636 100644 --- a/configs/textrecog/master/master_resnet31_12e_toy.py +++ b/configs/textrecog/master/master_resnet31_12e_toy.py @@ -1,8 +1,16 @@ _base_ = [ '_base_master_resnet31.py', - '../../_base_/recog_datasets/toy_data.py', - '../../_base_/textrec_default_runtime.py', - '../../_base_/schedules/schedule_adam_step_12e.py', + '../_base_/datasets/toy_data.py', + '../_base_/default_runtime.py', + '../_base_/schedules/schedule_adam_base.py', +] + +optim_wrapper = dict(optimizer=dict(lr=4e-4)) +train_cfg = dict(max_epochs=12) +# learning policy +param_scheduler = [ + dict(type='LinearLR', end=100, by_epoch=False), + dict(type='MultiStepLR', milestones=[11], end=12), ] # dataset settings diff --git a/configs/textrecog/nrtr/nrtr_modality-transform_6e_st_mj.py b/configs/textrecog/nrtr/nrtr_modality-transform_6e_st_mj.py index e709afac..452831ed 100644 --- a/configs/textrecog/nrtr/nrtr_modality-transform_6e_st_mj.py +++ b/configs/textrecog/nrtr/nrtr_modality-transform_6e_st_mj.py @@ -1,19 +1,23 @@ _base_ = [ - '../../_base_/recog_datasets/mjsynth.py', - '../../_base_/recog_datasets/synthtext.py', - '../../_base_/recog_datasets/cute80.py', - '../../_base_/recog_datasets/iiit5k.py', - '../../_base_/recog_datasets/svt.py', - '../../_base_/recog_datasets/svtp.py', - '../../_base_/recog_datasets/icdar2013.py', - '../../_base_/recog_datasets/icdar2015.py', - '../../_base_/textrec_default_runtime.py', - '../../_base_/schedules/schedule_adam_step_6e.py', + '../_base_/datasets/mjsynth.py', + '../_base_/datasets/synthtext.py', + '../_base_/datasets/cute80.py', + '../_base_/datasets/iiit5k.py', + '../_base_/datasets/svt.py', + '../_base_/datasets/svtp.py', + '../_base_/datasets/icdar2013.py', + '../_base_/datasets/icdar2015.py', + '../_base_/default_runtime.py', + '../_base_/schedules/schedule_adam_base.py', '_base_nrtr_modality-transform.py', ] # optimizer settings -optim_wrapper = dict(type='OptimWrapper', optimizer=dict(type='Adam', lr=3e-4)) +train_cfg = dict(max_epochs=6) +# learning policy +param_scheduler = [ + dict(type='MultiStepLR', milestones=[3, 4], end=6), +] # dataset settings train_list = [_base_.mj_rec_train, _base_.st_rec_train] diff --git a/configs/textrecog/nrtr/nrtr_modality-transform_6e_toy.py b/configs/textrecog/nrtr/nrtr_modality-transform_6e_toy.py index 294d6a46..db08d842 100644 --- a/configs/textrecog/nrtr/nrtr_modality-transform_6e_toy.py +++ b/configs/textrecog/nrtr/nrtr_modality-transform_6e_toy.py @@ -1,10 +1,17 @@ _base_ = [ - '../../_base_/recog_datasets/toy_data.py', - '../../_base_/textrec_default_runtime.py', - '../../_base_/schedules/schedule_adam_step_6e.py', + '../_base_/datasets/toy_data.py', + '../_base_/default_runtime.py', + '../_base_/schedules/schedule_adam_base.py', '_base_nrtr_modality-transform.py', ] +# optimizer settings +train_cfg = dict(max_epochs=6) +# learning policy +param_scheduler = [ + dict(type='MultiStepLR', milestones=[3, 4], end=6), +] + # dataset settings train_list = [_base_.toy_rec_train] test_list = [_base_.toy_rec_test] diff --git a/configs/textrecog/nrtr/nrtr_resnet31-1by16-1by8_6e_st_mj.py b/configs/textrecog/nrtr/nrtr_resnet31-1by16-1by8_6e_st_mj.py index b0a1f73e..f82980ae 100644 --- a/configs/textrecog/nrtr/nrtr_resnet31-1by16-1by8_6e_st_mj.py +++ b/configs/textrecog/nrtr/nrtr_resnet31-1by16-1by8_6e_st_mj.py @@ -1,19 +1,23 @@ _base_ = [ - '../../_base_/recog_datasets/mjsynth.py', - '../../_base_/recog_datasets/synthtext.py', - '../../_base_/recog_datasets/cute80.py', - '../../_base_/recog_datasets/iiit5k.py', - '../../_base_/recog_datasets/svt.py', - '../../_base_/recog_datasets/svtp.py', - '../../_base_/recog_datasets/icdar2013.py', - '../../_base_/recog_datasets/icdar2015.py', - '../../_base_/textrec_default_runtime.py', - '../../_base_/schedules/schedule_adam_step_6e.py', + '../_base_/datasets/mjsynth.py', + '../_base_/datasets/synthtext.py', + '../_base_/datasets/cute80.py', + '../_base_/datasets/iiit5k.py', + '../_base_/datasets/svt.py', + '../_base_/datasets/svtp.py', + '../_base_/datasets/icdar2013.py', + '../_base_/datasets/icdar2015.py', + '../_base_/default_runtime.py', + '../_base_/schedules/schedule_adam_base.py', '_base_nrtr_resnet31.py', ] # optimizer settings -optim_wrapper = dict(type='OptimWrapper', optimizer=dict(type='Adam', lr=3e-4)) +train_cfg = dict(max_epochs=6) +# learning policy +param_scheduler = [ + dict(type='MultiStepLR', milestones=[3, 4], end=6), +] # dataset settings train_list = [_base_.mj_rec_train, _base_.st_rec_train] diff --git a/configs/textrecog/robust_scanner/robustscanner_resnet31_5e_st-sub_mj-sub_sa_real.py b/configs/textrecog/robust_scanner/robustscanner_resnet31_5e_st-sub_mj-sub_sa_real.py index ad670018..23b7a640 100644 --- a/configs/textrecog/robust_scanner/robustscanner_resnet31_5e_st-sub_mj-sub_sa_real.py +++ b/configs/textrecog/robust_scanner/robustscanner_resnet31_5e_st-sub_mj-sub_sa_real.py @@ -1,15 +1,17 @@ _base_ = [ - '../../_base_/recog_datasets/mjsynth.py', - '../../_base_/recog_datasets/synthtext.py', - '../../_base_/recog_datasets/coco_text_v1.py' - '../../_base_/recog_datasets/cute80.py', - '../../_base_/recog_datasets/iiit5k.py', - '../../_base_/recog_datasets/svt.py', - '../../_base_/recog_datasets/svtp.py', - '../../_base_/recog_datasets/icdar2013.py', - '../../_base_/recog_datasets/icdar2015.py', - '../../_base_/textrec_default_runtime.py', - '../../_base_/schedules/schedule_adam_step_5e.py', + '../_base_/datasets/mjsynth.py', + '../_base_/datasets/synthtext.py', + '../_base_/datasets/synthtext_add.py', + '../_base_/datasets/coco_text_v1.py', + '../_base_/datasets/cute80.py', + '../_base_/datasets/iiit5k.py', + '../_base_/datasets/svt.py', + '../_base_/datasets/svtp.py', + '../_base_/datasets/icdar2011.py', + '../_base_/datasets/icdar2013.py', + '../_base_/datasets/icdar2015.py', + '../_base_/default_runtime.py', + '../_base_/schedules/schedule_adam_step_5e.py', '_base_robustscanner_resnet31.py', ] diff --git a/configs/textrecog/robust_scanner/robustscanner_resnet31_5e_toy.py b/configs/textrecog/robust_scanner/robustscanner_resnet31_5e_toy.py index 4550ab53..c6e999dc 100644 --- a/configs/textrecog/robust_scanner/robustscanner_resnet31_5e_toy.py +++ b/configs/textrecog/robust_scanner/robustscanner_resnet31_5e_toy.py @@ -1,13 +1,13 @@ _base_ = [ - '../../_base_/recog_datasets/toy_data.py', - '../../_base_/textrec_default_runtime.py', - '../../_base_/schedules/schedule_adam_step_5e.py', + '../_base_/datasets/toy_data.py', + '../_base_/default_runtime.py', + '../_base_/schedules/schedule_adam_step_5e.py', '_base_robustscanner_resnet31.py', ] # dataset settings -train_list = [_base_.train_list] -test_list = [_base_.test_list] +train_list = [_base_.toy_rec_train] +test_list = [_base_.toy_rec_test] default_hooks = dict(logger=dict(type='LoggerHook', interval=100)) diff --git a/configs/textrecog/sar/sar_resnet31_parallel-decoder_5e_st-sub_mj-sub_sa_real.py b/configs/textrecog/sar/sar_resnet31_parallel-decoder_5e_st-sub_mj-sub_sa_real.py index b023f140..b046655a 100644 --- a/configs/textrecog/sar/sar_resnet31_parallel-decoder_5e_st-sub_mj-sub_sa_real.py +++ b/configs/textrecog/sar/sar_resnet31_parallel-decoder_5e_st-sub_mj-sub_sa_real.py @@ -1,15 +1,17 @@ _base_ = [ - '../../_base_/recog_datasets/mjsynth.py', - '../../_base_/recog_datasets/synthtext.py', - '../../_base_/recog_datasets/coco_text_v1.py' - '../../_base_/recog_datasets/cute80.py', - '../../_base_/recog_datasets/iiit5k.py', - '../../_base_/recog_datasets/svt.py', - '../../_base_/recog_datasets/svtp.py', - '../../_base_/recog_datasets/icdar2013.py', - '../../_base_/recog_datasets/icdar2015.py', - '../../_base_/textrec_default_runtime.py', - '../../_base_/schedules/schedule_adam_step_5e.py', + '../_base_/datasets/mjsynth.py', + '../_base_/datasets/synthtext.py', + '../_base_/datasets/synthtext_add.py', + '../_base_/datasets/coco_text_v1.py', + '../_base_/datasets/cute80.py', + '../_base_/datasets/iiit5k.py', + '../_base_/datasets/svt.py', + '../_base_/datasets/svtp.py', + '../_base_/datasets/icdar2011.py', + '../_base_/datasets/icdar2013.py', + '../_base_/datasets/icdar2015.py', + '../_base_/default_runtime.py', + '../_base_/schedules/schedule_adam_step_5e.py', '_base_sar_resnet31_parallel-decoder.py', ] diff --git a/configs/textrecog/sar/sar_resnet31_parallel-decoder_5e_toy.py b/configs/textrecog/sar/sar_resnet31_parallel-decoder_5e_toy.py index 8cc2c700..351f079d 100755 --- a/configs/textrecog/sar/sar_resnet31_parallel-decoder_5e_toy.py +++ b/configs/textrecog/sar/sar_resnet31_parallel-decoder_5e_toy.py @@ -1,7 +1,7 @@ _base_ = [ - '../../_base_/recog_datasets/toy_data.py', - '../../_base_/textrec_default_runtime.py', - '../../_base_/schedules/schedule_adam_step_5e.py', + '../_base_/datasets/toy_data.py', + '../_base_/default_runtime.py', + '../_base_/schedules/schedule_adam_step_5e.py', '_base_sar_resnet31_parallel-decoder.py', ] diff --git a/configs/textrecog/satrn/satrn_shallow_5e_st_mj.py b/configs/textrecog/satrn/satrn_shallow_5e_st_mj.py index e7e16824..76b64758 100644 --- a/configs/textrecog/satrn/satrn_shallow_5e_st_mj.py +++ b/configs/textrecog/satrn/satrn_shallow_5e_st_mj.py @@ -1,14 +1,14 @@ _base_ = [ - '../../_base_/recog_datasets/mjsynth.py', - '../../_base_/recog_datasets/synthtext.py', - '../../_base_/recog_datasets/cute80.py', - '../../_base_/recog_datasets/iiit5k.py', - '../../_base_/recog_datasets/svt.py', - '../../_base_/recog_datasets/svtp.py', - '../../_base_/recog_datasets/icdar2013.py', - '../../_base_/recog_datasets/icdar2015.py', - '../../_base_/textrec_default_runtime.py', - '../../_base_/schedules/schedule_adam_step_5e.py', + '../_base_/datasets/mjsynth.py', + '../_base_/datasets/synthtext.py', + '../_base_/datasets/cute80.py', + '../_base_/datasets/iiit5k.py', + '../_base_/datasets/svt.py', + '../_base_/datasets/svtp.py', + '../_base_/datasets/icdar2013.py', + '../_base_/datasets/icdar2015.py', + '../_base_/default_runtime.py', + '../_base_/schedules/schedule_adam_step_5e.py', '_base_satrn_shallow.py', ]