mirror of https://github.com/open-mmlab/mmocr.git
88 lines
2.5 KiB
Python
88 lines
2.5 KiB
Python
_base_ = [
|
|
'_base_spts_resnet50_mmocr.py',
|
|
'../_base_/datasets/icdar2013.py',
|
|
'../_base_/default_runtime.py',
|
|
]
|
|
|
|
load_from = 'work_dirs/spts_resnet50_150e_pretrain-spts/epoch_150.pth'
|
|
|
|
num_epochs = 200
|
|
lr = 0.00001
|
|
|
|
default_hooks = dict(
|
|
checkpoint=dict(
|
|
type='CheckpointHook',
|
|
save_best='generic/hmean',
|
|
rule='greater',
|
|
_delete_=True),
|
|
logger=dict(type='LoggerHook', interval=1))
|
|
|
|
optim_wrapper = dict(
|
|
type='OptimWrapper',
|
|
optimizer=dict(type='AdamW', lr=lr, weight_decay=0.0001),
|
|
paramwise_cfg=dict(custom_keys={
|
|
'backbone': dict(lr_mult=0.1),
|
|
}))
|
|
|
|
train_cfg = dict(
|
|
type='EpochBasedTrainLoop', max_epochs=num_epochs, val_interval=10)
|
|
val_cfg = dict(type='ValLoop')
|
|
test_cfg = dict(type='TestLoop')
|
|
|
|
# dataset settings
|
|
icdar2013_textspotting_train = _base_.icdar2013_textspotting_train
|
|
icdar2013_textspotting_train.pipeline = _base_.train_pipeline
|
|
icdar2013_textspotting_test = _base_.icdar2013_textspotting_test
|
|
icdar2013_textspotting_test.pipeline = _base_.test_pipeline
|
|
|
|
train_dataloader = dict(
|
|
batch_size=8,
|
|
num_workers=8,
|
|
pin_memory=True,
|
|
persistent_workers=True,
|
|
sampler=dict(type='BatchAugSampler', shuffle=True, num_repeats=2),
|
|
dataset=icdar2013_textspotting_train)
|
|
|
|
val_dataloader = dict(
|
|
batch_size=1,
|
|
num_workers=4,
|
|
pin_memory=True,
|
|
persistent_workers=True,
|
|
sampler=dict(type='DefaultSampler', shuffle=False),
|
|
dataset=icdar2013_textspotting_test)
|
|
|
|
test_dataloader = val_dataloader
|
|
|
|
val_cfg = dict(type='ValLoop')
|
|
test_cfg = dict(type='TestLoop')
|
|
|
|
val_evaluator = [
|
|
dict(
|
|
type='E2EPointMetric',
|
|
prefix='generic',
|
|
lexicon_path='data/icdar2013/lexicons/GenericVocabulary_new.txt',
|
|
pair_path='data/icdar2013/lexicons/'
|
|
'GenericVocabulary_pair_list.txt',
|
|
match_dist_thr=None),
|
|
dict(
|
|
type='E2EPointMetric',
|
|
prefix='weak',
|
|
lexicon_path='data/icdar2013/lexicons/'
|
|
'ch2_test_vocabulary_new.txt',
|
|
pair_path='data/icdar2013/lexicons/'
|
|
'ch2_test_vocabulary_pair_list.txt',
|
|
match_dist_thr=0.4),
|
|
dict(
|
|
type='E2EPointMetric',
|
|
prefix='strong',
|
|
lexicon_path='data/icdar2013/lexicons/'
|
|
'new_strong_lexicon/lexicons/',
|
|
lexicon_mapping=('(.*).jpg', r'new_voc_\1.txt'),
|
|
pair_path='data/icdar2013/lexicons/'
|
|
'new_strong_lexicon/pairs/',
|
|
pair_mapping=('(.*).jpg', r'pair_voc_\1.txt'),
|
|
match_dist_thr=0.4),
|
|
]
|
|
|
|
test_evaluator = val_evaluator
|