PaddleOCR自训练模型发布
本文档采用的发布方式为paddlehub serving
将训练模型(checkpoints模型)转化为推理模型(inference模型)
# 将文字检测训练模型转化为推理模型
python3 tools/export_model.py -c configs/det/det_mv3_db_icdar2019_v1.1.yml -o Global.checkpoints="/data11/shaozhl/workspace/PaddleOCR/output/det_db_icdar2019/best_accuracy" Global.save_inference_dir="./inference/shaozhl_db_det_v1.1_infer/"
# 将文字识别训练模型转化为推理模型
python3 tools/export_model.py -c configs/rec/rec_baidu_train.yml -o Global.checkpoints="/data11/shaozhl/workspace/PaddleOCR/output/rec_baidu_CRNN/best_accuracy" Global.save_inference_dir="./inference/shaozhl_crnn_rec_v1.1_infer/"
PS
- save_inference_dir为推理模型保存的位置,也可以在yml文件里面进行配置
- PaddleOCR两个模型训练都会保存三个best_accuracy模型文件,转化是只要指定best_accuracy就可以了
此时模型保存在了inference文件夹下
推理模型转化为服务模型(Serving模型)
python tools/inference_to_serving.py --model_dir ./inference/shaozhl_db_det_v1.1_infer
python tools/inference_to_serving.py --model_dir ./inference/shaozhl_crnn_rec_v1.1_infer
这样推理模型文件下会生成两个文件夹
快速启动服务
hubserving服务部署目录下包括检测、识别、2阶段串联三种服务包,请根据需求选择相应的服务包进行安装和启动。目录结构如下:
deploy/hubserving/
└─ ocr_det 检测模块服务包
└─ ocr_rec 识别模块服务包
└─ ocr_system 检测+识别串联服务包
└─ shao_ocr_system 自定义检测+识别串联服务包(复制上面的ocr_system,并修改confi.json的ocr_system为shao_ocr_system)
每个服务包下包含3个文件。以2阶段串联服务包为例,目录如下:
deploy/hubserving/shao_ocr_system/
└─ __init__.py 空文件,必选
└─ config.json 配置文件,可选,使用配置启动服务时作为参数传入
└─ module.py 主模块,必选,包含服务的完整逻辑
└─ params.py 参数文件,必选,包含模型路径、前后处理参数等参数
config.json如下:
{
"modules_info": {
"shao_ocr_system": {
"init_args": {
"version": &#