Spaces:
Sleeping
Sleeping
| dictionary = dict( | |
| type='Dictionary', | |
| dict_file='{{ fileDirname }}/../../../dicts/english_digits_symbols.txt', | |
| with_padding=True, | |
| with_unknown=True, | |
| same_start_end=True, | |
| with_start=True, | |
| with_end=True) | |
| model = dict( | |
| type='MASTER', | |
| backbone=dict( | |
| type='ResNet', | |
| in_channels=3, | |
| stem_channels=[64, 128], | |
| block_cfgs=dict( | |
| type='BasicBlock', | |
| plugins=dict( | |
| cfg=dict( | |
| type='GCAModule', | |
| ratio=0.0625, | |
| n_head=1, | |
| pooling_type='att', | |
| is_att_scale=False, | |
| fusion_type='channel_add'), | |
| position='after_conv2')), | |
| arch_layers=[1, 2, 5, 3], | |
| arch_channels=[256, 256, 512, 512], | |
| strides=[1, 1, 1, 1], | |
| plugins=[ | |
| dict( | |
| cfg=dict(type='Maxpool2d', kernel_size=2, stride=(2, 2)), | |
| stages=(True, True, False, False), | |
| position='before_stage'), | |
| dict( | |
| cfg=dict(type='Maxpool2d', kernel_size=(2, 1), stride=(2, 1)), | |
| stages=(False, False, True, False), | |
| position='before_stage'), | |
| dict( | |
| cfg=dict( | |
| type='ConvModule', | |
| kernel_size=3, | |
| stride=1, | |
| padding=1, | |
| norm_cfg=dict(type='BN'), | |
| act_cfg=dict(type='ReLU')), | |
| stages=(True, True, True, True), | |
| position='after_stage') | |
| ], | |
| init_cfg=[ | |
| dict(type='Kaiming', layer='Conv2d'), | |
| dict(type='Constant', val=1, layer='BatchNorm2d'), | |
| ]), | |
| encoder=None, | |
| decoder=dict( | |
| type='MasterDecoder', | |
| d_model=512, | |
| n_head=8, | |
| attn_drop=0., | |
| ffn_drop=0., | |
| d_inner=2048, | |
| n_layers=3, | |
| feat_pe_drop=0.2, | |
| feat_size=6 * 40, | |
| postprocessor=dict(type='AttentionPostprocessor'), | |
| module_loss=dict( | |
| type='CEModuleLoss', reduction='mean', ignore_first_char=True), | |
| max_seq_len=30, | |
| dictionary=dictionary), | |
| data_preprocessor=dict( | |
| type='TextRecogDataPreprocessor', | |
| mean=[127.5, 127.5, 127.5], | |
| std=[127.5, 127.5, 127.5])) | |
| train_pipeline = [ | |
| dict(type='LoadImageFromFile', ignore_empty=True, min_size=2), | |
| dict(type='LoadOCRAnnotations', with_text=True), | |
| dict( | |
| type='RescaleToHeight', | |
| height=48, | |
| min_width=48, | |
| max_width=160, | |
| width_divisor=16), | |
| dict(type='PadToWidth', width=160), | |
| dict( | |
| type='PackTextRecogInputs', | |
| meta_keys=('img_path', 'ori_shape', 'img_shape', 'valid_ratio')) | |
| ] | |
| test_pipeline = [ | |
| dict(type='LoadImageFromFile'), | |
| dict( | |
| type='RescaleToHeight', | |
| height=48, | |
| min_width=48, | |
| max_width=160, | |
| width_divisor=16), | |
| dict(type='PadToWidth', width=160), | |
| # add loading annotation after ``Resize`` because ground truth | |
| # does not need to do resize data transform | |
| dict(type='LoadOCRAnnotations', with_text=True), | |
| dict( | |
| type='PackTextRecogInputs', | |
| meta_keys=('img_path', 'ori_shape', 'img_shape', 'valid_ratio')) | |
| ] | |
| tta_pipeline = [ | |
| dict(type='LoadImageFromFile'), | |
| dict( | |
| type='TestTimeAug', | |
| transforms=[ | |
| [ | |
| dict( | |
| type='ConditionApply', | |
| true_transforms=[ | |
| dict( | |
| type='ImgAugWrapper', | |
| args=[dict(cls='Rot90', k=0, keep_size=False)]) | |
| ], | |
| condition="results['img_shape'][1]<results['img_shape'][0]" | |
| ), | |
| dict( | |
| type='ConditionApply', | |
| true_transforms=[ | |
| dict( | |
| type='ImgAugWrapper', | |
| args=[dict(cls='Rot90', k=1, keep_size=False)]) | |
| ], | |
| condition="results['img_shape'][1]<results['img_shape'][0]" | |
| ), | |
| dict( | |
| type='ConditionApply', | |
| true_transforms=[ | |
| dict( | |
| type='ImgAugWrapper', | |
| args=[dict(cls='Rot90', k=3, keep_size=False)]) | |
| ], | |
| condition="results['img_shape'][1]<results['img_shape'][0]" | |
| ), | |
| ], | |
| [ | |
| dict( | |
| type='RescaleToHeight', | |
| height=48, | |
| min_width=48, | |
| max_width=160, | |
| width_divisor=16) | |
| ], | |
| [dict(type='PadToWidth', width=160)], | |
| # add loading annotation after ``Resize`` because ground truth | |
| # does not need to do resize data transform | |
| [dict(type='LoadOCRAnnotations', with_text=True)], | |
| [ | |
| dict( | |
| type='PackTextRecogInputs', | |
| meta_keys=('img_path', 'ori_shape', 'img_shape', | |
| 'valid_ratio')) | |
| ] | |
| ]) | |
| ] | |