[Enhancement] Add SynthText dataset config (#983)

* add synthtext config; add db pretrain config; move checkpoint config to schedule

* add db_r50 synthtext config

* fix r50 eval iter

* fix lint

* fix
pull/998/head
Xinyu Wang 2022-05-05 12:57:07 +08:00 committed by GitHub
parent a2d741b8a7
commit 28c9e460d5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
31 changed files with 131 additions and 35 deletions

View File

@ -1,10 +1,8 @@
checkpoint_config = dict(interval=1)
# yapf:disable
log_config = dict(
interval=5,
hooks=[
dict(type='TextLoggerHook')
])
# yapf:enable
dist_params = dict(backend='nccl')

View File

@ -0,0 +1,18 @@
dataset_type = 'TextDetDataset'
data_root = 'data/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',
pipeline=None)
train_list = [train]
test_list = [train]

View File

@ -1,19 +0,0 @@
checkpoint_config = dict(interval=10)
# yapf:disable
log_config = dict(
interval=5,
hooks=[
dict(type='TextLoggerHook')
# dict(type='TensorboardLoggerHook')
])
# yapf:enable
dist_params = dict(backend='nccl')
log_level = 'INFO'
load_from = None
resume_from = None
workflow = [('train', 1)]
# disable opencv multithreading to avoid system being overloaded
opencv_num_threads = 0
# set multi-process start method as `fork` to speed up the training
mp_start_method = 'fork'

View File

@ -3,4 +3,6 @@ optimizer = dict(type='Adadelta', lr=0.5)
optimizer_config = dict(grad_clip=dict(max_norm=0.5))
# learning policy
lr_config = dict(policy='step', step=[8, 14, 16])
# running settings
runner = dict(type='EpochBasedRunner', max_epochs=18)
checkpoint_config = dict(interval=1)

View File

@ -3,4 +3,6 @@ optimizer = dict(type='Adadelta', lr=1.0)
optimizer_config = dict(grad_clip=None)
# learning policy
lr_config = dict(policy='step', step=[])
# running settings
runner = dict(type='EpochBasedRunner', max_epochs=5)
checkpoint_config = dict(interval=1)

View File

@ -3,4 +3,6 @@ optimizer = dict(type='Adam', lr=1e-3)
optimizer_config = dict(grad_clip=None)
# learning policy
lr_config = dict(policy='poly', power=0.9)
# running settings
runner = dict(type='EpochBasedRunner', max_epochs=600)
checkpoint_config = dict(interval=100)

View File

