添加ocr接口日志打印功能

main
fanpt 6 months ago
parent 34c5ad4044
commit 0238726e49

@ -0,0 +1,67 @@
import os
import subprocess
import json
def process_images_in_folder(image_folder, output_json_file):
results = [] # 用于存储所有图片的识别结果
# 使用 os.walk 遍历文件夹及其子文件夹
for root, dirs, files in os.walk(image_folder):
for image_file in files:
# 获取每个图片的完整路径
temp_image_file = os.path.join(root, image_file)
# 检查是否为图片文件
if os.path.splitext(image_file)[-1].lower() in ['.jpg', '.jpeg', '.png', '.gif', '.bmp']:
# 构造命令,调用 `predict_system_1.py` 进行处理
command = [
'python', 'tools/infer/predict_system_1.py',
'--use_gpu=False',
'--cls_model_dir=./models/cls',
'--rec_model_dir=./models/rec',
'--det_model_dir=./models/det',
f'--image_dir={temp_image_file}'
]
try:
# 执行命令,指定 UTF-8 编码并捕获输出
result = subprocess.run(command, capture_output=True, text=True, encoding='utf-8')
# 检查命令是否成功执行
if result.returncode == 0:
ocr_result = result.stdout.strip() # 获取识别结果
else:
ocr_result = f"识别失败,返回代码: {result.returncode}"
# 将结果保存为字典格式,添加到结果列表中
results.append({
"图片名称": image_file,
"文件路径": temp_image_file,
"识别结果": ocr_result
})
except Exception as e:
# 捕获处理图片时的错误并存储
results.append({
"图片名称": image_file,
"文件路径": temp_image_file,
"识别结果": f"处理图片时发生错误: {str(e)}"
})
# 将结果保存到指定的 JSON 文件
with open(output_json_file, 'w', encoding='utf-8') as f:
json.dump(results, f, ensure_ascii=False, indent=4) # 使用 UTF-8 保存 JSON 文件
print(f"识别结果已保存到 {output_json_file}")
if __name__ == "__main__":
# 设置待处理图片所在的文件夹路径
# image_folder = r"E:\Project\PaddleOcr_v4\contract"
image_folder = r"E:\Project\PaddleOcr_v4\OCR_LLM_attribute\output_2\MaiMaiHeTong"
# 设置输出 JSON 文件的路径
output_json_file = r"E:\Project\PaddleOcr_v4\OCR_LLM_attribute\output_2\MaiMaiHeTong_results.json"
# 调用函数处理图片并保存结果
process_images_in_folder(image_folder, output_json_file)

@ -1,81 +1,80 @@
## API 文档
---
### OCR 接口
# OCR API 文档
**接口地址:** `/ocr`
## 概述
**请求方法:** `POST`
该API提供了图片文字识别服务OCR。客户端可以通过POST请求将图片以Base64编码格式上传到服务器服务器将返回识别出的文本内容
**描述:** 处理一组图像文件进行 OCR光学字符识别并返回结果
- **服务地址**: `http://192.168.10.137:8866/ocr`
- **请求方法**: `POST`
- **请求格式**: JSON
- **响应格式**: JSON
**请求体:**
- `file_ids` (List\[str\]): 要处理的文件 ID 列表。
- `suffix` (str): 图像文件的后缀(例如 "jpg", "png")。
## 请求说明
### 请求URL
`POST http://192.168.10.137:8866/ocr`
### 请求头
- `Content-Type`: `application/json`
### 请求参数
请求主体应包含一个JSON数组每个元素代表一张待处理的图片。
| 字段名 | 类型 | 必填 | 描述 |
| ------ | ---- | ---- | ---- |
| pic_id | int | 是 | 图片的唯一标识符,应为整数。 |
| pic | str | 是 | 图片的Base64编码字符串。|
**请求示例:**
```json
{
"file_ids": ["file1", "file2"],
"suffix": "jpg"
}
```
#### 请求示例
**响应:**
- `file_id` (str): 处理后的文件 ID。
- `draw_img_id` (str): 带有绘制结果的图像 ID。
- `ocr_text` (str): 从图像中提取的 OCR 文本。
- `status` (int): 状态码0 表示成功2 表示失败)。
- `error_msg` (str, 可选): 如果处理失败的错误信息。
**响应示例:**
```json
[
{
"pic_id": 1234567890,
"pic": "/9j/4AAQSkZJRgABAQEAYABgAAD/4QAiRXhpZgAATU0AKgAAAAgABgESAAMAAAABAAEA..."
},
{
"pic_id": 2345678901,
"pic": "/9j/4AAQSkZJRgABAQEAYABgAAD/4QAiRXhpZgAATU0AKgAAAAgABgESAAMAAAABAAEA..."
}
{
"file_id": "file1",
"draw_img_id": "processed_file1",
"ocr_text": "提取的文本",
"status": 0,
"error_msg": ""
},
{
"file_id": "file2",
"draw_img_id": "",
"ocr_text": "",
"status": 2,
"error_msg": "错误信息"
}
]
```
## 响应说明
### 获取标题接口
### 响应体
**接口地址:** `/get-title`
服务器将返回一个JSON数组其中每个元素对应于请求中的一张图片。
**请求方法:** `POST`
| 字段名 | 类型 | 描述 |
| ------ | ---- | ---- |
| pic_id | int | 图片的唯一标识符,与请求中的`pic_id`一致。 |
| pic_txt| str | 识别出的文本内容。如果识别失败,该字段为空字符串。 |
| code | int | 状态码,`200`表示成功,`500`表示失败。|
**描述:** 使用模型 API 从提供的文本中提取标题。
#### 响应示例
**请求体:**
- `text` (str): 要从中提取标题的文本。
**请求示例:**
```json
[
{
"pic_id": 1234567890,
"pic_txt": "This is the recognized text from the image.",
"code": 200
},
{
"pic_id": 2345678901,
"pic_txt": "",
"code": 500
}
]
{
"text": "这是一个示例文本,用于提取标题。"
}
```
## 错误处理
- **500 Internal Server Error**: 如果服务器在处理过程中遇到错误例如图片解析失败或OCR工具运行出错将返回状态码500`pic_txt`字段为空字符串。
**响应:**
- `title` (str): 提取的标题。
- `status` (int): 状态码0 表示成功2 表示失败)。
- `error_msg` (str, 可选): 如果提取失败的错误信息。
**响应示例:**
```json
{
"title": "示例标题",
"status": 0,
"error_msg": ""
}
```

@ -45,7 +45,7 @@ trainer:
show_images_iter: 50
resume_checkpoint: ''
finetune_checkpoint: ''
output_dir: output
output_dir: json
visual_dl: false
amp:
scale_loss: 1024

@ -45,7 +45,7 @@ trainer:
show_images_iter: 50
resume_checkpoint: ''
finetune_checkpoint: ''
output_dir: output
output_dir: json
visual_dl: false
amp:
scale_loss: 1024

@ -45,7 +45,7 @@ trainer:
show_images_iter: 50
resume_checkpoint: ''
finetune_checkpoint: ''
output_dir: output
output_dir: json
visual_dl: false
amp:
scale_loss: 1024

@ -46,7 +46,7 @@ trainer:
show_images_iter: 50
resume_checkpoint: ''
finetune_checkpoint: ''
output_dir: output
output_dir: json
visual_dl: false
amp:
scale_loss: 1024

@ -42,7 +42,7 @@ trainer:
show_images_iter: 50
resume_checkpoint: ''
finetune_checkpoint: ''
output_dir: output/fp16_o2
output_dir: json/fp16_o2
visual_dl: false
amp:
scale_loss: 1024

@ -45,7 +45,7 @@ trainer:
show_images_iter: 1
resume_checkpoint: ''
finetune_checkpoint: ''
output_dir: output
output_dir: json
visual_dl: false
amp:
scale_loss: 1024

