mirror of https://github.com/open-mmlab/mmocr.git
[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 * fixpull/998/head
parent
a2d741b8a7
commit
28c9e460d5
|
@ -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')
|
||||
|
|
|
@ -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]
|
|
@ -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'
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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
|
|
@ -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',
|
||||
|
|
|
@ -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
|
|
@ -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',
|
||||
|
|
|
@ -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'
|
||||
|
|
|
@ -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',
|
||||
|
|
|
@ -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',
|
||||
|
|
|
@ -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',
|
||||
|
|
|
@ -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',
|
||||
|
|
|
@ -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',
|
||||
|
|
|
@ -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'
|
||||
|
|
|
@ -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'
|
||||
|
|
|
@ -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'
|
||||
|
|
|
@ -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',
|
||||
|
|
|
@ -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'
|
||||
|
|
|
@ -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'
|
||||
|
|
Loading…
Reference in New Issue