@ -1,5 +1,7 @@
# optimizer
optimizer = dict(type='Adam', lr=1e-4)
optimizer_config = dict(grad_clip=None)
# learning policy
lr_config = dict(
policy='step',
step=[16, 18],
@ -7,4 +9,6 @@ lr_config = dict(
warmup_iters=1,
warmup_ratio=0.001,
warmup_by_epoch=True)
# running settings
runner = dict(type='EpochBasedRunner', max_epochs=20)
checkpoint_config = dict(interval=1)

View File

@ -3,4 +3,6 @@ optimizer = dict(type='Adam', lr=1e-3)
optimizer_config = dict(grad_clip=None)
# learning policy
lr_config = dict(policy='step', step=[3, 4])
# running settings
runner = dict(type='EpochBasedRunner', max_epochs=5)
checkpoint_config = dict(interval=1)

View File

@ -3,4 +3,6 @@ optimizer = dict(type='Adam', lr=1e-4)
optimizer_config = dict(grad_clip=None)
# learning policy
lr_config = dict(policy='step', step=[200, 400])
# running settings
runner = dict(type='EpochBasedRunner', max_epochs=600)
checkpoint_config = dict(interval=100)

View File

@ -3,4 +3,6 @@ optimizer = dict(type='Adam', lr=1e-3)
optimizer_config = dict(grad_clip=None)
# learning policy
lr_config = dict(policy='step', step=[3, 4])
# running settings
runner = dict(type='EpochBasedRunner', max_epochs=6)
checkpoint_config = dict(interval=1)

View File

@ -0,0 +1,8 @@
# optimizer
optimizer = dict(type='SGD', lr=0.007, momentum=0.9, weight_decay=0.0001)
optimizer_config = dict(grad_clip=None)
# learning policy
lr_config = dict(policy='poly', power=0.9, min_lr=1e-7, by_epoch=False)
# running settings
runner = dict(type='IterBasedRunner', max_iters=100000)
checkpoint_config = dict(interval=10000)

View File

@ -3,4 +3,6 @@ optimizer = dict(type='SGD', lr=0.007, momentum=0.9, weight_decay=0.0001)
optimizer_config = dict(grad_clip=None)
# learning policy
lr_config = dict(policy='poly', power=0.9, min_lr=1e-7, by_epoch=True)
# running settings
runner = dict(type='EpochBasedRunner', max_epochs=1200)
checkpoint_config = dict(interval=100)

View File

@ -1,5 +1,8 @@
# optimizer
optimizer = dict(type='SGD', lr=1e-3, momentum=0.90, weight_decay=5e-4)
optimizer_config = dict(grad_clip=None)
# learning policy
lr_config = dict(policy='poly', power=0.9, min_lr=1e-7, by_epoch=True)
# running settings
runner = dict(type='EpochBasedRunner', max_epochs=1500)
checkpoint_config = dict(interval=100)

View File

@ -8,4 +8,6 @@ lr_config = dict(
warmup_iters=500,
warmup_ratio=0.001,
step=[80, 128])
# running settings
runner = dict(type='EpochBasedRunner', max_epochs=160)
checkpoint_config = dict(interval=10)

View File

@ -3,4 +3,6 @@ optimizer = dict(type='SGD', lr=1e-3, momentum=0.99, weight_decay=5e-4)
optimizer_config = dict(grad_clip=None)
# learning policy
lr_config = dict(policy='step', step=[200, 400])
# running settings
runner = dict(type='EpochBasedRunner', max_epochs=600)
checkpoint_config = dict(interval=100)

View File

@ -0,0 +1,33 @@
_base_ = [
'../../_base_/default_runtime.py',
'../../_base_/schedules/schedule_sgd_100k_iters.py',
'../../_base_/det_models/dbnet_r18_fpnc.py',
'../../_base_/det_datasets/synthtext.py',
'../../_base_/det_pipelines/dbnet_pipeline.py'
]
train_list = {{_base_.train_list}}
test_list = {{_base_.test_list}}
train_pipeline_r18 = {{_base_.train_pipeline_r18}}
test_pipeline_1333_736 = {{_base_.test_pipeline_1333_736}}
data = dict(
samples_per_gpu=16,
workers_per_gpu=8,
val_dataloader=dict(samples_per_gpu=1),
test_dataloader=dict(samples_per_gpu=1),
train=dict(
type='UniformConcatDataset',
datasets=train_list,
pipeline=train_pipeline_r18),
val=dict(
type='UniformConcatDataset',
datasets=test_list,
pipeline=test_pipeline_1333_736),
test=dict(
type='UniformConcatDataset',
datasets=test_list,
pipeline=test_pipeline_1333_736))
evaluation = dict(interval=999999, metric='hmean-iou') # do not evaluate

View File

@ -1,5 +1,5 @@
_base_ = [
'../../_base_/runtime_10e.py',
'../../_base_/default_runtime.py',
'../../_base_/schedules/schedule_sgd_1200e.py',
'../../_base_/det_models/dbnet_r18_fpnc.py',
'../../_base_/det_datasets/icdar2015.py',

View File

@ -0,0 +1,33 @@
_base_ = [
'../../_base_/default_runtime.py',
'../../_base_/schedules/schedule_sgd_100k_iters.py',
'../../_base_/det_models/dbnet_r50dcnv2_fpnc.py',
'../../_base_/det_datasets/synthtext.py',
'../../_base_/det_pipelines/dbnet_pipeline.py'
]
train_list = {{_base_.train_list}}
test_list = {{_base_.test_list}}
train_pipeline_r50dcnv2 = {{_base_.train_pipeline_r50dcnv2}}
test_pipeline_4068_1024 = {{_base_.test_pipeline_4068_1024}}
data = dict(
samples_per_gpu=16,
workers_per_gpu=8,
val_dataloader=dict(samples_per_gpu=1),
test_dataloader=dict(samples_per_gpu=1),
train=dict(
type='UniformConcatDataset',
datasets=train_list,
pipeline=train_pipeline_r50dcnv2),
val=dict(
type='UniformConcatDataset',
datasets=test_list,
pipeline=test_pipeline_4068_1024),
test=dict(
type='UniformConcatDataset',
datasets=test_list,
pipeline=test_pipeline_4068_1024))
evaluation = dict(interval=999999, metric='hmean-iou') # do not evaluate

View File

@ -1,5 +1,5 @@
_base_ = [
'../../_base_/runtime_10e.py',
'../../_base_/default_runtime.py',
'../../_base_/schedules/schedule_sgd_1200e.py',
'../../_base_/det_models/dbnet_r50dcnv2_fpnc.py',
'../../_base_/det_datasets/icdar2015.py',

View File

@ -1,6 +1,6 @@
_base_ = [
'../../_base_/schedules/schedule_sgd_1200e.py',
'../../_base_/default_runtime.py',
'../../_base_/schedules/schedule_sgd_1200e.py',
'../../_base_/det_models/drrg_r50_fpn_unet.py',
'../../_base_/det_datasets/ctw1500.py',
'../../_base_/det_pipelines/drrg_pipeline.py'

View File

@ -1,5 +1,5 @@
_base_ = [
'../../_base_/runtime_10e.py',
'../../_base_/default_runtime.py',
'../../_base_/schedules/schedule_sgd_1500e.py',
'../../_base_/det_models/fcenet_r50_fpn.py',
'../../_base_/det_datasets/icdar2015.py',

View File

@ -1,5 +1,5 @@
_base_ = [
'../../_base_/runtime_10e.py',
'../../_base_/default_runtime.py',
'../../_base_/schedules/schedule_sgd_1500e.py',
'../../_base_/det_models/fcenet_r50dcnv2_fpn.py',
'../../_base_/det_datasets/ctw1500.py',

View File

@ -1,5 +1,5 @@
_base_ = [
'../../_base_/runtime_10e.py',
'../../_base_/default_runtime.py',
'../../_base_/det_models/ocr_mask_rcnn_r50_fpn_ohem_poly.py',
'../../_base_/schedules/schedule_sgd_160e.py',
'../../_base_/det_datasets/ctw1500.py',

View File

@ -1,5 +1,5 @@
_base_ = [
'../../_base_/runtime_10e.py',
'../../_base_/default_runtime.py',
'../../_base_/det_models/ocr_mask_rcnn_r50_fpn_ohem.py',
'../../_base_/schedules/schedule_sgd_160e.py',
'../../_base_/det_datasets/icdar2015.py',

View File

@ -1,5 +1,5 @@
_base_ = [
'../../_base_/runtime_10e.py',
'../../_base_/default_runtime.py',
'../../_base_/det_models/ocr_mask_rcnn_r50_fpn_ohem.py',
'../../_base_/schedules/schedule_sgd_160e.py',
'../../_base_/det_datasets/icdar2017.py',

View File

@ -1,6 +1,6 @@
_base_ = [
'../../_base_/default_runtime.py',
'../../_base_/schedules/schedule_adam_600e.py',
'../../_base_/runtime_10e.py',
'../../_base_/det_models/panet_r18_fpem_ffm.py',
'../../_base_/det_datasets/ctw1500.py',
'../../_base_/det_pipelines/panet_pipeline.py'

View File

@ -1,6 +1,6 @@
_base_ = [
'../../_base_/default_runtime.py',
'../../_base_/schedules/schedule_adam_600e.py',
'../../_base_/runtime_10e.py',
'../../_base_/det_models/panet_r18_fpem_ffm.py',
'../../_base_/det_datasets/icdar2015.py',
'../../_base_/det_pipelines/panet_pipeline.py'

View File

@ -1,6 +1,6 @@
_base_ = [
'../../_base_/default_runtime.py',
'../../_base_/schedules/schedule_adam_600e.py',
'../../_base_/runtime_10e.py',
'../../_base_/det_models/panet_r50_fpem_ffm.py',
'../../_base_/det_datasets/icdar2017.py',
'../../_base_/det_pipelines/panet_pipeline.py'

View File

@ -1,5 +1,5 @@
_base_ = [
'../../_base_/runtime_10e.py',
'../../_base_/default_runtime.py',
'../../_base_/schedules/schedule_adam_step_600e.py',
'../../_base_/det_models/psenet_r50_fpnf.py',
'../../_base_/det_datasets/icdar2015.py',

View File

@ -1,6 +1,6 @@
_base_ = [
'../../_base_/default_runtime.py',
'../../_base_/schedules/schedule_sgd_600e.py',
'../../_base_/runtime_10e.py',
'../../_base_/det_models/psenet_r50_fpnf.py',
'../../_base_/det_datasets/icdar2017.py',
'../../_base_/det_pipelines/psenet_pipeline.py'

View File

@ -1,6 +1,6 @@
_base_ = [
'../../_base_/schedules/schedule_sgd_1200e.py',
'../../_base_/default_runtime.py',
'../../_base_/schedules/schedule_sgd_1200e.py',
'../../_base_/det_models/textsnake_r50_fpn_unet.py',
'../../_base_/det_datasets/ctw1500.py',
'../../_base_/det_pipelines/textsnake_pipeline.py'