mirror of https://github.com/open-mmlab/mmocr.git
72 lines
2.0 KiB
Python
72 lines
2.0 KiB
Python
_base_ = [
|
|
'../_base_/default_runtime.py',
|
|
'../_base_/datasets/wildreceipt-openset.py',
|
|
'../_base_/schedules/schedule_adam_60e.py',
|
|
'_base_sdmgr_novisual.py',
|
|
]
|
|
|
|
node_num_classes = 4 # 4 classes: bg, key, value and other
|
|
edge_num_classes = 2 # edge connectivity
|
|
key_node_idx = 1
|
|
value_node_idx = 2
|
|
|
|
model = dict(
|
|
type='SDMGR',
|
|
kie_head=dict(
|
|
num_classes=node_num_classes,
|
|
postprocessor=dict(
|
|
link_type='one-to-many',
|
|
key_node_idx=key_node_idx,
|
|
value_node_idx=value_node_idx)),
|
|
)
|
|
|
|
test_pipeline = [
|
|
dict(
|
|
type='LoadKIEAnnotations',
|
|
key_node_idx=key_node_idx,
|
|
value_node_idx=value_node_idx), # Keep key->value edges for evaluation
|
|
dict(type='Resize', scale=(1024, 512), keep_ratio=True),
|
|
dict(type='PackKIEInputs'),
|
|
]
|
|
|
|
wildreceipt_openset_train = _base_.wildreceipt_openset_train
|
|
wildreceipt_openset_train.pipeline = _base_.train_pipeline
|
|
wildreceipt_openset_test = _base_.wildreceipt_openset_test
|
|
wildreceipt_openset_test.pipeline = test_pipeline
|
|
|
|
train_dataloader = dict(
|
|
batch_size=4,
|
|
num_workers=1,
|
|
persistent_workers=True,
|
|
sampler=dict(type='DefaultSampler', shuffle=True),
|
|
dataset=wildreceipt_openset_train)
|
|
val_dataloader = dict(
|
|
batch_size=1,
|
|
num_workers=1,
|
|
persistent_workers=True,
|
|
sampler=dict(type='DefaultSampler', shuffle=False),
|
|
dataset=wildreceipt_openset_test)
|
|
test_dataloader = val_dataloader
|
|
|
|
val_evaluator = [
|
|
dict(
|
|
type='F1Metric',
|
|
prefix='node',
|
|
key='labels',
|
|
mode=['micro', 'macro'],
|
|
num_classes=node_num_classes,
|
|
cared_classes=[key_node_idx, value_node_idx]),
|
|
dict(
|
|
type='F1Metric',
|
|
prefix='edge',
|
|
mode='micro',
|
|
key='edge_labels',
|
|
cared_classes=[1], # Collapse to binary F1 score
|
|
num_classes=edge_num_classes)
|
|
]
|
|
test_evaluator = val_evaluator
|
|
|
|
visualizer = dict(
|
|
type='KIELocalVisualizer', name='visualizer', is_openset=True)
|
|
auto_scale_lr = dict(base_batch_size=4)
|