@ -45,7 +45,7 @@ trainer:
show_images_iter: 1
resume_checkpoint: ''
finetune_checkpoint: ''
output_dir: output
output_dir: json
visual_dl: false
amp:
scale_loss: 1024

@ -45,7 +45,7 @@ trainer:
show_images_iter: 1
resume_checkpoint: ''
finetune_checkpoint: ''
output_dir: output
output_dir: json
visual_dl: false
amp:
scale_loss: 1024

@ -79,7 +79,7 @@ def init_args():
parser.add_argument(
"--model_path",
required=False,
default="output/DBNet_resnet18_FPN_DBHead/checkpoint/1.pth",
default="json/DBNet_resnet18_FPN_DBHead/checkpoint/1.pth",
type=str,
)
args = parser.parse_args()

@ -152,7 +152,7 @@ class InferenceEngine(object):
# create predictor
predictor = inference.create_predictor(config)
# get input and output tensor property
# get input and json tensor property
input_names = predictor.get_input_names()
input_tensor = predictor.get_input_handle(input_names[0])
@ -179,9 +179,9 @@ class InferenceEngine(object):
def postprocess(self, x, shape_info, is_output_polygon):
"""postprocess
Postprocess to the inference engine output.
Postprocess to the inference engine json.
Args:
x: Inference engine output.
x: Inference engine json.
Returns: Output data after argmax.
"""
box_list, score_list = self.post_process(
@ -207,7 +207,7 @@ class InferenceEngine(object):
Inference process using inference engine.
Args:
x: Input data after preprocess.
Returns: Inference engine output
Returns: Inference engine json
"""
self.input_tensor.copy_from_cpu(x)
self.predictor.run()
@ -235,7 +235,7 @@ def get_args(add_help=True):
parser.add_argument("--benchmark", default=False, type=str2bool, help="benchmark")
parser.add_argument("--warmup", default=0, type=int, help="warmup iter")
parser.add_argument("--polygon", action="store_true", help="output polygon or box")
parser.add_argument("--polygon", action="store_true", help="json polygon or box")
parser.add_argument("--use_gpu", type=str2bool, default=True)
parser.add_argument("--use_tensorrt", type=str2bool, default=False)
@ -298,9 +298,9 @@ def main(args):
img = draw_bbox(cv2.imread(args.img_path)[:, :, ::-1], box_list)
# 保存结果到路径
os.makedirs("output", exist_ok=True)
os.makedirs("json", exist_ok=True)
img_path = pathlib.Path(args.img_path)
output_path = os.path.join("output", img_path.stem + "_infer_result.jpg")
output_path = os.path.join("json", img_path.stem + "_infer_result.jpg")
cv2.imwrite(output_path, img[:, :, ::-1])
save_result(
output_path.replace("_infer_result.jpg", ".txt"),

@ -125,13 +125,13 @@ def init_args():
"--input_folder", default="./test/input", type=str, help="Crop_img path for predict"
)
parser.add_argument(
"--output_folder", default="./test/output", type=str, help="Crop_img path for output"
"--output_folder", default="./test/json", type=str, help="Crop_img path for json"
)
parser.add_argument("--gpu", default=0, type=int, help="gpu for inference")
parser.add_argument(
"--thre", default=0.3, type=float, help="the thresh of post_processing"
)
parser.add_argument("--polygon", action="store_true", help="output polygon or box")
parser.add_argument("--polygon", action="store_true", help="json polygon or box")
parser.add_argument("--show", action="store_true", help="show result")
parser.add_argument(
"--save_result", action="store_true", help="save box and score to txt file"

@ -37,7 +37,7 @@ class QuadMetric:
ignore_tags: tensor of shape (N, K), indicates whether a region is ignorable or not.
shape: the original shape of images.
filename: the original filenames of images.
output: (polygons, ...)
json: (polygons, ...)
"""
results = []
gt_polyons_batch = batch["text_polys"]

@ -4,7 +4,7 @@ Global:
epoch_num: 100
log_smooth_window: 20
print_batch_step: 10
save_model_dir: ./output/rec_ppocr_v3_rotnet
save_model_dir: ./json/rec_ppocr_v3_rotnet
save_epoch_step: 3
eval_batch_step: [0, 2000]
cal_metric_during_train: true
@ -17,7 +17,7 @@ Global:
max_text_length: 25
infer_mode: false
use_space_char: true
save_res_path: ./output/rec/predicts_chinese_lite_v2.0.txt
save_res_path: ./json/rec/predicts_chinese_lite_v2.0.txt
Optimizer:
name: Adam
beta1: 0.9

@ -3,7 +3,7 @@ Global:
epoch_num: 100
log_smooth_window: 20
print_batch_step: 10
save_model_dir: ./output/cls/mv3/
save_model_dir: ./json/cls/mv3/
save_epoch_step: 3
# evaluation is run every 5000 iterations after the 4000th iteration
eval_batch_step: [0, 1000]

@ -3,7 +3,7 @@ Global:
epoch_num: 1200
log_smooth_window: 20
print_batch_step: 2
save_model_dir: ./output/ch_db_mv3/
save_model_dir: ./json/ch_db_mv3/
save_epoch_step: 1200
# evaluation is run every 5000 iterations after the 4000th iteration
eval_batch_step: [3000, 2000]
@ -13,7 +13,7 @@ Global:
save_inference_dir:
use_visualdl: False
infer_img: doc/imgs_en/img_10.jpg
save_res_path: ./output/det_db/predicts_db.txt
save_res_path: ./json/det_db/predicts_db.txt
use_amp: False
amp_level: O2
amp_dtype: bfloat16

@ -3,7 +3,7 @@ Global:
epoch_num: 1200
log_smooth_window: 20
print_batch_step: 2
save_model_dir: ./output/ch_db_mv3/
save_model_dir: ./json/ch_db_mv3/
save_epoch_step: 1200
# evaluation is run every 5000 iterations after the 4000th iteration
eval_batch_step: [3000, 2000]
@ -13,7 +13,7 @@ Global:
save_inference_dir:
use_visualdl: False
infer_img: doc/imgs_en/img_10.jpg
save_res_path: ./output/det_db/predicts_db.txt
save_res_path: ./json/det_db/predicts_db.txt
Architecture:
name: DistillationModel

@ -3,7 +3,7 @@ Global:
epoch_num: 1200
log_smooth_window: 20
print_batch_step: 2
save_model_dir: ./output/ch_db_mv3/
save_model_dir: ./json/ch_db_mv3/
save_epoch_step: 1200
# evaluation is run every 5000 iterations after the 4000th iteration
eval_batch_step: [3000, 2000]
@ -13,7 +13,7 @@ Global:
save_inference_dir:
use_visualdl: False
infer_img: doc/imgs_en/img_10.jpg
save_res_path: ./output/det_db/predicts_db.txt
save_res_path: ./json/det_db/predicts_db.txt
Architecture:
name: DistillationModel

@ -3,7 +3,7 @@ Global:
epoch_num: 1200
log_smooth_window: 20
print_batch_step: 10
save_model_dir: ./output/ch_db_mv3/
save_model_dir: ./json/ch_db_mv3/
save_epoch_step: 1200
# evaluation is run every 5000 iterations after the 4000th iteration
eval_batch_step: [0, 400]
@ -13,7 +13,7 @@ Global:
save_inference_dir:
use_visualdl: False
infer_img: doc/imgs_en/img_10.jpg
save_res_path: ./output/det_db/predicts_db.txt
save_res_path: ./json/det_db/predicts_db.txt
Architecture:
model_type: det

@ -4,7 +4,7 @@ Global:
epoch_num: 500
log_smooth_window: 20
print_batch_step: 10
save_model_dir: ./output/ch_PP-OCR_v3_det/
save_model_dir: ./json/ch_PP-OCR_v3_det/
save_epoch_step: 100
eval_batch_step:
- 0

@ -3,7 +3,7 @@ Global:
epoch_num: 1200
log_smooth_window: 20
print_batch_step: 2
save_model_dir: ./output/ch_db_mv3/
save_model_dir: ./json/ch_db_mv3/
save_epoch_step: 1200
# evaluation is run every 5000 iterations after the 4000th iteration
eval_batch_step: [3000, 2000]
@ -13,7 +13,7 @@ Global:
save_inference_dir:
use_visualdl: False
infer_img: doc/imgs_en/img_10.jpg
save_res_path: ./output/det_db/predicts_db.txt
save_res_path: ./json/det_db/predicts_db.txt
Architecture:
name: DistillationModel

@ -4,7 +4,7 @@ Global:
epoch_num: 500
log_smooth_window: 20
print_batch_step: 10
save_model_dir: ./output/ch_PP-OCR_V3_det/
save_model_dir: ./json/ch_PP-OCR_V3_det/
save_epoch_step: 100
eval_batch_step:
- 0

@ -4,7 +4,7 @@ Global:
epoch_num: 500
log_smooth_window: 20
print_batch_step: 20
save_model_dir: ./output/ch_PP-OCRv4
save_model_dir: ./json/ch_PP-OCRv4
save_epoch_step: 50
eval_batch_step:
- 0

@ -4,7 +4,7 @@ Global:
epoch_num: &epoch_num 500
log_smooth_window: 20
print_batch_step: 100
save_model_dir: ./output/ch_PP-OCRv4
save_model_dir: ./json/ch_PP-OCRv4
save_epoch_step: 10
eval_batch_step:
- 0

@ -4,7 +4,7 @@ Global:
epoch_num: &epoch_num 500
log_smooth_window: 20
print_batch_step: 100
save_model_dir: ./output/ch_PP-OCRv4
save_model_dir: ./json/ch_PP-OCRv4
save_epoch_step: 10
eval_batch_step:
- 0

@ -3,7 +3,7 @@ Global:
epoch_num: 1200
log_smooth_window: 20
print_batch_step: 2
save_model_dir: ./output/ch_db_mv3/
save_model_dir: ./json/ch_db_mv3/
save_epoch_step: 1200
# evaluation is run every 5000 iterations after the 4000th iteration
eval_batch_step: [3000, 2000]
@ -13,7 +13,7 @@ Global:
save_inference_dir:
use_visualdl: False
infer_img: doc/imgs_en/img_10.jpg
save_res_path: ./output/det_db/predicts_db.txt
save_res_path: ./json/det_db/predicts_db.txt
Architecture:
model_type: det

@ -3,7 +3,7 @@ Global:
epoch_num: 1200
log_smooth_window: 20
print_batch_step: 2
save_model_dir: ./output/ch_db_res18/
save_model_dir: ./json/ch_db_res18/
save_epoch_step: 1200
# evaluation is run every 5000 iterations after the 4000th iteration
eval_batch_step: [3000, 2000]
@ -13,7 +13,7 @@ Global:
save_inference_dir:
use_visualdl: False
infer_img: doc/imgs_en/img_10.jpg
save_res_path: ./output/det_db/predicts_db.txt
save_res_path: ./json/det_db/predicts_db.txt
Architecture:
model_type: det

@ -5,7 +5,7 @@ Global:
epoch_num: 1200
log_smooth_window: 20
print_batch_step: 10
save_model_dir: ./output/db_mv3/
save_model_dir: ./json/db_mv3/
save_epoch_step: 1200
# evaluation is run every 2000 iterations
eval_batch_step: [0, 2000]
@ -15,7 +15,7 @@ Global:
save_inference_dir:
use_visualdl: False
infer_img: doc/imgs_en/img_10.jpg
save_res_path: ./output/det_db/predicts_db.txt
save_res_path: ./json/det_db/predicts_db.txt
Architecture:
model_type: det

@ -3,7 +3,7 @@ Global:
epoch_num: 10000
log_smooth_window: 20
print_batch_step: 2
save_model_dir: ./output/east_mv3/
save_model_dir: ./json/east_mv3/
save_epoch_step: 1000
# evaluation is run every 5000 iterations after the 4000th iteration
eval_batch_step: [4000, 5000]
@ -13,7 +13,7 @@ Global:
save_inference_dir:
use_visualdl: False
infer_img:
save_res_path: ./output/det_east/predicts_east.txt
save_res_path: ./json/det_east/predicts_east.txt
Architecture:
model_type: det

@ -3,17 +3,17 @@ Global:
epoch_num: 600
log_smooth_window: 20
print_batch_step: 10
save_model_dir: ./output/det_mv3_pse/
save_model_dir: ./json/det_mv3_pse/
save_epoch_step: 600
# evaluation is run every 63 iterations
eval_batch_step: [ 0,63 ]
cal_metric_during_train: False
pretrained_model: ./pretrain_models/MobileNetV3_large_x0_5_pretrained
checkpoints: #./output/det_r50_vd_pse_batch8_ColorJitter/best_accuracy
checkpoints: #./json/det_r50_vd_pse_batch8_ColorJitter/best_accuracy
save_inference_dir:
use_visualdl: False
infer_img: doc/imgs_en/img_10.jpg
save_res_path: ./output/det_pse/predicts_pse.txt
save_res_path: ./json/det_pse/predicts_pse.txt
Architecture:
model_type: det

@ -3,7 +3,7 @@ Global:
epoch_num: 600
log_smooth_window: 20
print_batch_step: 10
save_model_dir: ./output/det_ct/
save_model_dir: ./json/det_ct/
save_epoch_step: 10
# evaluation is run every 2000 iterations
eval_batch_step: [0,1000]
@ -13,7 +13,7 @@ Global:
save_inference_dir:
use_visualdl: False
infer_img: doc/imgs_en/img623.jpg
save_res_path: ./output/det_ct/predicts_ct.txt
save_res_path: ./json/det_ct/predicts_ct.txt
Architecture:
model_type: det

@ -4,7 +4,7 @@ Global:
epoch_num: 1000
log_smooth_window: 20
print_batch_step: 10
save_model_dir: ./output/det_r50_icdar15/
save_model_dir: ./json/det_r50_icdar15/
save_epoch_step: 200
eval_batch_step:
- 0

@ -4,7 +4,7 @@ Global:
epoch_num: 1000
log_smooth_window: 20
print_batch_step: 10
save_model_dir: ./output/det_r50_td_tr/
save_model_dir: ./json/det_r50_td_tr/
save_epoch_step: 200
eval_batch_step:
- 0

@ -3,7 +3,7 @@ Global:
epoch_num: 1200
log_smooth_window: 20
print_batch_step: 5
save_model_dir: ./output/det_r50_drrg_ctw/
save_model_dir: ./json/det_r50_drrg_ctw/
save_epoch_step: 100
# evaluation is run every 1260 iterations
eval_batch_step: [37800, 1260]
@ -13,7 +13,7 @@ Global:
save_inference_dir:
use_visualdl: False
infer_img: doc/imgs_en/img_10.jpg
save_res_path: ./output/det_drrg/predicts_drrg.txt
save_res_path: ./json/det_drrg/predicts_drrg.txt
Architecture:

@ -3,7 +3,7 @@ Global:
epoch_num: 1200
log_smooth_window: 20
print_batch_step: 10
save_model_dir: ./output/det_r50_vd/
save_model_dir: ./json/det_r50_vd/
save_epoch_step: 1200
# evaluation is run every 2000 iterations
eval_batch_step: [0,2000]
@ -13,7 +13,7 @@ Global:
save_inference_dir:
use_visualdl: False
infer_img: doc/imgs_en/img_10.jpg
save_res_path: ./output/det_db/predicts_db.txt
save_res_path: ./json/det_db/predicts_db.txt
Architecture:
model_type: det

@ -3,7 +3,7 @@ Global:
epoch_num: 1500
log_smooth_window: 20
print_batch_step: 20
save_model_dir: ./output/det_r50_dcn_fce_ctw/
save_model_dir: ./json/det_r50_dcn_fce_ctw/
save_epoch_step: 100
# evaluation is run every 835 iterations
eval_batch_step: [0, 835]
@ -13,7 +13,7 @@ Global:
save_inference_dir:
use_visualdl: False
infer_img: doc/imgs_en/img_10.jpg
save_res_path: ./output/det_fce/predicts_fce.txt
save_res_path: ./json/det_fce/predicts_fce.txt
Architecture:

@ -3,7 +3,7 @@ Global:
epoch_num: 10000
log_smooth_window: 20
print_batch_step: 2
save_model_dir: ./output/east_r50_vd/
save_model_dir: ./json/east_r50_vd/
save_epoch_step: 1000
# evaluation is run every 5000 iterations after the 4000th iteration
eval_batch_step: [4000, 5000]
@ -13,7 +13,7 @@ Global:
save_inference_dir:
use_visualdl: False
infer_img:
save_res_path: ./output/det_east/predicts_east.txt
save_res_path: ./json/det_east/predicts_east.txt
Architecture:
model_type: det

@ -3,17 +3,17 @@ Global:
epoch_num: 600
log_smooth_window: 20
print_batch_step: 10
save_model_dir: ./output/det_r50_vd_pse/
save_model_dir: ./json/det_r50_vd_pse/
save_epoch_step: 600
# evaluation is run every 125 iterations
eval_batch_step: [ 0,125 ]
cal_metric_during_train: False
pretrained_model: ./pretrain_models/ResNet50_vd_ssld_pretrained
checkpoints: #./output/det_r50_vd_pse_batch8_ColorJitter/best_accuracy
checkpoints: #./json/det_r50_vd_pse_batch8_ColorJitter/best_accuracy
save_inference_dir:
use_visualdl: False
infer_img: doc/imgs_en/img_10.jpg
save_res_path: ./output/det_pse/predicts_pse.txt
save_res_path: ./json/det_pse/predicts_pse.txt
Architecture:
model_type: det

@ -3,7 +3,7 @@ Global:
epoch_num: 5000
log_smooth_window: 20
print_batch_step: 2
save_model_dir: ./output/sast_r50_vd_ic15/
save_model_dir: ./json/sast_r50_vd_ic15/
save_epoch_step: 1000
# evaluation is run every 5000 iterations after the 4000th iteration
eval_batch_step: [4000, 5000]
@ -13,7 +13,7 @@ Global:
save_inference_dir:
use_visualdl: False
infer_img:
save_res_path: ./output/sast_r50_vd_ic15/predicts_sast.txt
save_res_path: ./json/sast_r50_vd_ic15/predicts_sast.txt
Architecture:

@ -3,7 +3,7 @@ Global:
epoch_num: 5000
log_smooth_window: 20
print_batch_step: 2
save_model_dir: ./output/sast_r50_vd_tt/
save_model_dir: ./json/sast_r50_vd_tt/
save_epoch_step: 1000
# evaluation is run every 5000 iterations after the 4000th iteration
eval_batch_step: [4000, 5000]
@ -13,7 +13,7 @@ Global:
save_inference_dir:
use_visualdl: False
infer_img:
save_res_path: ./output/sast_r50_vd_tt/predicts_sast.txt
save_res_path: ./json/sast_r50_vd_tt/predicts_sast.txt
Architecture:
model_type: det

@ -4,7 +4,7 @@ Global:
epoch_num: &epoch_num 500
log_smooth_window: 20
print_batch_step: 100
save_model_dir: ./output/det_repsvtr_db
save_model_dir: ./json/det_repsvtr_db
save_epoch_step: 10
eval_batch_step:
- 0

@ -3,7 +3,7 @@ Global:
epoch_num: 1200
log_smooth_window: 20
print_batch_step: 2
save_model_dir: ./output/ch_db_res18/
save_model_dir: ./json/ch_db_res18/
save_epoch_step: 1200
# evaluation is run every 5000 iterations after the 4000th iteration
eval_batch_step: [3000, 2000]
@ -13,7 +13,7 @@ Global:
save_inference_dir:
use_visualdl: False
infer_img: doc/imgs_en/img_10.jpg
save_res_path: ./output/det_db/predicts_db.txt
save_res_path: ./json/det_db/predicts_db.txt
Architecture:
model_type: det

@ -3,7 +3,7 @@ Global:
epoch_num: 600
log_smooth_window: 20
print_batch_step: 10
save_model_dir: ./output/pgnet_r50_vd_totaltext/
save_model_dir: ./json/pgnet_r50_vd_totaltext/
save_epoch_step: 10
# evaluation is run every 0 iterationss after the 1000th iteration
eval_batch_step: [ 0, 1000 ]
@ -15,7 +15,7 @@ Global:
infer_img:
infer_visual_type: EN # two mode: EN is for english datasets, CN is for chinese datasets
valid_set: totaltext # two mode: totaltext valid curved words, partvgg valid non-curved words
save_res_path: ./output/pgnet_r50_vd_totaltext/predicts_pgnet.txt
save_res_path: ./json/pgnet_r50_vd_totaltext/predicts_pgnet.txt
character_dict_path: ppocr/utils/ic15_dict.txt
character_type: EN
max_text_length: 50 # the max length in seq

@ -3,7 +3,7 @@ Global:
epoch_num: &epoch_num 200
log_smooth_window: 10
print_batch_step: 10
save_model_dir: ./output/re_layoutlmv2_xfund_zh
save_model_dir: ./json/re_layoutlmv2_xfund_zh
save_epoch_step: 2000
# evaluation is run every 10 iterations after the 0th iteration
eval_batch_step: [ 0, 19 ]
@ -12,7 +12,7 @@ Global:
use_visualdl: False
seed: 2022
infer_img: ppstructure/docs/kie/input/zh_val_21.jpg
save_res_path: ./output/re_layoutlmv2_xfund_zh/res/
save_res_path: ./json/re_layoutlmv2_xfund_zh/res/
Architecture:
model_type: kie

@ -3,7 +3,7 @@ Global:
epoch_num: &epoch_num 130
log_smooth_window: 10
print_batch_step: 10
save_model_dir: ./output/re_layoutxlm_xfund_zh
save_model_dir: ./json/re_layoutxlm_xfund_zh
save_epoch_step: 2000
# evaluation is run every 10 iterations after the 0th iteration
eval_batch_step: [ 0, 19 ]
@ -12,7 +12,7 @@ Global:
use_visualdl: False
seed: 2022
infer_img: ppstructure/docs/kie/input/zh_val_21.jpg
save_res_path: ./output/re_layoutxlm_xfund_zh/res/
save_res_path: ./json/re_layoutxlm_xfund_zh/res/
Architecture:
model_type: kie

@ -3,7 +3,7 @@ Global:
epoch_num: &epoch_num 200
log_smooth_window: 10
print_batch_step: 10
save_model_dir: ./output/ser_layoutlm_xfund_zh
save_model_dir: ./json/ser_layoutlm_xfund_zh
save_epoch_step: 2000
# evaluation is run every 10 iterations after the 0th iteration
eval_batch_step: [ 0, 19 ]
@ -12,7 +12,7 @@ Global:
use_visualdl: False
seed: 2022
infer_img: ppstructure/docs/kie/input/zh_val_42.jpg
save_res_path: ./output/re_layoutlm_xfund_zh/res
save_res_path: ./json/re_layoutlm_xfund_zh/res
Architecture:
model_type: kie

@ -3,7 +3,7 @@ Global:
epoch_num: &epoch_num 200
log_smooth_window: 10
print_batch_step: 10
save_model_dir: ./output/ser_layoutlmv2_xfund_zh/
save_model_dir: ./json/ser_layoutlmv2_xfund_zh/
save_epoch_step: 2000
# evaluation is run every 10 iterations after the 0th iteration
eval_batch_step: [ 0, 19 ]
@ -12,7 +12,7 @@ Global:
use_visualdl: False
seed: 2022
infer_img: ppstructure/docs/kie/input/zh_val_42.jpg
save_res_path: ./output/ser_layoutlmv2_xfund_zh/res/
save_res_path: ./json/ser_layoutlmv2_xfund_zh/res/
Architecture:
model_type: kie

@ -3,7 +3,7 @@ Global:
epoch_num: &epoch_num 200
log_smooth_window: 10
print_batch_step: 10
save_model_dir: ./output/ser_layoutxlm_xfund_zh
save_model_dir: ./json/ser_layoutxlm_xfund_zh
save_epoch_step: 2000
# evaluation is run every 10 iterations after the 0th iteration
eval_batch_step: [ 0, 19 ]
@ -12,7 +12,7 @@ Global:
use_visualdl: False
seed: 2022
infer_img: ppstructure/docs/kie/input/zh_val_42.jpg
save_res_path: ./output/ser_layoutxlm_xfund_zh/res
save_res_path: ./json/ser_layoutxlm_xfund_zh/res
Architecture:
model_type: kie

@ -3,7 +3,7 @@ Global:
epoch_num: 60
log_smooth_window: 20
print_batch_step: 50
save_model_dir: ./output/kie_5/
save_model_dir: ./json/kie_5/
save_epoch_step: 50
# evaluation is run every 5000 iterations after the 4000th iteration
eval_batch_step: [ 0, 80 ]
@ -19,7 +19,7 @@ Global:
use_visualdl: False
class_path: &class_path ./train_data/wildreceipt/class_list.txt
infer_img: ./train_data/wildreceipt/1.txt
save_res_path: ./output/sdmgr_kie/predicts_kie.txt
save_res_path: ./json/sdmgr_kie/predicts_kie.txt
img_scale: [ 1024, 512 ]
Architecture:

@ -3,7 +3,7 @@ Global:
epoch_num: &epoch_num 130
log_smooth_window: 10
print_batch_step: 10
save_model_dir: ./output/re_vi_layoutxlm_xfund_zh
save_model_dir: ./json/re_vi_layoutxlm_xfund_zh
save_epoch_step: 2000
# evaluation is run every 10 iterations after the 0th iteration
eval_batch_step: [ 0, 19 ]
@ -12,7 +12,7 @@ Global:
use_visualdl: False
seed: 2022
infer_img: ppstructure/docs/kie/input/zh_val_21.jpg
save_res_path: ./output/re/xfund_zh/with_gt
save_res_path: ./json/re/xfund_zh/with_gt
kie_rec_model_dir:
kie_det_model_dir:

@ -3,7 +3,7 @@ Global:
epoch_num: &epoch_num 130
log_smooth_window: 10
print_batch_step: 10
save_model_dir: ./output/re_vi_layoutxlm_xfund_zh_udml
save_model_dir: ./json/re_vi_layoutxlm_xfund_zh_udml
save_epoch_step: 2000
# evaluation is run every 10 iterations after the 0th iteration
eval_batch_step: [ 0, 19 ]
@ -12,7 +12,7 @@ Global:
use_visualdl: False
seed: 2022
infer_img: ppstructure/docs/kie/input/zh_val_21.jpg
save_res_path: ./output/re/xfund_zh/with_gt
save_res_path: ./json/re/xfund_zh/with_gt
Architecture:
model_type: &model_type "kie"

@ -3,7 +3,7 @@ Global:
epoch_num: &epoch_num 200
log_smooth_window: 10
print_batch_step: 10
save_model_dir: ./output/ser_vi_layoutxlm_xfund_zh
save_model_dir: ./json/ser_vi_layoutxlm_xfund_zh
save_epoch_step: 2000
# evaluation is run every 10 iterations after the 0th iteration
eval_batch_step: [ 0, 19 ]
@ -18,7 +18,7 @@ Global:
# infer_img: train_data/XFUND/zh_val/val.json
# infer_mode: False
save_res_path: ./output/ser/xfund_zh/res
save_res_path: ./json/ser/xfund_zh/res
kie_rec_model_dir:
kie_det_model_dir:
amp_custom_white_list: ['scale', 'concat', 'elementwise_add']

@ -3,7 +3,7 @@ Global:
epoch_num: &epoch_num 200
log_smooth_window: 10
print_batch_step: 10
save_model_dir: ./output/ser_vi_layoutxlm_xfund_zh_udml
save_model_dir: ./json/ser_vi_layoutxlm_xfund_zh_udml
save_epoch_step: 2000
# evaluation is run every 10 iterations after the 0th iteration
eval_batch_step: [ 0, 19 ]
@ -12,7 +12,7 @@ Global:
use_visualdl: False
seed: 2022
infer_img: ppstructure/docs/kie/input/zh_val_42.jpg
save_res_path: ./output/ser_layoutxlm_xfund_zh/res
save_res_path: ./json/ser_layoutxlm_xfund_zh/res
Architecture:

@ -4,7 +4,7 @@ Global:
epoch_num: 500
log_smooth_window: 20
print_batch_step: 10
save_model_dir: ./output/rec_ppocr_v3
save_model_dir: ./json/rec_ppocr_v3
save_epoch_step: 3
eval_batch_step: [0, 2000]
cal_metric_during_train: true
@ -18,7 +18,7 @@ Global:
infer_mode: false
use_space_char: true
distributed: true
save_res_path: ./output/rec/predicts_ppocrv3.txt
save_res_path: ./json/rec/predicts_ppocrv3.txt
Optimizer:

@ -4,7 +4,7 @@ Global:
epoch_num: 800
log_smooth_window: 20
print_batch_step: 10
save_model_dir: ./output/rec_ppocr_v3_distillation
save_model_dir: ./json/rec_ppocr_v3_distillation
save_epoch_step: 3
eval_batch_step: [0, 2000]
cal_metric_during_train: true
@ -18,7 +18,7 @@ Global:
infer_mode: false
use_space_char: true
distributed: true
save_res_path: ./output/rec/predicts_ppocrv3_distillation.txt
save_res_path: ./json/rec/predicts_ppocrv3_distillation.txt
d2s_train_image_shape: [3, 48, -1]

@ -4,7 +4,7 @@ Global:
epoch_num: 500
log_smooth_window: 20
print_batch_step: 10
save_model_dir: ./output/v3_en_mobile
save_model_dir: ./json/v3_en_mobile
save_epoch_step: 3
eval_batch_step: [0, 2000]
cal_metric_during_train: true
@ -18,7 +18,7 @@ Global:
infer_mode: false
use_space_char: true
distributed: true
save_res_path: ./output/rec/predicts_ppocrv3_en.txt
save_res_path: ./json/rec/predicts_ppocrv3_en.txt
Optimizer:

@ -4,7 +4,7 @@ Global:
epoch_num: 500
log_smooth_window: 20
print_batch_step: 10
save_model_dir: ./output/v3_arabic_mobile
save_model_dir: ./json/v3_arabic_mobile
save_epoch_step: 3
eval_batch_step: [0, 2000]
cal_metric_during_train: true
@ -18,7 +18,7 @@ Global:
infer_mode: false
use_space_char: true
distributed: true
save_res_path: ./output/rec/predicts_ppocrv3_arabic.txt
save_res_path: ./json/rec/predicts_ppocrv3_arabic.txt
Optimizer:

@ -4,7 +4,7 @@ Global:
epoch_num: 500
log_smooth_window: 20
print_batch_step: 10
save_model_dir: ./output/v3_chinese_cht_mobile
save_model_dir: ./json/v3_chinese_cht_mobile
save_epoch_step: 3
eval_batch_step: [0, 2000]
cal_metric_during_train: true
@ -18,7 +18,7 @@ Global:
infer_mode: false
use_space_char: true
distributed: true
save_res_path: ./output/rec/predicts_ppocrv3_chinese_cht.txt
save_res_path: ./json/rec/predicts_ppocrv3_chinese_cht.txt
Optimizer:

@ -4,7 +4,7 @@ Global:
epoch_num: 500
log_smooth_window: 20
print_batch_step: 10
save_model_dir: ./output/v3_cyrillic_mobile
save_model_dir: ./json/v3_cyrillic_mobile
save_epoch_step: 3
eval_batch_step: [0, 2000]
cal_metric_during_train: true
@ -18,7 +18,7 @@ Global:
infer_mode: false
use_space_char: true
distributed: true
save_res_path: ./output/rec/predicts_ppocrv3_cyrillic.txt
save_res_path: ./json/rec/predicts_ppocrv3_cyrillic.txt
Optimizer:

@ -4,7 +4,7 @@ Global:
epoch_num: 500
log_smooth_window: 20
print_batch_step: 10
save_model_dir: ./output/v3_devanagari_mobile
save_model_dir: ./json/v3_devanagari_mobile
save_epoch_step: 3
eval_batch_step: [0, 2000]
cal_metric_during_train: true
@ -18,7 +18,7 @@ Global:
infer_mode: false
use_space_char: true
distributed: true
save_res_path: ./output/rec/predicts_ppocrv3_devanagari.txt
save_res_path: ./json/rec/predicts_ppocrv3_devanagari.txt
Optimizer:

@ -4,7 +4,7 @@ Global:
epoch_num: 500
log_smooth_window: 20
print_batch_step: 10
save_model_dir: ./output/v3_japan_mobile
save_model_dir: ./json/v3_japan_mobile
save_epoch_step: 3
eval_batch_step: [0, 2000]
cal_metric_during_train: true
@ -18,7 +18,7 @@ Global:
infer_mode: false
use_space_char: true
distributed: true
save_res_path: ./output/rec/predicts_ppocrv3_japan.txt
save_res_path: ./json/rec/predicts_ppocrv3_japan.txt
Optimizer:

@ -4,7 +4,7 @@ Global:
epoch_num: 500
log_smooth_window: 20
print_batch_step: 10
save_model_dir: ./output/v3_ka_mobile
save_model_dir: ./json/v3_ka_mobile
save_epoch_step: 3
eval_batch_step: [0, 2000]
cal_metric_during_train: true
@ -18,7 +18,7 @@ Global:
infer_mode: false
use_space_char: true
distributed: true
save_res_path: ./output/rec/predicts_ppocrv3_ka.txt
save_res_path: ./json/rec/predicts_ppocrv3_ka.txt
Optimizer:

@ -4,7 +4,7 @@ Global:
epoch_num: 500
log_smooth_window: 20
print_batch_step: 10
save_model_dir: ./output/v3_korean_mobile
save_model_dir: ./json/v3_korean_mobile
save_epoch_step: 3
eval_batch_step: [0, 2000]
cal_metric_during_train: true
@ -18,7 +18,7 @@ Global:
infer_mode: false
use_space_char: true
distributed: true
save_res_path: ./output/rec/predicts_ppocrv3_korean.txt
save_res_path: ./json/rec/predicts_ppocrv3_korean.txt
Optimizer:

@ -4,7 +4,7 @@ Global:
epoch_num: 500
log_smooth_window: 20
print_batch_step: 10
save_model_dir: ./output/v3_latin_mobile
save_model_dir: ./json/v3_latin_mobile
save_epoch_step: 3
eval_batch_step: [0, 2000]
cal_metric_during_train: true
@ -18,7 +18,7 @@ Global:
infer_mode: false
use_space_char: true
distributed: true
save_res_path: ./output/rec/predicts_ppocrv3_latin.txt
save_res_path: ./json/rec/predicts_ppocrv3_latin.txt
Optimizer:

@ -4,7 +4,7 @@ Global:
epoch_num: 500
log_smooth_window: 20
print_batch_step: 10
save_model_dir: ./output/v3_ta_mobile
save_model_dir: ./json/v3_ta_mobile
save_epoch_step: 3
eval_batch_step: [0, 2000]
cal_metric_during_train: true
@ -18,7 +18,7 @@ Global:
infer_mode: false
use_space_char: true
distributed: true
save_res_path: ./output/rec/predicts_ppocrv3_ta.txt
save_res_path: ./json/rec/predicts_ppocrv3_ta.txt
Optimizer:

@ -4,7 +4,7 @@ Global:
epoch_num: 500
log_smooth_window: 20
print_batch_step: 10
save_model_dir: ./output/v3_te_mobile
save_model_dir: ./json/v3_te_mobile
save_epoch_step: 3
eval_batch_step: [0, 2000]
cal_metric_during_train: true
@ -18,7 +18,7 @@ Global:
infer_mode: false
use_space_char: true
distributed: true
save_res_path: ./output/rec/predicts_ppocrv3_te.txt
save_res_path: ./json/rec/predicts_ppocrv3_te.txt
Optimizer:

@ -4,7 +4,7 @@ Global:
epoch_num: 200
log_smooth_window: 20
print_batch_step: 10
save_model_dir: ./output/rec_ppocr_v4
save_model_dir: ./json/rec_ppocr_v4
save_epoch_step: 10
eval_batch_step: [0, 2000]
cal_metric_during_train: true
@ -18,7 +18,7 @@ Global:
infer_mode: false
use_space_char: true
distributed: true
save_res_path: ./output/rec/predicts_ppocrv3.txt
save_res_path: ./json/rec/predicts_ppocrv3.txt
Optimizer:

@ -4,7 +4,7 @@ Global:
epoch_num: 200
log_smooth_window: 20
print_batch_step: 10
save_model_dir: ./output/rec_ppocr_v4
save_model_dir: ./json/rec_ppocr_v4
save_epoch_step: 10
eval_batch_step: [0, 2000]
cal_metric_during_train: true
@ -18,7 +18,7 @@ Global:
infer_mode: false
use_space_char: true
distributed: true
save_res_path: ./output/rec/predicts_ppocrv3.txt
save_res_path: ./json/rec/predicts_ppocrv3.txt
use_amp: True
amp_level: O2

@ -4,14 +4,14 @@ Global:
epoch_num: 200
log_smooth_window: 20
print_batch_step: 10
save_model_dir: ./output/rec_dkd_400w_svtr_ctc_lcnet_blank_dkd0.1/
save_model_dir: ./json/rec_dkd_400w_svtr_ctc_lcnet_blank_dkd0.1/
save_epoch_step: 40
eval_batch_step:
- 0
- 2000
cal_metric_during_train: true
pretrained_model: null
checkpoints: ./output/rec_dkd_400w_svtr_ctc_lcnet_blank_dkd0.1/latest
checkpoints: ./json/rec_dkd_400w_svtr_ctc_lcnet_blank_dkd0.1/latest
save_inference_dir: null
use_visualdl: false
infer_img: doc/imgs_words/ch/word_1.jpg
@ -20,7 +20,7 @@ Global:
infer_mode: false
use_space_char: true
distributed: true
save_res_path: ./output/rec/predicts_ppocrv3.txt
save_res_path: ./json/rec/predicts_ppocrv3.txt
Optimizer:
name: Adam
beta1: 0.9

@ -4,7 +4,7 @@ Global:
epoch_num: 200
log_smooth_window: 20
print_batch_step: 10
save_model_dir: ./output/rec_ppocr_v4
save_model_dir: ./json/rec_ppocr_v4
save_epoch_step: 10
eval_batch_step: [0, 2000]
cal_metric_during_train: true
@ -18,7 +18,7 @@ Global:
infer_mode: false
use_space_char: true
distributed: true
save_res_path: ./output/rec/predicts_ppocrv3.txt
save_res_path: ./json/rec/predicts_ppocrv3.txt
Optimizer:

@ -4,7 +4,7 @@ Global:
epoch_num: 200
log_smooth_window: 20
print_batch_step: 10
save_model_dir: ./output/rec_ppocr_v4_hgnet
save_model_dir: ./json/rec_ppocr_v4_hgnet
save_epoch_step: 10
eval_batch_step: [0, 2000]
cal_metric_during_train: true
@ -18,7 +18,7 @@ Global:
infer_mode: false
use_space_char: true
distributed: true
save_res_path: ./output/rec/predicts_ppocrv3.txt
save_res_path: ./json/rec/predicts_ppocrv3.txt
Optimizer:

@ -4,7 +4,7 @@ Global:
epoch_num: 200
log_smooth_window: 20
print_batch_step: 10
save_model_dir: ./output/rec_ppocr_v4_hgnet
save_model_dir: ./json/rec_ppocr_v4_hgnet
save_epoch_step: 10
eval_batch_step: [0, 2000]
cal_metric_during_train: true
@ -18,7 +18,7 @@ Global:
infer_mode: false
use_space_char: true
distributed: true
save_res_path: ./output/rec/predicts_ppocrv3.txt
save_res_path: ./json/rec/predicts_ppocrv3.txt
use_amp: True
amp_level: O2

@ -4,7 +4,7 @@ Global:
epoch_num: 200
log_smooth_window: 20
print_batch_step: 10
save_model_dir: ./output/rec_ppocr_v4_hgnet
save_model_dir: ./json/rec_ppocr_v4_hgnet
save_epoch_step: 10
eval_batch_step: [0, 2000]
cal_metric_during_train: true
@ -18,7 +18,7 @@ Global:
infer_mode: false
use_space_char: true
distributed: true
save_res_path: ./output/rec/predicts_ppocrv3.txt
save_res_path: ./json/rec/predicts_ppocrv3.txt
Optimizer:

@ -4,7 +4,7 @@ Global:
epoch_num: 200
log_smooth_window: 20
print_batch_step: 10
save_model_dir: ./output/rec/svtr_large/
save_model_dir: ./json/rec/svtr_large/
save_epoch_step: 10
# evaluation is run every 2000 iterations after the 0th iteration
eval_batch_step: [0, 2000]
@ -19,7 +19,7 @@ Global:
infer_mode: false
use_space_char: true
distributed: true
save_res_path: ./output/rec/predicts_svtr_large.txt
save_res_path: ./json/rec/predicts_svtr_large.txt
Optimizer:

@ -4,7 +4,7 @@ Global:
epoch_num: 50
log_smooth_window: 20
print_batch_step: 10
save_model_dir: ./output/rec_ppocr_v4
save_model_dir: ./json/rec_ppocr_v4
save_epoch_step: 10
eval_batch_step:
- 0
@ -20,7 +20,7 @@ Global:
infer_mode: false
use_space_char: true
distributed: true
save_res_path: ./output/rec/predicts_ppocrv3.txt
save_res_path: ./json/rec/predicts_ppocrv3.txt
Optimizer:
name: Adam
beta1: 0.9

@ -4,7 +4,7 @@ Global:
epoch_num: 200
log_smooth_window: 20
print_batch_step: 10
save_model_dir: ./output/rec_repsvtr_ch
save_model_dir: ./json/rec_repsvtr_ch
save_epoch_step: 10
eval_batch_step: [0, 1000]
cal_metric_during_train: False
@ -18,7 +18,7 @@ Global:
infer_mode: false
use_space_char: true
distributed: true
save_res_path: ./output/rec/predicts_repsvtr.txt
save_res_path: ./json/rec/predicts_repsvtr.txt
Optimizer:
name: AdamW

@ -4,7 +4,7 @@ Global:
epoch_num: 200
log_smooth_window: 20
print_batch_step: 10
save_model_dir: ./output/rec_repsvtr_gtc
save_model_dir: ./json/rec_repsvtr_gtc
save_epoch_step: 10
eval_batch_step: [0, 1000]
cal_metric_during_train: False
@ -18,7 +18,7 @@ Global:
infer_mode: false
use_space_char: true
distributed: true
save_res_path: ./output/rec/predicts_repsvtr.txt
save_res_path: ./json/rec/predicts_repsvtr.txt
Optimizer:
name: AdamW

@ -4,7 +4,7 @@ Global:
epoch_num: 200
log_smooth_window: 20
print_batch_step: 10
save_model_dir: ./output/rec_svtrv2_ch
save_model_dir: ./json/rec_svtrv2_ch
save_epoch_step: 10
eval_batch_step: [0, 1000]
cal_metric_during_train: False
@ -18,7 +18,7 @@ Global:
infer_mode: false
use_space_char: true
distributed: true
save_res_path: ./output/rec/predicts_svrtv2.txt
save_res_path: ./json/rec/predicts_svrtv2.txt
Optimizer:

@ -4,7 +4,7 @@ Global:
epoch_num: 100
log_smooth_window: 20
print_batch_step: 10
save_model_dir: ./output/rec_svtrv2_ch_distill_lr00002/
save_model_dir: ./json/rec_svtrv2_ch_distill_lr00002/
save_epoch_step: 5
eval_batch_step:
- 0
@ -20,7 +20,7 @@ Global:
infer_mode: false
use_space_char: true
distributed: true
save_res_path: ./output/rec/predicts_svtrv2_ch_distill.txt
save_res_path: ./json/rec/predicts_svtrv2_ch_distill.txt
Optimizer:
name: AdamW
beta1: 0.9
@ -39,7 +39,7 @@ Architecture:
algorithm: Distillation
Models:
Teacher:
pretrained: ./output/rec_svtrv2_ch/best_accuracy
pretrained: ./json/rec_svtrv2_ch/best_accuracy
freeze_params: true
return_all_feats: true
model_type: rec
@ -74,7 +74,7 @@ Architecture:
num_decoder_layers: 2
max_text_length: *max_text_length
Student:
pretrained: ./output/rec_repsvtr_ch/best_accuracy
pretrained: ./json/rec_repsvtr_ch/best_accuracy
freeze_params: false
return_all_feats: true
model_type: rec

@ -4,7 +4,7 @@ Global:
epoch_num: 200
log_smooth_window: 20
print_batch_step: 10
save_model_dir: ./output/rec_svtrv2_gtc
save_model_dir: ./json/rec_svtrv2_gtc
save_epoch_step: 10
eval_batch_step: [0, 1000]
cal_metric_during_train: False
@ -18,7 +18,7 @@ Global:
infer_mode: false
use_space_char: true
distributed: true
save_res_path: ./output/rec/predicts_svrtv2.txt
save_res_path: ./json/rec/predicts_svrtv2.txt
Optimizer:

@ -4,7 +4,7 @@ Global:
epoch_num: 100
log_smooth_window: 20
print_batch_step: 10
save_model_dir: ./output/rec_svtrv2_gtc_distill_lr00002/
save_model_dir: ./json/rec_svtrv2_gtc_distill_lr00002/
save_epoch_step: 5
eval_batch_step:
- 0
@ -20,7 +20,7 @@ Global:
infer_mode: false
use_space_char: true
distributed: true
save_res_path: ./output/rec/predicts_svtrv2_gtc_distill.txt
save_res_path: ./json/rec/predicts_svtrv2_gtc_distill.txt
Optimizer:
name: AdamW
beta1: 0.9
@ -39,7 +39,7 @@ Architecture:
algorithm: Distillation
Models:
Teacher:
pretrained: ./output/rec_svtrv2_gtc/best_accuracy
pretrained: ./json/rec_svtrv2_gtc/best_accuracy
freeze_params: true
return_all_feats: true
model_type: rec
@ -74,7 +74,7 @@ Architecture:
num_decoder_layers: 2
max_text_length: *max_text_length
Student:
pretrained: ./output/rec_repsvtr_gtc/best_accuracy
pretrained: ./json/rec_repsvtr_gtc/best_accuracy
freeze_params: false
return_all_feats: true
model_type: rec

@ -4,7 +4,7 @@ Global:
epoch_num: 800
log_smooth_window: 20
print_batch_step: 10
save_model_dir: ./output/rec_mobile_pp-OCRv2
save_model_dir: ./json/rec_mobile_pp-OCRv2
save_epoch_step: 3
eval_batch_step: [0, 2000]
cal_metric_during_train: true
@ -18,7 +18,7 @@ Global:
infer_mode: false
use_space_char: true
distributed: true
save_res_path: ./output/rec/predicts_mobile_pp-OCRv2.txt
save_res_path: ./json/rec/predicts_mobile_pp-OCRv2.txt
Optimizer:

@ -4,7 +4,7 @@ Global:
epoch_num: 800
log_smooth_window: 20
print_batch_step: 10
save_model_dir: ./output/rec_pp-OCRv2_distillation
save_model_dir: ./json/rec_pp-OCRv2_distillation
save_epoch_step: 3
eval_batch_step: [0, 2000]
cal_metric_during_train: true
@ -18,7 +18,7 @@ Global:
infer_mode: false
use_space_char: true
distributed: true
save_res_path: ./output/rec/predicts_pp-OCRv2_distillation.txt
save_res_path: ./json/rec/predicts_pp-OCRv2_distillation.txt
amp_custom_black_list: ['matmul','matmul_v2','elementwise_add']

@ -4,7 +4,7 @@ Global:
epoch_num: 800
log_smooth_window: 20
print_batch_step: 10
save_model_dir: ./output/rec_mobile_pp-OCRv2_enhanced_ctc_loss
save_model_dir: ./json/rec_mobile_pp-OCRv2_enhanced_ctc_loss
save_epoch_step: 3
eval_batch_step: [0, 2000]
cal_metric_during_train: true
@ -18,7 +18,7 @@ Global:
infer_mode: false
use_space_char: true
distributed: true
save_res_path: ./output/rec/predicts_mobile_pp-OCRv2_enhanced_ctc_loss.txt
save_res_path: ./json/rec/predicts_mobile_pp-OCRv2_enhanced_ctc_loss.txt
Optimizer:

@ -3,7 +3,7 @@ Global:
epoch_num: 500
log_smooth_window: 20
print_batch_step: 10
save_model_dir: ./output/rec_chinese_common_v2.0
save_model_dir: ./json/rec_chinese_common_v2.0
save_epoch_step: 3
# evaluation is run every 5000 iterations after the 4000th iteration
eval_batch_step: [0, 2000]
@ -18,7 +18,7 @@ Global:
max_text_length: 25
infer_mode: False
use_space_char: True
save_res_path: ./output/rec/predicts_chinese_common_v2.0.txt
save_res_path: ./json/rec/predicts_chinese_common_v2.0.txt
Optimizer:

@ -3,7 +3,7 @@ Global:
epoch_num: 500
log_smooth_window: 20
print_batch_step: 10
save_model_dir: ./output/rec_chinese_lite_v2.0
save_model_dir: ./json/rec_chinese_lite_v2.0
save_epoch_step: 3
# evaluation is run every 5000 iterations after the 4000th iteration
eval_batch_step: [0, 2000]
@ -18,7 +18,7 @@ Global:
max_text_length: 25
infer_mode: False
use_space_char: True
save_res_path: ./output/rec/predicts_chinese_lite_v2.0.txt
save_res_path: ./json/rec/predicts_chinese_lite_v2.0.txt
Optimizer:

@ -201,7 +201,7 @@ class ArgsParser(ArgumentParser):
global_config["Global"]["character_dict_path"] = (
"ppocr/utils/dict/{}_dict.txt".format(lang)
)
global_config["Global"]["save_model_dir"] = "./output/rec_{}_lite".format(lang)
global_config["Global"]["save_model_dir"] = "./json/rec_{}_lite".format(lang)
global_config["Train"]["dataset"]["label_file_list"] = [
"train_data/{}_train.txt".format(lang)
]

@ -3,7 +3,7 @@ Global:
epoch_num: 500
log_smooth_window: 20
print_batch_step: 10
save_model_dir: ./output/rec_arabic_lite
save_model_dir: ./json/rec_arabic_lite
save_epoch_step: 3
eval_batch_step:
- 0

@ -3,7 +3,7 @@ Global:
epoch_num: 500
log_smooth_window: 20
print_batch_step: 10
save_model_dir: ./output/rec_cyrillic_lite
save_model_dir: ./json/rec_cyrillic_lite
save_epoch_step: 3
eval_batch_step:
- 0

@ -3,7 +3,7 @@ Global:
epoch_num: 500
log_smooth_window: 20
print_batch_step: 10
save_model_dir: ./output/rec_devanagari_lite
save_model_dir: ./json/rec_devanagari_lite
save_epoch_step: 3
eval_batch_step:
- 0

@ -3,7 +3,7 @@ Global:
epoch_num: 500
log_smooth_window: 20
print_batch_step: 10
save_model_dir: ./output/rec_en_number_lite
save_model_dir: ./json/rec_en_number_lite
save_epoch_step: 3
# evaluation is run every 5000 iterations after the 4000th iteration
eval_batch_step: [0, 2000]

@ -3,7 +3,7 @@ Global:
epoch_num: 500
log_smooth_window: 20
print_batch_step: 10
save_model_dir: ./output/rec_french_lite
save_model_dir: ./json/rec_french_lite
save_epoch_step: 3
# evaluation is run every 5000 iterations after the 4000th iteration
eval_batch_step: [0, 2000]

@ -3,7 +3,7 @@ Global:
epoch_num: 500
log_smooth_window: 20
print_batch_step: 10
save_model_dir: ./output/rec_german_lite
save_model_dir: ./json/rec_german_lite
save_epoch_step: 3
# evaluation is run every 5000 iterations after the 4000th iteration
eval_batch_step: [0, 2000]

@ -3,7 +3,7 @@ Global:
epoch_num: 500
log_smooth_window: 20
print_batch_step: 10
save_model_dir: ./output/rec_japan_lite
save_model_dir: ./json/rec_japan_lite
save_epoch_step: 3
# evaluation is run every 5000 iterations after the 4000th iteration
eval_batch_step: [0, 2000]

@ -3,7 +3,7 @@ Global:
epoch_num: 500
log_smooth_window: 20
print_batch_step: 10
save_model_dir: ./output/rec_korean_lite
save_model_dir: ./json/rec_korean_lite
save_epoch_step: 3
# evaluation is run every 5000 iterations after the 4000th iteration
eval_batch_step: [0, 2000]

@ -3,7 +3,7 @@ Global:
epoch_num: 500
log_smooth_window: 20
print_batch_step: 10
save_model_dir: ./output/rec_latin_lite
save_model_dir: ./json/rec_latin_lite
save_epoch_step: 3
eval_batch_step:
- 0

@ -3,7 +3,7 @@ Global:
epoch_num: 500
log_smooth_window: 20
print_batch_step: 10
save_model_dir: ./output/rec_multi_language_lite
save_model_dir: ./json/rec_multi_language_lite
save_epoch_step: 3
# evaluation is run every 5000 iterations after the 4000th iteration
eval_batch_step: [0, 2000]

@ -3,7 +3,7 @@ Global:
epoch_num: 240
log_smooth_window: 20
print_batch_step: 10
save_model_dir: ./output/rec/can/
save_model_dir: ./json/rec/can/
save_epoch_step: 1
# evaluation is run every 1105 iterations (1 epoch)(batch_size = 8)
eval_batch_step: [0, 1105]
@ -18,7 +18,7 @@ Global:
max_text_length: 36
infer_mode: False
use_space_char: False
save_res_path: ./output/rec/predicts_can.txt
save_res_path: ./json/rec/predicts_can.txt
Optimizer:
name: Momentum

@ -3,7 +3,7 @@ Global:
epoch_num: 8
log_smooth_window: 20
print_batch_step: 5
save_model_dir: ./output/rec/pren_new
save_model_dir: ./json/rec/pren_new
save_epoch_step: 3
# evaluation is run every 2000 iterations after the 4000th iteration
eval_batch_step: [4000, 2000]
@ -18,7 +18,7 @@ Global:
max_text_length: &max_text_length 25
infer_mode: False
use_space_char: False
save_res_path: ./output/rec/predicts_pren.txt
save_res_path: ./json/rec/predicts_pren.txt
Optimizer:
name: Adadelta

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save