parent
10f7e5192d
commit
aad3093a91
@ -1,22 +0,0 @@
|
|||||||
TrainReader:
|
|
||||||
reader_function: ppocr.data.det.dataset_traversal,TrainReader
|
|
||||||
process_function: ppocr.data.det.db_process,DBProcessTrain
|
|
||||||
num_workers: 8
|
|
||||||
img_set_dir: ./train_data/icdar2015/text_localization/
|
|
||||||
label_file_path: ./train_data/icdar2015/text_localization/train_icdar2015_label.txt
|
|
||||||
|
|
||||||
EvalReader:
|
|
||||||
reader_function: ppocr.data.det.dataset_traversal,EvalTestReader
|
|
||||||
process_function: ppocr.data.det.db_process,DBProcessTest
|
|
||||||
img_set_dir: ./train_data/icdar2015/text_localization/
|
|
||||||
label_file_path: ./train_data/icdar2015/text_localization/test_icdar2015_label.txt
|
|
||||||
test_image_shape: [736, 1280]
|
|
||||||
|
|
||||||
TestReader:
|
|
||||||
reader_function: ppocr.data.det.dataset_traversal,EvalTestReader
|
|
||||||
process_function: ppocr.data.det.db_process,DBProcessTest
|
|
||||||
infer_img:
|
|
||||||
img_set_dir: ./train_data/icdar2015/text_localization/
|
|
||||||
label_file_path: ./train_data/icdar2015/text_localization/test_icdar2015_label.txt
|
|
||||||
test_image_shape: [736, 1280]
|
|
||||||
do_eval: True
|
|
@ -1,23 +0,0 @@
|
|||||||
TrainReader:
|
|
||||||
reader_function: ppocr.data.det.dataset_traversal,TrainReader
|
|
||||||
process_function: ppocr.data.det.east_process,EASTProcessTrain
|
|
||||||
num_workers: 8
|
|
||||||
img_set_dir: ./train_data/icdar2015/text_localization/
|
|
||||||
label_file_path: ./train_data/icdar2015/text_localization/train_icdar2015_label.txt
|
|
||||||
background_ratio: 0.125
|
|
||||||
min_crop_side_ratio: 0.1
|
|
||||||
min_text_size: 10
|
|
||||||
|
|
||||||
EvalReader:
|
|
||||||
reader_function: ppocr.data.det.dataset_traversal,EvalTestReader
|
|
||||||
process_function: ppocr.data.det.east_process,EASTProcessTest
|
|
||||||
img_set_dir: ./train_data/icdar2015/text_localization/
|
|
||||||
label_file_path: ./train_data/icdar2015/text_localization/test_icdar2015_label.txt
|
|
||||||
|
|
||||||
TestReader:
|
|
||||||
reader_function: ppocr.data.det.dataset_traversal,EvalTestReader
|
|
||||||
process_function: ppocr.data.det.east_process,EASTProcessTest
|
|
||||||
infer_img:
|
|
||||||
img_set_dir: ./train_data/icdar2015/text_localization/
|
|
||||||
label_file_path: ./train_data/icdar2015/text_localization/test_icdar2015_label.txt
|
|
||||||
do_eval: True
|
|
@ -1,54 +1,133 @@
|
|||||||
Global:
|
Global:
|
||||||
algorithm: DB
|
|
||||||
use_gpu: true
|
use_gpu: true
|
||||||
epoch_num: 1200
|
epoch_num: 1200
|
||||||
log_smooth_window: 20
|
log_smooth_window: 20
|
||||||
print_batch_step: 2
|
print_batch_step: 2
|
||||||
save_model_dir: ./output/det_db/
|
save_model_dir: ./output/20201010/
|
||||||
save_epoch_step: 200
|
save_epoch_step: 1200
|
||||||
# evaluation is run every 5000 iterations after the 4000th iteration
|
# evaluation is run every 5000 iterations after the 4000th iteration
|
||||||
eval_batch_step: [4000, 5000]
|
eval_batch_step: 8
|
||||||
train_batch_size_per_card: 16
|
# if pretrained_model is saved in static mode, load_static_weights must set to True
|
||||||
test_batch_size_per_card: 16
|
load_static_weights: True
|
||||||
image_shape: [3, 640, 640]
|
cal_metric_during_train: False
|
||||||
reader_yml: ./configs/det/det_db_icdar15_reader.yml
|
pretrained_model: /home/zhoujun20/pretrain_models/MobileNetV3_large_x0_5_pretrained
|
||||||
pretrain_weights: ./pretrain_models/MobileNetV3_large_x0_5_pretrained/
|
checkpoints: #./output/det_db_0.001_DiceLoss_256_pp_config_2.0b_4gpu/best_accuracy
|
||||||
checkpoints:
|
|
||||||
save_res_path: ./output/det_db/predicts_db.txt
|
|
||||||
save_inference_dir:
|
save_inference_dir:
|
||||||
|
use_visualdl: True
|
||||||
|
infer_img: doc/imgs_en/img_10.jpg
|
||||||
|
save_res_path: ./output/det_db/predicts_db.txt
|
||||||
|
|
||||||
Architecture:
|
Optimizer:
|
||||||
function: ppocr.modeling.architectures.det_model,DetModel
|
name: Adam
|
||||||
|
beta1: 0.9
|
||||||
|
beta2: 0.999
|
||||||
|
learning_rate:
|
||||||
|
# name: Cosine
|
||||||
|
lr: 0.001
|
||||||
|
# warmup_epoch: 0
|
||||||
|
regularizer:
|
||||||
|
name: 'L2'
|
||||||
|
factor: 0
|
||||||
|
|
||||||
Backbone:
|
Architecture:
|
||||||
function: ppocr.modeling.backbones.det_mobilenet_v3,MobileNetV3
|
type: det
|
||||||
|
algorithm: DB
|
||||||
|
Transform:
|
||||||
|
Backbone:
|
||||||
|
name: MobileNetV3
|
||||||
scale: 0.5
|
scale: 0.5
|
||||||
model_name: large
|
model_name: large
|
||||||
|
Neck:
|
||||||
Head:
|
name: FPN
|
||||||
function: ppocr.modeling.heads.det_db_head,DBHead
|
out_channels: 256
|
||||||
model_name: large
|
Head:
|
||||||
|
name: DBHead
|
||||||
k: 50
|
k: 50
|
||||||
inner_channels: 96
|
|
||||||
out_channels: 2
|
|
||||||
|
|
||||||
Loss:
|
Loss:
|
||||||
function: ppocr.modeling.losses.det_db_loss,DBLoss
|
name: DBLoss
|
||||||
balance_loss: true
|
balance_loss: true
|
||||||
main_loss_type: DiceLoss
|
main_loss_type: DiceLoss
|
||||||
alpha: 5
|
alpha: 5
|
||||||
beta: 10
|
beta: 10
|
||||||
ohem_ratio: 3
|
ohem_ratio: 3
|
||||||
|
|
||||||
Optimizer:
|
|
||||||
function: ppocr.optimizer,AdamDecay
|
|
||||||
base_lr: 0.001
|
|
||||||
beta1: 0.9
|
|
||||||
beta2: 0.999
|
|
||||||
|
|
||||||
PostProcess:
|
PostProcess:
|
||||||
function: ppocr.postprocess.db_postprocess,DBPostProcess
|
name: DBPostProcess
|
||||||
thresh: 0.3
|
thresh: 0.3
|
||||||
box_thresh: 0.7
|
box_thresh: 0.6
|
||||||
max_candidates: 1000
|
max_candidates: 1000
|
||||||
unclip_ratio: 2.0
|
unclip_ratio: 1.5
|
||||||
|
|
||||||
|
Metric:
|
||||||
|
name: DetMetric
|
||||||
|
main_indicator: hmean
|
||||||
|
|
||||||
|
TRAIN:
|
||||||
|
dataset:
|
||||||
|
name: SimpleDataSet
|
||||||
|
data_dir: /home/zhoujun20/detection/
|
||||||
|
file_list:
|
||||||
|
- /home/zhoujun20/detection/train_icdar2015_label.txt # dataset1
|
||||||
|
ratio_list: [1.0]
|
||||||
|
transforms:
|
||||||
|
- DecodeImage: # load image
|
||||||
|
img_mode: BGR
|
||||||
|
channel_first: False
|
||||||
|
- DetLabelEncode: # Class handling label
|
||||||
|
- IaaAugment:
|
||||||
|
augmenter_args:
|
||||||
|
- { 'type': Fliplr, 'args': { 'p': 0.5 } }
|
||||||
|
- { 'type': Affine, 'args': { 'rotate': [ -10,10 ] } }
|
||||||
|
- { 'type': Resize,'args': { 'size': [ 0.5,3 ] } }
|
||||||
|
- EastRandomCropData:
|
||||||
|
size: [ 640,640 ]
|
||||||
|
max_tries: 50
|
||||||
|
keep_ratio: true
|
||||||
|
- MakeBorderMap:
|
||||||
|
shrink_ratio: 0.4
|
||||||
|
thresh_min: 0.3
|
||||||
|
thresh_max: 0.7
|
||||||
|
- MakeShrinkMap:
|
||||||
|
shrink_ratio: 0.4
|
||||||
|
min_text_size: 8
|
||||||
|
- NormalizeImage:
|
||||||
|
scale: 1./255.
|
||||||
|
mean: [ 0.485, 0.456, 0.406 ]
|
||||||
|
std: [ 0.229, 0.224, 0.225 ]
|
||||||
|
order: 'hwc'
|
||||||
|
- ToCHWImage:
|
||||||
|
- keepKeys:
|
||||||
|
keep_keys: ['image','threshold_map','threshold_mask','shrink_map','shrink_mask'] # dataloader将按照此顺序返回list
|
||||||
|
loader:
|
||||||
|
shuffle: True
|
||||||
|
drop_last: False
|
||||||
|
batch_size: 16
|
||||||
|
num_workers: 6
|
||||||
|
|
||||||
|
EVAL:
|
||||||
|
dataset:
|
||||||
|
name: SimpleDataSet
|
||||||
|
data_dir: /home/zhoujun20/detection/
|
||||||
|
file_list:
|
||||||
|
- /home/zhoujun20/detection/test_icdar2015_label.txt
|
||||||
|
transforms:
|
||||||
|
- DecodeImage: # load image
|
||||||
|
img_mode: BGR
|
||||||
|
channel_first: False
|
||||||
|
- DetLabelEncode: # Class handling label
|
||||||
|
- DetResizeForTest:
|
||||||
|
image_shape: [736,1280]
|
||||||
|
- NormalizeImage:
|
||||||
|
scale: 1./255.
|
||||||
|
mean: [ 0.485, 0.456, 0.406 ]
|
||||||
|
std: [ 0.229, 0.224, 0.225 ]
|
||||||
|
order: 'hwc'
|
||||||
|
- ToCHWImage:
|
||||||
|
- keepKeys:
|
||||||
|
keep_keys: ['image','shape','polys','ignore_tags']
|
||||||
|
loader:
|
||||||
|
shuffle: False
|
||||||
|
drop_last: False
|
||||||
|
batch_size: 1 # must be 1
|
||||||
|
num_workers: 6
|
@ -1,45 +0,0 @@
|
|||||||
Global:
|
|
||||||
algorithm: EAST
|
|
||||||
use_gpu: true
|
|
||||||
epoch_num: 100000
|
|
||||||
log_smooth_window: 20
|
|
||||||
print_batch_step: 5
|
|
||||||
save_model_dir: ./output/det_east/
|
|
||||||
save_epoch_step: 200
|
|
||||||
eval_batch_step: [5000, 5000]
|
|
||||||
train_batch_size_per_card: 16
|
|
||||||
test_batch_size_per_card: 16
|
|
||||||
image_shape: [3, 512, 512]
|
|
||||||
reader_yml: ./configs/det/det_east_icdar15_reader.yml
|
|
||||||
pretrain_weights: ./pretrain_models/MobileNetV3_large_x0_5_pretrained/
|
|
||||||
checkpoints:
|
|
||||||
save_res_path: ./output/det_east/predicts_east.txt
|
|
||||||
save_inference_dir:
|
|
||||||
|
|
||||||
Architecture:
|
|
||||||
function: ppocr.modeling.architectures.det_model,DetModel
|
|
||||||
|
|
||||||
Backbone:
|
|
||||||
function: ppocr.modeling.backbones.det_mobilenet_v3,MobileNetV3
|
|
||||||
scale: 0.5
|
|
||||||
model_name: large
|
|
||||||
|
|
||||||
Head:
|
|
||||||
function: ppocr.modeling.heads.det_east_head,EASTHead
|
|
||||||
model_name: small
|
|
||||||
|
|
||||||
Loss:
|
|
||||||
function: ppocr.modeling.losses.det_east_loss,EASTLoss
|
|
||||||
|
|
||||||
Optimizer:
|
|
||||||
function: ppocr.optimizer,AdamDecay
|
|
||||||
base_lr: 0.001
|
|
||||||
beta1: 0.9
|
|
||||||
beta2: 0.999
|
|
||||||
|
|
||||||
PostProcess:
|
|
||||||
function: ppocr.postprocess.east_postprocess,EASTPostPocess
|
|
||||||
score_thresh: 0.8
|
|
||||||
cover_thresh: 0.1
|
|
||||||
nms_thresh: 0.2
|
|
||||||
|
|
@ -1,53 +1,132 @@
|
|||||||
Global:
|
Global:
|
||||||
algorithm: DB
|
|
||||||
use_gpu: true
|
use_gpu: true
|
||||||
epoch_num: 1200
|
epoch_num: 1200
|
||||||
log_smooth_window: 20
|
log_smooth_window: 20
|
||||||
print_batch_step: 2
|
print_batch_step: 2
|
||||||
save_model_dir: ./output/det_db/
|
save_model_dir: ./output/20201010/
|
||||||
save_epoch_step: 200
|
save_epoch_step: 1200
|
||||||
eval_batch_step: [5000, 5000]
|
# evaluation is run every 5000 iterations after the 4000th iteration
|
||||||
train_batch_size_per_card: 8
|
eval_batch_step: 8
|
||||||
test_batch_size_per_card: 16
|
# if pretrained_model is saved in static mode, load_static_weights must set to True
|
||||||
image_shape: [3, 640, 640]
|
load_static_weights: True
|
||||||
reader_yml: ./configs/det/det_db_icdar15_reader.yml
|
cal_metric_during_train: False
|
||||||
pretrain_weights: ./pretrain_models/ResNet50_vd_ssld_pretrained/
|
pretrained_model: /home/zhoujun20/pretrain_models/MobileNetV3_large_x0_5_pretrained
|
||||||
save_res_path: ./output/det_db/predicts_db.txt
|
checkpoints: #./output/det_db_0.001_DiceLoss_256_pp_config_2.0b_4gpu/best_accuracy
|
||||||
checkpoints:
|
|
||||||
save_inference_dir:
|
save_inference_dir:
|
||||||
|
use_visualdl: True
|
||||||
|
infer_img: doc/imgs_en/img_10.jpg
|
||||||
|
save_res_path: ./output/det_db/predicts_db.txt
|
||||||
|
|
||||||
Architecture:
|
Optimizer:
|
||||||
function: ppocr.modeling.architectures.det_model,DetModel
|
name: Adam
|
||||||
|
beta1: 0.9
|
||||||
|
beta2: 0.999
|
||||||
|
learning_rate:
|
||||||
|
# name: Cosine
|
||||||
|
lr: 0.001
|
||||||
|
# warmup_epoch: 0
|
||||||
|
regularizer:
|
||||||
|
name: 'L2'
|
||||||
|
factor: 0
|
||||||
|
|
||||||
Backbone:
|
Architecture:
|
||||||
function: ppocr.modeling.backbones.det_resnet_vd,ResNet
|
type: det
|
||||||
|
algorithm: DB
|
||||||
|
Transform:
|
||||||
|
Backbone:
|
||||||
|
name: ResNet
|
||||||
layers: 50
|
layers: 50
|
||||||
|
Neck:
|
||||||
Head:
|
name: FPN
|
||||||
function: ppocr.modeling.heads.det_db_head,DBHead
|
out_channels: 256
|
||||||
model_name: large
|
Head:
|
||||||
|
name: DBHead
|
||||||
k: 50
|
k: 50
|
||||||
inner_channels: 256
|
|
||||||
out_channels: 2
|
|
||||||
|
|
||||||
Loss:
|
Loss:
|
||||||
function: ppocr.modeling.losses.det_db_loss,DBLoss
|
name: DBLoss
|
||||||
balance_loss: true
|
balance_loss: true
|
||||||
main_loss_type: DiceLoss
|
main_loss_type: DiceLoss
|
||||||
alpha: 5
|
alpha: 5
|
||||||
beta: 10
|
beta: 10
|
||||||
ohem_ratio: 3
|
ohem_ratio: 3
|
||||||
|
|
||||||
Optimizer:
|
|
||||||
function: ppocr.optimizer,AdamDecay
|
|
||||||
base_lr: 0.001
|
|
||||||
beta1: 0.9
|
|
||||||
beta2: 0.999
|
|
||||||
|
|
||||||
PostProcess:
|
PostProcess:
|
||||||
function: ppocr.postprocess.db_postprocess,DBPostProcess
|
name: DBPostProcess
|
||||||
thresh: 0.3
|
thresh: 0.3
|
||||||
box_thresh: 0.7
|
box_thresh: 0.6
|
||||||
max_candidates: 1000
|
max_candidates: 1000
|
||||||
unclip_ratio: 1.5
|
unclip_ratio: 1.5
|
||||||
|
|
||||||
|
Metric:
|
||||||
|
name: DetMetric
|
||||||
|
main_indicator: hmean
|
||||||
|
|
||||||
|
TRAIN:
|
||||||
|
dataset:
|
||||||
|
name: SimpleDataSet
|
||||||
|
data_dir: /home/zhoujun20/detection/
|
||||||
|
file_list:
|
||||||
|
- /home/zhoujun20/detection/train_icdar2015_label.txt # dataset1
|
||||||
|
ratio_list: [1.0]
|
||||||
|
transforms:
|
||||||
|
- DecodeImage: # load image
|
||||||
|
img_mode: BGR
|
||||||
|
channel_first: False
|
||||||
|
- DetLabelEncode: # Class handling label
|
||||||
|
- IaaAugment:
|
||||||
|
augmenter_args:
|
||||||
|
- { 'type': Fliplr, 'args': { 'p': 0.5 } }
|
||||||
|
- { 'type': Affine, 'args': { 'rotate': [ -10,10 ] } }
|
||||||
|
- { 'type': Resize,'args': { 'size': [ 0.5,3 ] } }
|
||||||
|
- EastRandomCropData:
|
||||||
|
size: [ 640,640 ]
|
||||||
|
max_tries: 50
|
||||||
|
keep_ratio: true
|
||||||
|
- MakeBorderMap:
|
||||||
|
shrink_ratio: 0.4
|
||||||
|
thresh_min: 0.3
|
||||||
|
thresh_max: 0.7
|
||||||
|
- MakeShrinkMap:
|
||||||
|
shrink_ratio: 0.4
|
||||||
|
min_text_size: 8
|
||||||
|
- NormalizeImage:
|
||||||
|
scale: 1./255.
|
||||||
|
mean: [ 0.485, 0.456, 0.406 ]
|
||||||
|
std: [ 0.229, 0.224, 0.225 ]
|
||||||
|
order: 'hwc'
|
||||||
|
- ToCHWImage:
|
||||||
|
- keepKeys:
|
||||||
|
keep_keys: ['image','threshold_map','threshold_mask','shrink_map','shrink_mask'] # dataloader将按照此顺序返回list
|
||||||
|
loader:
|
||||||
|
shuffle: True
|
||||||
|
drop_last: False
|
||||||
|
batch_size: 16
|
||||||
|
num_workers: 6
|
||||||
|
|
||||||
|
EVAL:
|
||||||
|
dataset:
|
||||||
|
name: SimpleDataSet
|
||||||
|
data_dir: /home/zhoujun20/detection/
|
||||||
|
file_list:
|
||||||
|
- /home/zhoujun20/detection/test_icdar2015_label.txt
|
||||||
|
transforms:
|
||||||
|
- DecodeImage: # load image
|
||||||
|
img_mode: BGR
|
||||||
|
channel_first: False
|
||||||
|
- DetLabelEncode: # Class handling label
|
||||||
|
- DetResizeForTest:
|
||||||
|
image_shape: [736,1280]
|
||||||
|
- NormalizeImage:
|
||||||
|
scale: 1./255.
|
||||||
|
mean: [ 0.485, 0.456, 0.406 ]
|
||||||
|
std: [ 0.229, 0.224, 0.225 ]
|
||||||
|
order: 'hwc'
|
||||||
|
- ToCHWImage:
|
||||||
|
- keepKeys:
|
||||||
|
keep_keys: ['image','shape','polys','ignore_tags']
|
||||||
|
loader:
|
||||||
|
shuffle: False
|
||||||
|
drop_last: False
|
||||||
|
batch_size: 1 # must be 1
|
||||||
|
num_workers: 6
|
@ -1,44 +0,0 @@
|
|||||||
Global:
|
|
||||||
algorithm: EAST
|
|
||||||
use_gpu: true
|
|
||||||
epoch_num: 100000
|
|
||||||
log_smooth_window: 20
|
|
||||||
print_batch_step: 5
|
|
||||||
save_model_dir: ./output/det_east/
|
|
||||||
save_epoch_step: 200
|
|
||||||
eval_batch_step: [5000, 5000]
|
|
||||||
train_batch_size_per_card: 8
|
|
||||||
test_batch_size_per_card: 16
|
|
||||||
image_shape: [3, 512, 512]
|
|
||||||
reader_yml: ./configs/det/det_east_icdar15_reader.yml
|
|
||||||
pretrain_weights: ./pretrain_models/ResNet50_vd_ssld_pretrained/
|
|
||||||
save_res_path: ./output/det_east/predicts_east.txt
|
|
||||||
checkpoints:
|
|
||||||
save_inference_dir:
|
|
||||||
|
|
||||||
Architecture:
|
|
||||||
function: ppocr.modeling.architectures.det_model,DetModel
|
|
||||||
|
|
||||||
Backbone:
|
|
||||||
function: ppocr.modeling.backbones.det_resnet_vd,ResNet
|
|
||||||
layers: 50
|
|
||||||
|
|
||||||
Head:
|
|
||||||
function: ppocr.modeling.heads.det_east_head,EASTHead
|
|
||||||
model_name: large
|
|
||||||
|
|
||||||
Loss:
|
|
||||||
function: ppocr.modeling.losses.det_east_loss,EASTLoss
|
|
||||||
|
|
||||||
Optimizer:
|
|
||||||
function: ppocr.optimizer,AdamDecay
|
|
||||||
base_lr: 0.001
|
|
||||||
beta1: 0.9
|
|
||||||
beta2: 0.999
|
|
||||||
|
|
||||||
PostProcess:
|
|
||||||
function: ppocr.postprocess.east_postprocess,EASTPostPocess
|
|
||||||
score_thresh: 0.8
|
|
||||||
cover_thresh: 0.1
|
|
||||||
nms_thresh: 0.2
|
|
||||||
|
|
@ -1,50 +0,0 @@
|
|||||||
Global:
|
|
||||||
algorithm: SAST
|
|
||||||
use_gpu: true
|
|
||||||
epoch_num: 2000
|
|
||||||
log_smooth_window: 20
|
|
||||||
print_batch_step: 2
|
|
||||||
save_model_dir: ./output/det_sast/
|
|
||||||
save_epoch_step: 20
|
|
||||||
eval_batch_step: 5000
|
|
||||||
train_batch_size_per_card: 8
|
|
||||||
test_batch_size_per_card: 8
|
|
||||||
image_shape: [3, 512, 512]
|
|
||||||
reader_yml: ./configs/det/det_sast_icdar15_reader.yml
|
|
||||||
pretrain_weights: ./pretrain_models/ResNet50_vd_ssld_pretrained/
|
|
||||||
save_res_path: ./output/det_sast/predicts_sast.txt
|
|
||||||
checkpoints:
|
|
||||||
save_inference_dir:
|
|
||||||
|
|
||||||
Architecture:
|
|
||||||
function: ppocr.modeling.architectures.det_model,DetModel
|
|
||||||
|
|
||||||
Backbone:
|
|
||||||
function: ppocr.modeling.backbones.det_resnet_vd_sast,ResNet
|
|
||||||
layers: 50
|
|
||||||
|
|
||||||
Head:
|
|
||||||
function: ppocr.modeling.heads.det_sast_head,SASTHead
|
|
||||||
model_name: large
|
|
||||||
only_fpn_up: False
|
|
||||||
# with_cab: False
|
|
||||||
with_cab: True
|
|
||||||
|
|
||||||
Loss:
|
|
||||||
function: ppocr.modeling.losses.det_sast_loss,SASTLoss
|
|
||||||
|
|
||||||
Optimizer:
|
|
||||||
function: ppocr.optimizer,RMSProp
|
|
||||||
base_lr: 0.001
|
|
||||||
decay:
|
|
||||||
function: piecewise_decay
|
|
||||||
boundaries: [30000, 50000, 80000, 100000, 150000]
|
|
||||||
decay_rate: 0.3
|
|
||||||
|
|
||||||
PostProcess:
|
|
||||||
function: ppocr.postprocess.sast_postprocess,SASTPostProcess
|
|
||||||
score_thresh: 0.5
|
|
||||||
sample_pts_num: 2
|
|
||||||
nms_thresh: 0.2
|
|
||||||
expand_scale: 1.0
|
|
||||||
shrink_ratio_of_width: 0.3
|
|
@ -1,50 +0,0 @@
|
|||||||
Global:
|
|
||||||
algorithm: SAST
|
|
||||||
use_gpu: true
|
|
||||||
epoch_num: 2000
|
|
||||||
log_smooth_window: 20
|
|
||||||
print_batch_step: 2
|
|
||||||
save_model_dir: ./output/det_sast/
|
|
||||||
save_epoch_step: 20
|
|
||||||
eval_batch_step: 5000
|
|
||||||
train_batch_size_per_card: 8
|
|
||||||
test_batch_size_per_card: 1
|
|
||||||
image_shape: [3, 512, 512]
|
|
||||||
reader_yml: ./configs/det/det_sast_totaltext_reader.yml
|
|
||||||
pretrain_weights: ./pretrain_models/ResNet50_vd_ssld_pretrained/
|
|
||||||
save_res_path: ./output/det_sast/predicts_sast.txt
|
|
||||||
checkpoints:
|
|
||||||
save_inference_dir:
|
|
||||||
|
|
||||||
Architecture:
|
|
||||||
function: ppocr.modeling.architectures.det_model,DetModel
|
|
||||||
|
|
||||||
Backbone:
|
|
||||||
function: ppocr.modeling.backbones.det_resnet_vd_sast,ResNet
|
|
||||||
layers: 50
|
|
||||||
|
|
||||||
Head:
|
|
||||||
function: ppocr.modeling.heads.det_sast_head,SASTHead
|
|
||||||
model_name: large
|
|
||||||
only_fpn_up: False
|
|
||||||
# with_cab: False
|
|
||||||
with_cab: True
|
|
||||||
|
|
||||||
Loss:
|
|
||||||
function: ppocr.modeling.losses.det_sast_loss,SASTLoss
|
|
||||||
|
|
||||||
Optimizer:
|
|
||||||
function: ppocr.optimizer,RMSProp
|
|
||||||
base_lr: 0.001
|
|
||||||
decay:
|
|
||||||
function: piecewise_decay
|
|
||||||
boundaries: [30000, 50000, 80000, 100000, 150000]
|
|
||||||
decay_rate: 0.3
|
|
||||||
|
|
||||||
PostProcess:
|
|
||||||
function: ppocr.postprocess.sast_postprocess,SASTPostProcess
|
|
||||||
score_thresh: 0.5
|
|
||||||
sample_pts_num: 6
|
|
||||||
nms_thresh: 0.2
|
|
||||||
expand_scale: 1.2
|
|
||||||
shrink_ratio_of_width: 0.2
|
|
@ -1,24 +0,0 @@
|
|||||||
TrainReader:
|
|
||||||
reader_function: ppocr.data.det.dataset_traversal,TrainReader
|
|
||||||
process_function: ppocr.data.det.sast_process,SASTProcessTrain
|
|
||||||
num_workers: 8
|
|
||||||
img_set_dir: ./train_data/
|
|
||||||
label_file_path: [./train_data/icdar2013/train_label_json.txt, ./train_data/icdar2015/train_label_json.txt, ./train_data/icdar17_mlt_latin/train_label_json.txt, ./train_data/coco_text_icdar_4pts/train_label_json.txt]
|
|
||||||
data_ratio_list: [0.1, 0.45, 0.3, 0.15]
|
|
||||||
min_crop_side_ratio: 0.3
|
|
||||||
min_crop_size: 24
|
|
||||||
min_text_size: 4
|
|
||||||
max_text_size: 512
|
|
||||||
|
|
||||||
EvalReader:
|
|
||||||
reader_function: ppocr.data.det.dataset_traversal,EvalTestReader
|
|
||||||
process_function: ppocr.data.det.sast_process,SASTProcessTest
|
|
||||||
img_set_dir: ./train_data/icdar2015/text_localization/
|
|
||||||
label_file_path: ./train_data/icdar2015/text_localization/test_icdar2015_label.txt
|
|
||||||
max_side_len: 1536
|
|
||||||
|
|
||||||
TestReader:
|
|
||||||
reader_function: ppocr.data.det.dataset_traversal,EvalTestReader
|
|
||||||
process_function: ppocr.data.det.sast_process,SASTProcessTest
|
|
||||||
infer_img: ./train_data/icdar2015/text_localization/ch4_test_images/img_11.jpg
|
|
||||||
max_side_len: 1536
|
|
@ -1,24 +0,0 @@
|
|||||||
TrainReader:
|
|
||||||
reader_function: ppocr.data.det.dataset_traversal,TrainReader
|
|
||||||
process_function: ppocr.data.det.sast_process,SASTProcessTrain
|
|
||||||
num_workers: 8
|
|
||||||
img_set_dir: ./train_data/
|
|
||||||
label_file_path: [./train_data/art_latin_icdar_14pt/train_no_tt_test/train_label_json.txt, ./train_data/total_text_icdar_14pt/train_label_json.txt]
|
|
||||||
data_ratio_list: [0.5, 0.5]
|
|
||||||
min_crop_side_ratio: 0.3
|
|
||||||
min_crop_size: 24
|
|
||||||
min_text_size: 4
|
|
||||||
max_text_size: 512
|
|
||||||
|
|
||||||
EvalReader:
|
|
||||||
reader_function: ppocr.data.det.dataset_traversal,EvalTestReader
|
|
||||||
process_function: ppocr.data.det.sast_process,SASTProcessTest
|
|
||||||
img_set_dir: ./train_data/
|
|
||||||
label_file_path: ./train_data/total_text_icdar_14pt/test_label_json.txt
|
|
||||||
max_side_len: 768
|
|
||||||
|
|
||||||
TestReader:
|
|
||||||
reader_function: ppocr.data.det.dataset_traversal,EvalTestReader
|
|
||||||
process_function: ppocr.data.det.sast_process,SASTProcessTest
|
|
||||||
infer_img: ./train_data/afs/total_text/Images/Test/img623.jpg
|
|
||||||
max_side_len: 768
|
|
@ -1,12 +0,0 @@
|
|||||||
TrainReader:
|
|
||||||
reader_function: ppocr.data.rec.dataset_traversal,LMDBReader
|
|
||||||
num_workers: 8
|
|
||||||
lmdb_sets_dir: ./train_data/data_lmdb_release/training/
|
|
||||||
|
|
||||||
EvalReader:
|
|
||||||
reader_function: ppocr.data.rec.dataset_traversal,LMDBReader
|
|
||||||
lmdb_sets_dir: ./train_data/data_lmdb_release/validation/
|
|
||||||
|
|
||||||
TestReader:
|
|
||||||
reader_function: ppocr.data.rec.dataset_traversal,LMDBReader
|
|
||||||
lmdb_sets_dir: ./train_data/data_lmdb_release/evaluation/
|
|
@ -1,45 +0,0 @@
|
|||||||
Global:
|
|
||||||
algorithm: CRNN
|
|
||||||
use_gpu: true
|
|
||||||
epoch_num: 3000
|
|
||||||
log_smooth_window: 20
|
|
||||||
print_batch_step: 10
|
|
||||||
save_model_dir: ./output/rec_CRNN
|
|
||||||
save_epoch_step: 3
|
|
||||||
eval_batch_step: 2000
|
|
||||||
train_batch_size_per_card: 128
|
|
||||||
test_batch_size_per_card: 128
|
|
||||||
image_shape: [3, 32, 320]
|
|
||||||
max_text_length: 25
|
|
||||||
character_type: ch
|
|
||||||
character_dict_path: ./ppocr/utils/ppocr_keys_v1.txt
|
|
||||||
loss_type: ctc
|
|
||||||
distort: false
|
|
||||||
use_space_char: false
|
|
||||||
reader_yml: ./configs/rec/rec_chinese_reader.yml
|
|
||||||
pretrain_weights:
|
|
||||||
checkpoints:
|
|
||||||
save_inference_dir:
|
|
||||||
infer_img:
|
|
||||||
|
|
||||||
Architecture:
|
|
||||||
function: ppocr.modeling.architectures.rec_model,RecModel
|
|
||||||
|
|
||||||
Backbone:
|
|
||||||
function: ppocr.modeling.backbones.rec_resnet_vd,ResNet
|
|
||||||
layers: 34
|
|
||||||
|
|
||||||
Head:
|
|
||||||
function: ppocr.modeling.heads.rec_ctc_head,CTCPredict
|
|
||||||
encoder_type: rnn
|
|
||||||
SeqRNN:
|
|
||||||
hidden_size: 256
|
|
||||||
|
|
||||||
Loss:
|
|
||||||
function: ppocr.modeling.losses.rec_ctc_loss,CTCLoss
|
|
||||||
|
|
||||||
Optimizer:
|
|
||||||
function: ppocr.optimizer,AdamDecay
|
|
||||||
base_lr: 0.0005
|
|
||||||
beta1: 0.9
|
|
||||||
beta2: 0.999
|
|
@ -1,46 +0,0 @@
|
|||||||
Global:
|
|
||||||
algorithm: CRNN
|
|
||||||
use_gpu: true
|
|
||||||
epoch_num: 3000
|
|
||||||
log_smooth_window: 20
|
|
||||||
print_batch_step: 10
|
|
||||||
save_model_dir: ./output/rec_CRNN
|
|
||||||
save_epoch_step: 3
|
|
||||||
eval_batch_step: 2000
|
|
||||||
train_batch_size_per_card: 256
|
|
||||||
test_batch_size_per_card: 256
|
|
||||||
image_shape: [3, 32, 320]
|
|
||||||
max_text_length: 25
|
|
||||||
character_type: ch
|
|
||||||
character_dict_path: ./ppocr/utils/ppocr_keys_v1.txt
|
|
||||||
loss_type: ctc
|
|
||||||
distort: false
|
|
||||||
use_space_char: false
|
|
||||||
reader_yml: ./configs/rec/rec_chinese_reader.yml
|
|
||||||
pretrain_weights:
|
|
||||||
checkpoints:
|
|
||||||
save_inference_dir:
|
|
||||||
infer_img:
|
|
||||||
|
|
||||||
Architecture:
|
|
||||||
function: ppocr.modeling.architectures.rec_model,RecModel
|
|
||||||
|
|
||||||
Backbone:
|
|
||||||
function: ppocr.modeling.backbones.rec_mobilenet_v3,MobileNetV3
|
|
||||||
scale: 0.5
|
|
||||||
model_name: small
|
|
||||||
|
|
||||||
Head:
|
|
||||||
function: ppocr.modeling.heads.rec_ctc_head,CTCPredict
|
|
||||||
encoder_type: rnn
|
|
||||||
SeqRNN:
|
|
||||||
hidden_size: 48
|
|
||||||
|
|
||||||
Loss:
|
|
||||||
function: ppocr.modeling.losses.rec_ctc_loss,CTCLoss
|
|
||||||
|
|
||||||
Optimizer:
|
|
||||||
function: ppocr.optimizer,AdamDecay
|
|
||||||
base_lr: 0.0005
|
|
||||||
beta1: 0.9
|
|
||||||
beta2: 0.999
|
|
@ -1,13 +0,0 @@
|
|||||||
TrainReader:
|
|
||||||
reader_function: ppocr.data.rec.dataset_traversal,SimpleReader
|
|
||||||
num_workers: 8
|
|
||||||
img_set_dir: ./train_data
|
|
||||||
label_file_path: ./train_data/rec_gt_train.txt
|
|
||||||
|
|
||||||
EvalReader:
|
|
||||||
reader_function: ppocr.data.rec.dataset_traversal,SimpleReader
|
|
||||||
img_set_dir: ./train_data
|
|
||||||
label_file_path: ./train_data/rec_gt_test.txt
|
|
||||||
|
|
||||||
TestReader:
|
|
||||||
reader_function: ppocr.data.rec.dataset_traversal,SimpleReader
|
|
@ -1,13 +0,0 @@
|
|||||||
TrainReader:
|
|
||||||
reader_function: ppocr.data.rec.dataset_traversal,SimpleReader
|
|
||||||
num_workers: 8
|
|
||||||
img_set_dir: ./train_data/ic15_data
|
|
||||||
label_file_path: ./train_data/ic15_data/rec_gt_train.txt
|
|
||||||
|
|
||||||
EvalReader:
|
|
||||||
reader_function: ppocr.data.rec.dataset_traversal,SimpleReader
|
|
||||||
img_set_dir: ./train_data/ic15_data
|
|
||||||
label_file_path: ./train_data/ic15_data/rec_gt_test.txt
|
|
||||||
|
|
||||||
TestReader:
|
|
||||||
reader_function: ppocr.data.rec.dataset_traversal,SimpleReader
|
|
@ -1,49 +0,0 @@
|
|||||||
Global:
|
|
||||||
algorithm: CRNN
|
|
||||||
use_gpu: true
|
|
||||||
epoch_num: 1000
|
|
||||||
log_smooth_window: 20
|
|
||||||
print_batch_step: 10
|
|
||||||
save_model_dir: ./output/rec_CRNN
|
|
||||||
save_epoch_step: 300
|
|
||||||
eval_batch_step: 500
|
|
||||||
train_batch_size_per_card: 256
|
|
||||||
test_batch_size_per_card: 256
|
|
||||||
image_shape: [3, 32, 100]
|
|
||||||
max_text_length: 25
|
|
||||||
character_type: en
|
|
||||||
loss_type: ctc
|
|
||||||
distort: true
|
|
||||||
debug: false
|
|
||||||
reader_yml: ./configs/rec/rec_icdar15_reader.yml
|
|
||||||
pretrain_weights: ./pretrain_models/rec_mv3_none_bilstm_ctc/best_accuracy
|
|
||||||
checkpoints:
|
|
||||||
save_inference_dir:
|
|
||||||
infer_img:
|
|
||||||
|
|
||||||
Architecture:
|
|
||||||
function: ppocr.modeling.architectures.rec_model,RecModel
|
|
||||||
|
|
||||||
Backbone:
|
|
||||||
function: ppocr.modeling.backbones.rec_mobilenet_v3,MobileNetV3
|
|
||||||
scale: 0.5
|
|
||||||
model_name: large
|
|
||||||
|
|
||||||
Head:
|
|
||||||
function: ppocr.modeling.heads.rec_ctc_head,CTCPredict
|
|
||||||
encoder_type: rnn
|
|
||||||
SeqRNN:
|
|
||||||
hidden_size: 96
|
|
||||||
|
|
||||||
Loss:
|
|
||||||
function: ppocr.modeling.losses.rec_ctc_loss,CTCLoss
|
|
||||||
|
|
||||||
Optimizer:
|
|
||||||
function: ppocr.optimizer,AdamDecay
|
|
||||||
base_lr: 0.0005
|
|
||||||
beta1: 0.9
|
|
||||||
beta2: 0.999
|
|
||||||
decay:
|
|
||||||
function: cosine_decay
|
|
||||||
step_each_epoch: 20
|
|
||||||
total_epoch: 1000
|
|
@ -1,43 +1,108 @@
|
|||||||
Global:
|
Global:
|
||||||
algorithm: CRNN
|
use_gpu: false
|
||||||
use_gpu: true
|
epoch_num: 500
|
||||||
epoch_num: 72
|
|
||||||
log_smooth_window: 20
|
log_smooth_window: 20
|
||||||
print_batch_step: 10
|
print_batch_step: 10
|
||||||
save_model_dir: output/rec_CRNN
|
save_model_dir: ./output/rec/test/
|
||||||
save_epoch_step: 3
|
save_epoch_step: 500
|
||||||
eval_batch_step: 2000
|
# evaluation is run every 5000 iterations after the 4000th iteration
|
||||||
train_batch_size_per_card: 256
|
eval_batch_step: 127
|
||||||
test_batch_size_per_card: 256
|
# if pretrained_model is saved in static mode, load_static_weights must set to True
|
||||||
image_shape: [3, 32, 100]
|
load_static_weights: True
|
||||||
max_text_length: 25
|
cal_metric_during_train: True
|
||||||
character_type: en
|
pretrained_model:
|
||||||
loss_type: ctc
|
checkpoints: #output/rec/rec_crnn/best_accuracy
|
||||||
reader_yml: ./configs/rec/rec_benchmark_reader.yml
|
|
||||||
pretrain_weights:
|
|
||||||
checkpoints:
|
|
||||||
save_inference_dir:
|
save_inference_dir:
|
||||||
infer_img:
|
use_visualdl: False
|
||||||
|
infer_img: doc/imgs_words/ch/word_1.jpg
|
||||||
|
# for data or label process
|
||||||
|
max_text_length: 80
|
||||||
|
character_dict_path: ppocr/utils/ppocr_keys_v1.txt
|
||||||
|
character_type: 'ch'
|
||||||
|
use_space_char: False
|
||||||
|
infer_mode: False
|
||||||
|
use_tps: False
|
||||||
|
|
||||||
Architecture:
|
|
||||||
function: ppocr.modeling.architectures.rec_model,RecModel
|
|
||||||
|
|
||||||
Backbone:
|
Optimizer:
|
||||||
function: ppocr.modeling.backbones.rec_mobilenet_v3,MobileNetV3
|
name: Adam
|
||||||
scale: 0.5
|
beta1: 0.9
|
||||||
model_name: large
|
beta2: 0.999
|
||||||
|
learning_rate:
|
||||||
|
name: Cosine
|
||||||
|
lr: 0.001
|
||||||
|
warmup_epoch: 4
|
||||||
|
regularizer:
|
||||||
|
name: 'L2'
|
||||||
|
factor: 0.00001
|
||||||
|
|
||||||
Head:
|
Architecture:
|
||||||
function: ppocr.modeling.heads.rec_ctc_head,CTCPredict
|
type: rec
|
||||||
encoder_type: rnn
|
algorithm: CRNN
|
||||||
SeqRNN:
|
Transform:
|
||||||
|
Backbone:
|
||||||
|
name: MobileNetV3
|
||||||
|
scale: 0.5
|
||||||
|
model_name: small
|
||||||
|
small_stride: [ 1, 2, 2, 2 ]
|
||||||
|
Neck:
|
||||||
|
name: SequenceEncoder
|
||||||
|
encoder_type: fc
|
||||||
hidden_size: 96
|
hidden_size: 96
|
||||||
|
Head:
|
||||||
|
name: CTC
|
||||||
|
fc_decay: 0.00001
|
||||||
|
|
||||||
Loss:
|
Loss:
|
||||||
function: ppocr.modeling.losses.rec_ctc_loss,CTCLoss
|
name: CTCLoss
|
||||||
|
|
||||||
Optimizer:
|
PostProcess:
|
||||||
function: ppocr.optimizer,AdamDecay
|
name: CTCLabelDecode
|
||||||
base_lr: 0.001
|
|
||||||
beta1: 0.9
|
Metric:
|
||||||
beta2: 0.999
|
name: RecMetric
|
||||||
|
main_indicator: acc
|
||||||
|
|
||||||
|
TRAIN:
|
||||||
|
dataset:
|
||||||
|
name: SimpleDataSet
|
||||||
|
data_dir: /home/zhoujun20/rec
|
||||||
|
file_list:
|
||||||
|
- /home/zhoujun20/rec/real_data.txt # dataset1
|
||||||
|
ratio_list: [ 0.4,0.6 ]
|
||||||
|
transforms:
|
||||||
|
- DecodeImage: # load image
|
||||||
|
img_mode: BGR
|
||||||
|
channel_first: False
|
||||||
|
- CTCLabelEncode: # Class handling label
|
||||||
|
- RecAug:
|
||||||
|
- RecResizeImg:
|
||||||
|
image_shape: [ 3,32,320 ]
|
||||||
|
- keepKeys:
|
||||||
|
keep_keys: [ 'image','label','length' ] # dataloader将按照此顺序返回list
|
||||||
|
loader:
|
||||||
|
batch_size: 256
|
||||||
|
shuffle: True
|
||||||
|
drop_last: True
|
||||||
|
num_workers: 6
|
||||||
|
|
||||||
|
EVAL:
|
||||||
|
dataset:
|
||||||
|
name: SimpleDataSet
|
||||||
|
data_dir: /home/zhoujun20/rec
|
||||||
|
file_list:
|
||||||
|
- /home/zhoujun20/rec/label_val_all.txt
|
||||||
|
transforms:
|
||||||
|
- DecodeImage: # load image
|
||||||
|
img_mode: BGR
|
||||||
|
channel_first: False
|
||||||
|
- CTCLabelEncode: # Class handling label
|
||||||
|
- RecResizeImg:
|
||||||
|
image_shape: [ 3,32,320 ]
|
||||||
|
- keepKeys:
|
||||||
|
keep_keys: [ 'image','label','length' ] # dataloader将按照此顺序返回list
|
||||||
|
loader:
|
||||||
|
shuffle: False
|
||||||
|
drop_last: False
|
||||||
|
batch_size: 256
|
||||||
|
num_workers: 6
|
||||||
|
@ -0,0 +1,106 @@
|
|||||||
|
Global:
|
||||||
|
use_gpu: true
|
||||||
|
epoch_num: 500
|
||||||
|
log_smooth_window: 20
|
||||||
|
print_batch_step: 1
|
||||||
|
save_model_dir: ./output/rec/test/
|
||||||
|
save_epoch_step: 500
|
||||||
|
# evaluation is run every 5000 iterations after the 4000th iteration
|
||||||
|
eval_batch_step: 1016
|
||||||
|
# if pretrained_model is saved in static mode, load_static_weights must set to True
|
||||||
|
load_static_weights: True
|
||||||
|
cal_metric_during_train: True
|
||||||
|
pretrained_model:
|
||||||
|
checkpoints: #output/rec/rec_crnn/best_accuracy
|
||||||
|
save_inference_dir:
|
||||||
|
use_visualdl: True
|
||||||
|
infer_img: doc/imgs_words/ch/word_1.jpg
|
||||||
|
# for data or label process
|
||||||
|
max_text_length: 80
|
||||||
|
character_dict_path: /home/zhoujun20/rec/lmdb/dict.txt
|
||||||
|
character_type: 'ch'
|
||||||
|
use_space_char: True
|
||||||
|
infer_mode: False
|
||||||
|
use_tps: False
|
||||||
|
|
||||||
|
|
||||||
|
Optimizer:
|
||||||
|
name: Adam
|
||||||
|
beta1: 0.9
|
||||||
|
beta2: 0.999
|
||||||
|
learning_rate:
|
||||||
|
name: Cosine
|
||||||
|
lr: 0.0005
|
||||||
|
warmup_epoch: 1
|
||||||
|
regularizer:
|
||||||
|
name: 'L2'
|
||||||
|
factor: 0.00001
|
||||||
|
|
||||||
|
Architecture:
|
||||||
|
type: rec
|
||||||
|
algorithm: CRNN
|
||||||
|
Transform:
|
||||||
|
Backbone:
|
||||||
|
name: MobileNetV3
|
||||||
|
scale: 0.5
|
||||||
|
model_name: small
|
||||||
|
small_stride: [ 1, 2, 2, 2 ]
|
||||||
|
Neck:
|
||||||
|
name: SequenceEncoder
|
||||||
|
encoder_type: rnn
|
||||||
|
hidden_size: 48
|
||||||
|
Head:
|
||||||
|
name: CTC
|
||||||
|
fc_decay: 0.00001
|
||||||
|
|
||||||
|
Loss:
|
||||||
|
name: CTCLoss
|
||||||
|
|
||||||
|
PostProcess:
|
||||||
|
name: CTCLabelDecode
|
||||||
|
|
||||||
|
Metric:
|
||||||
|
name: RecMetric
|
||||||
|
main_indicator: acc
|
||||||
|
|
||||||
|
TRAIN:
|
||||||
|
dataset:
|
||||||
|
name: LMDBDateSet
|
||||||
|
file_list:
|
||||||
|
- /home/zhoujun20/rec/lmdb/train # dataset1
|
||||||
|
ratio_list: [ 0.4,0.6 ]
|
||||||
|
transforms:
|
||||||
|
- DecodeImage: # load image
|
||||||
|
img_mode: BGR
|
||||||
|
channel_first: False
|
||||||
|
- CTCLabelEncode: # Class handling label
|
||||||
|
- RecAug:
|
||||||
|
- RecResizeImg:
|
||||||
|
image_shape: [ 3,32,320 ]
|
||||||
|
- keepKeys:
|
||||||
|
keep_keys: [ 'image','label','length' ] # dataloader将按照此顺序返回list
|
||||||
|
loader:
|
||||||
|
batch_size: 256
|
||||||
|
shuffle: True
|
||||||
|
drop_last: True
|
||||||
|
num_workers: 6
|
||||||
|
|
||||||
|
EVAL:
|
||||||
|
dataset:
|
||||||
|
name: LMDBDateSet
|
||||||
|
file_list:
|
||||||
|
- /home/zhoujun20/rec/lmdb/val
|
||||||
|
transforms:
|
||||||
|
- DecodeImage: # load image
|
||||||
|
img_mode: BGR
|
||||||
|
channel_first: False
|
||||||
|
- CTCLabelEncode: # Class handling label
|
||||||
|
- RecResizeImg:
|
||||||
|
image_shape: [ 3,32,320 ]
|
||||||
|
- keepKeys:
|
||||||
|
keep_keys: [ 'image','label','length' ] # dataloader将按照此顺序返回list
|
||||||
|
loader:
|
||||||
|
shuffle: False
|
||||||
|
drop_last: False
|
||||||
|
batch_size: 256
|
||||||
|
num_workers: 6
|
@ -1,41 +0,0 @@
|
|||||||
Global:
|
|
||||||
algorithm: Rosetta
|
|
||||||
use_gpu: true
|
|
||||||
epoch_num: 72
|
|
||||||
log_smooth_window: 20
|
|
||||||
print_batch_step: 10
|
|
||||||
save_model_dir: output/rec_Rosetta
|
|
||||||
save_epoch_step: 3
|
|
||||||
eval_batch_step: 2000
|
|
||||||
train_batch_size_per_card: 256
|
|
||||||
test_batch_size_per_card: 256
|
|
||||||
image_shape: [3, 32, 100]
|
|
||||||
max_text_length: 25
|
|
||||||
character_type: en
|
|
||||||
loss_type: ctc
|
|
||||||
reader_yml: ./configs/rec/rec_benchmark_reader.yml
|
|
||||||
pretrain_weights:
|
|
||||||
checkpoints:
|
|
||||||
save_inference_dir:
|
|
||||||
infer_img:
|
|
||||||
|
|
||||||
Architecture:
|
|
||||||
function: ppocr.modeling.architectures.rec_model,RecModel
|
|
||||||
|
|
||||||
Backbone:
|
|
||||||
function: ppocr.modeling.backbones.rec_mobilenet_v3,MobileNetV3
|
|
||||||
scale: 0.5
|
|
||||||
model_name: large
|
|
||||||
|
|
||||||
Head:
|
|
||||||
function: ppocr.modeling.heads.rec_ctc_head,CTCPredict
|
|
||||||
encoder_type: reshape
|
|
||||||
|
|
||||||
Loss:
|
|
||||||
function: ppocr.modeling.losses.rec_ctc_loss,CTCLoss
|
|
||||||
|
|
||||||
Optimizer:
|
|
||||||
function: ppocr.optimizer,AdamDecay
|
|
||||||
base_lr: 0.001
|
|
||||||
beta1: 0.9
|
|
||||||
beta2: 0.999
|
|
@ -1,54 +0,0 @@
|
|||||||
Global:
|
|
||||||
algorithm: RARE
|
|
||||||
use_gpu: true
|
|
||||||
epoch_num: 72
|
|
||||||
log_smooth_window: 20
|
|
||||||
print_batch_step: 10
|
|
||||||
save_model_dir: output/rec_RARE
|
|
||||||
save_epoch_step: 3
|
|
||||||
eval_batch_step: 2000
|
|
||||||
train_batch_size_per_card: 256
|
|
||||||
test_batch_size_per_card: 256
|
|
||||||
image_shape: [3, 32, 100]
|
|
||||||
max_text_length: 25
|
|
||||||
character_type: en
|
|
||||||
loss_type: attention
|
|
||||||
tps: true
|
|
||||||
reader_yml: ./configs/rec/rec_benchmark_reader.yml
|
|
||||||
pretrain_weights:
|
|
||||||
checkpoints:
|
|
||||||
save_inference_dir:
|
|
||||||
infer_img:
|
|
||||||
|
|
||||||
|
|
||||||
Architecture:
|
|
||||||
function: ppocr.modeling.architectures.rec_model,RecModel
|
|
||||||
|
|
||||||
TPS:
|
|
||||||
function: ppocr.modeling.stns.tps,TPS
|
|
||||||
num_fiducial: 20
|
|
||||||
loc_lr: 0.1
|
|
||||||
model_name: small
|
|
||||||
|
|
||||||
Backbone:
|
|
||||||
function: ppocr.modeling.backbones.rec_mobilenet_v3,MobileNetV3
|
|
||||||
scale: 0.5
|
|
||||||
model_name: large
|
|
||||||
|
|
||||||
Head:
|
|
||||||
function: ppocr.modeling.heads.rec_attention_head,AttentionPredict
|
|
||||||
encoder_type: rnn
|
|
||||||
SeqRNN:
|
|
||||||
hidden_size: 96
|
|
||||||
Attention:
|
|
||||||
decoder_size: 96
|
|
||||||
word_vector_dim: 96
|
|
||||||
|
|
||||||
Loss:
|
|
||||||
function: ppocr.modeling.losses.rec_attention_loss,AttentionLoss
|
|
||||||
|
|
||||||
Optimizer:
|
|
||||||
function: ppocr.optimizer,AdamDecay
|
|
||||||
base_lr: 0.001
|
|
||||||
beta1: 0.9
|
|
||||||
beta2: 0.999
|
|
@ -1,51 +0,0 @@
|
|||||||
Global:
|
|
||||||
algorithm: STARNet
|
|
||||||
use_gpu: true
|
|
||||||
epoch_num: 72
|
|
||||||
log_smooth_window: 20
|
|
||||||
print_batch_step: 10
|
|
||||||
save_model_dir: output/rec_STARNet
|
|
||||||
save_epoch_step: 3
|
|
||||||
eval_batch_step: 2000
|
|
||||||
train_batch_size_per_card: 256
|
|
||||||
test_batch_size_per_card: 256
|
|
||||||
image_shape: [3, 32, 100]
|
|
||||||
max_text_length: 25
|
|
||||||
character_type: en
|
|
||||||
loss_type: ctc
|
|
||||||
tps: true
|
|
||||||
reader_yml: ./configs/rec/rec_benchmark_reader.yml
|
|
||||||
pretrain_weights:
|
|
||||||
checkpoints:
|
|
||||||
save_inference_dir:
|
|
||||||
infer_img:
|
|
||||||
|
|
||||||
|
|
||||||
Architecture:
|
|
||||||
function: ppocr.modeling.architectures.rec_model,RecModel
|
|
||||||
|
|
||||||
TPS:
|
|
||||||
function: ppocr.modeling.stns.tps,TPS
|
|
||||||
num_fiducial: 20
|
|
||||||
loc_lr: 0.1
|
|
||||||
model_name: small
|
|
||||||
|
|
||||||
Backbone:
|
|
||||||
function: ppocr.modeling.backbones.rec_mobilenet_v3,MobileNetV3
|
|
||||||
scale: 0.5
|
|
||||||
model_name: large
|
|
||||||
|
|
||||||
Head:
|
|
||||||
function: ppocr.modeling.heads.rec_ctc_head,CTCPredict
|
|
||||||
encoder_type: rnn
|
|
||||||
SeqRNN:
|
|
||||||
hidden_size: 96
|
|
||||||
|
|
||||||
Loss:
|
|
||||||
function: ppocr.modeling.losses.rec_ctc_loss,CTCLoss
|
|
||||||
|
|
||||||
Optimizer:
|
|
||||||
function: ppocr.optimizer,AdamDecay
|
|
||||||
base_lr: 0.001
|
|
||||||
beta1: 0.9
|
|
||||||
beta2: 0.999
|
|
@ -1,43 +1,106 @@
|
|||||||
Global:
|
Global:
|
||||||
algorithm: CRNN
|
use_gpu: false
|
||||||
use_gpu: true
|
epoch_num: 500
|
||||||
epoch_num: 72
|
|
||||||
log_smooth_window: 20
|
log_smooth_window: 20
|
||||||
print_batch_step: 10
|
print_batch_step: 10
|
||||||
save_model_dir: output/rec_CRNN
|
save_model_dir: ./output/rec/test/
|
||||||
save_epoch_step: 3
|
save_epoch_step: 500
|
||||||
eval_batch_step: 2000
|
# evaluation is run every 5000 iterations after the 4000th iteration
|
||||||
train_batch_size_per_card: 256
|
eval_batch_step: 127
|
||||||
test_batch_size_per_card: 256
|
# if pretrained_model is saved in static mode, load_static_weights must set to True
|
||||||
image_shape: [3, 32, 100]
|
load_static_weights: True
|
||||||
max_text_length: 25
|
cal_metric_during_train: True
|
||||||
character_type: en
|
pretrained_model:
|
||||||
loss_type: ctc
|
checkpoints: #output/rec/rec_crnn/best_accuracy
|
||||||
reader_yml: ./configs/rec/rec_benchmark_reader.yml
|
|
||||||
pretrain_weights:
|
|
||||||
checkpoints:
|
|
||||||
save_inference_dir:
|
save_inference_dir:
|
||||||
infer_img:
|
use_visualdl: False
|
||||||
|
infer_img: doc/imgs_words/ch/word_1.jpg
|
||||||
|
# for data or label process
|
||||||
|
max_text_length: 80
|
||||||
|
character_dict_path: ppocr/utils/ppocr_keys_v1.txt
|
||||||
|
character_type: 'ch'
|
||||||
|
use_space_char: False
|
||||||
|
infer_mode: False
|
||||||
|
use_tps: False
|
||||||
|
|
||||||
|
|
||||||
|
Optimizer:
|
||||||
|
name: Adam
|
||||||
|
beta1: 0.9
|
||||||
|
beta2: 0.999
|
||||||
|
learning_rate:
|
||||||
|
name: Cosine
|
||||||
|
lr: 0.001
|
||||||
|
warmup_epoch: 4
|
||||||
|
regularizer:
|
||||||
|
name: 'L2'
|
||||||
|
factor: 0.00001
|
||||||
|
|
||||||
Architecture:
|
Architecture:
|
||||||
function: ppocr.modeling.architectures.rec_model,RecModel
|
type: rec
|
||||||
|
algorithm: CRNN
|
||||||
|
Transform:
|
||||||
|
Backbone:
|
||||||
|
name: ResNet
|
||||||
|
layers: 200
|
||||||
|
Neck:
|
||||||
|
name: SequenceEncoder
|
||||||
|
encoder_type: fc
|
||||||
|
hidden_size: 96
|
||||||
|
Head:
|
||||||
|
name: CTC
|
||||||
|
fc_decay: 0.00001
|
||||||
|
|
||||||
Backbone:
|
Loss:
|
||||||
function: ppocr.modeling.backbones.rec_resnet_vd,ResNet
|
name: CTCLoss
|
||||||
layers: 34
|
|
||||||
|
|
||||||
Head:
|
PostProcess:
|
||||||
function: ppocr.modeling.heads.rec_ctc_head,CTCPredict
|
name: CTCLabelDecode
|
||||||
encoder_type: rnn
|
|
||||||
SeqRNN:
|
|
||||||
hidden_size: 256
|
|
||||||
|
|
||||||
Loss:
|
Metric:
|
||||||
function: ppocr.modeling.losses.rec_ctc_loss,CTCLoss
|
name: RecMetric
|
||||||
|
main_indicator: acc
|
||||||
|
|
||||||
Optimizer:
|
TRAIN:
|
||||||
function: ppocr.optimizer,AdamDecay
|
dataset:
|
||||||
base_lr: 0.001
|
name: SimpleDataSet
|
||||||
beta1: 0.9
|
data_dir: /home/zhoujun20/rec
|
||||||
beta2: 0.999
|
file_list:
|
||||||
|
- /home/zhoujun20/rec/real_data.txt # dataset1
|
||||||
|
ratio_list: [ 0.4,0.6 ]
|
||||||
|
transforms:
|
||||||
|
- DecodeImage: # load image
|
||||||
|
img_mode: BGR
|
||||||
|
channel_first: False
|
||||||
|
- CTCLabelEncode: # Class handling label
|
||||||
|
- RecAug:
|
||||||
|
- RecResizeImg:
|
||||||
|
image_shape: [ 3,32,320 ]
|
||||||
|
- keepKeys:
|
||||||
|
keep_keys: [ 'image','label','length' ] # dataloader将按照此顺序返回list
|
||||||
|
loader:
|
||||||
|
batch_size: 256
|
||||||
|
shuffle: True
|
||||||
|
drop_last: True
|
||||||
|
num_workers: 6
|
||||||
|
|
||||||
|
EVAL:
|
||||||
|
dataset:
|
||||||
|
name: SimpleDataSet
|
||||||
|
data_dir: /home/zhoujun20/rec
|
||||||
|
file_list:
|
||||||
|
- /home/zhoujun20/rec/label_val_all.txt
|
||||||
|
transforms:
|
||||||
|
- DecodeImage: # load image
|
||||||
|
img_mode: BGR
|
||||||
|
channel_first: False
|
||||||
|
- CTCLabelEncode: # Class handling label
|
||||||
|
- RecResizeImg:
|
||||||
|
image_shape: [ 3,32,320 ]
|
||||||
|
- keepKeys:
|
||||||
|
keep_keys: [ 'image','label','length' ] # dataloader将按照此顺序返回list
|
||||||
|
loader:
|
||||||
|
shuffle: False
|
||||||
|
drop_last: False
|
||||||
|
batch_size: 256
|
||||||
|
num_workers: 6
|
||||||
|
@ -1,40 +0,0 @@
|
|||||||
Global:
|
|
||||||
algorithm: Rosetta
|
|
||||||
use_gpu: true
|
|
||||||
epoch_num: 72
|
|
||||||
log_smooth_window: 20
|
|
||||||
print_batch_step: 10
|
|
||||||
save_model_dir: output/rec_Rosetta
|
|
||||||
save_epoch_step: 3
|
|
||||||
eval_batch_step: 2000
|
|
||||||
train_batch_size_per_card: 256
|
|
||||||
test_batch_size_per_card: 256
|
|
||||||
image_shape: [3, 32, 100]
|
|
||||||
max_text_length: 25
|
|
||||||
character_type: en
|
|
||||||
loss_type: ctc
|
|
||||||
reader_yml: ./configs/rec/rec_benchmark_reader.yml
|
|
||||||
pretrain_weights:
|
|
||||||
checkpoints:
|
|
||||||
save_inference_dir:
|
|
||||||
infer_img:
|
|
||||||
|
|
||||||
Architecture:
|
|
||||||
function: ppocr.modeling.architectures.rec_model,RecModel
|
|
||||||
|
|
||||||
Backbone:
|
|
||||||
function: ppocr.modeling.backbones.rec_resnet_vd,ResNet
|
|
||||||
layers: 34
|
|
||||||
|
|
||||||
Head:
|
|
||||||
function: ppocr.modeling.heads.rec_ctc_head,CTCPredict
|
|
||||||
encoder_type: reshape
|
|
||||||
|
|
||||||
Loss:
|
|
||||||
function: ppocr.modeling.losses.rec_ctc_loss,CTCLoss
|
|
||||||
|
|
||||||
Optimizer:
|
|
||||||
function: ppocr.optimizer,AdamDecay
|
|
||||||
base_lr: 0.001
|
|
||||||
beta1: 0.9
|
|
||||||
beta2: 0.999
|
|
@ -1,53 +0,0 @@
|
|||||||
Global:
|
|
||||||
algorithm: RARE
|
|
||||||
use_gpu: true
|
|
||||||
epoch_num: 72
|
|
||||||
log_smooth_window: 20
|
|
||||||
print_batch_step: 10
|
|
||||||
save_model_dir: output/rec_RARE
|
|
||||||
save_epoch_step: 3
|
|
||||||
eval_batch_step: 2000
|
|
||||||
train_batch_size_per_card: 256
|
|
||||||
test_batch_size_per_card: 256
|
|
||||||
image_shape: [3, 32, 100]
|
|
||||||
max_text_length: 25
|
|
||||||
character_type: en
|
|
||||||
loss_type: attention
|
|
||||||
tps: true
|
|
||||||
reader_yml: ./configs/rec/rec_benchmark_reader.yml
|
|
||||||
pretrain_weights:
|
|
||||||
checkpoints:
|
|
||||||
save_inference_dir:
|
|
||||||
infer_img:
|
|
||||||
|
|
||||||
|
|
||||||
Architecture:
|
|
||||||
function: ppocr.modeling.architectures.rec_model,RecModel
|
|
||||||
|
|
||||||
TPS:
|
|
||||||
function: ppocr.modeling.stns.tps,TPS
|
|
||||||
num_fiducial: 20
|
|
||||||
loc_lr: 0.1
|
|
||||||
model_name: large
|
|
||||||
|
|
||||||
Backbone:
|
|
||||||
function: ppocr.modeling.backbones.rec_resnet_vd,ResNet
|
|
||||||
layers: 34
|
|
||||||
|
|
||||||
Head:
|
|
||||||
function: ppocr.modeling.heads.rec_attention_head,AttentionPredict
|
|
||||||
encoder_type: rnn
|
|
||||||
SeqRNN:
|
|
||||||
hidden_size: 256
|
|
||||||
Attention:
|
|
||||||
decoder_size: 128
|
|
||||||
word_vector_dim: 128
|
|
||||||
|
|
||||||
Loss:
|
|
||||||
function: ppocr.modeling.losses.rec_attention_loss,AttentionLoss
|
|
||||||
|
|
||||||
Optimizer:
|
|
||||||
function: ppocr.optimizer,AdamDecay
|
|
||||||
base_lr: 0.001
|
|
||||||
beta1: 0.9
|
|
||||||
beta2: 0.999
|
|
@ -1,50 +0,0 @@
|
|||||||
Global:
|
|
||||||
algorithm: STARNet
|
|
||||||
use_gpu: true
|
|
||||||
epoch_num: 72
|
|
||||||
log_smooth_window: 20
|
|
||||||
print_batch_step: 10
|
|
||||||
save_model_dir: output/rec_STARNet
|
|
||||||
save_epoch_step: 3
|
|
||||||
eval_batch_step: 2000
|
|
||||||
train_batch_size_per_card: 256
|
|
||||||
test_batch_size_per_card: 256
|
|
||||||
image_shape: [3, 32, 100]
|
|
||||||
max_text_length: 25
|
|
||||||
character_type: en
|
|
||||||
loss_type: ctc
|
|
||||||
tps: true
|
|
||||||
reader_yml: ./configs/rec/rec_benchmark_reader.yml
|
|
||||||
pretrain_weights:
|
|
||||||
checkpoints:
|
|
||||||
save_inference_dir:
|
|
||||||
infer_img:
|
|
||||||
|
|
||||||
|
|
||||||
Architecture:
|
|
||||||
function: ppocr.modeling.architectures.rec_model,RecModel
|
|
||||||
|
|
||||||
TPS:
|
|
||||||
function: ppocr.modeling.stns.tps,TPS
|
|
||||||
num_fiducial: 20
|
|
||||||
loc_lr: 0.1
|
|
||||||
model_name: large
|
|
||||||
|
|
||||||
Backbone:
|
|
||||||
function: ppocr.modeling.backbones.rec_resnet_vd,ResNet
|
|
||||||
layers: 34
|
|
||||||
|
|
||||||
Head:
|
|
||||||
function: ppocr.modeling.heads.rec_ctc_head,CTCPredict
|
|
||||||
encoder_type: rnn
|
|
||||||
SeqRNN:
|
|
||||||
hidden_size: 256
|
|
||||||
|
|
||||||
Loss:
|
|
||||||
function: ppocr.modeling.losses.rec_ctc_loss,CTCLoss
|
|
||||||
|
|
||||||
Optimizer:
|
|
||||||
function: ppocr.optimizer,AdamDecay
|
|
||||||
base_lr: 0.001
|
|
||||||
beta1: 0.9
|
|
||||||
beta2: 0.999
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue