intro
PaddleOCR提供2种服务部署方式:
- 基于PaddleHub Serving的部署:代码路径为"
PaddleOCR/deploy/hubservingg
" 已集成到PaddleOCR中(code) - 基于PaddleServing的部署:代码路径为"
./deploy/pdserving
" 详见PaddleServing官网demo, 尚未集成到PaddleOCR。
我们这里用的就是第一种HubServing啦~
当前用户在训练出一个可用的模型后,可以选择如下四种部署应用方式:
- 服务器端高性能部署:将模型部署在服务器上,利用服务器的高性能帮助用户处理推理业务
- 模型服务化部署:将模型以线上服务的形式部署在服务器或云端,用户通过客户端请求发送需要推理的输入内容,服务器或者云通过相应报文将推理结果返回给用户(paddle serving)
- 移动端部署:将模型部署在移动端上,例如手机/物联网的嵌入式端
- Web端部署:将模型部署在网页上,用户通过网页完成推理业务
Paddle Serving作为paddlepaddle开源的在线服务框架
服务部署下包括 检测、识别、检测+识别串联 三种服务包,根据需求选择相应的服务包进行安装和启动
deploy/hubserving/
└─ ocr_det 检测模块服务包
└─ ocr_rec 识别模块服务包
└─ ocr_system 检测+识别串联服务包 <==== 我们直接这个,包括先检测然后识别
每个服务包下包含3个文件。以检测+识别串联 目录为例,目录如下:
deploy/hubserving/ocr_system/
└─ __init__.py 空文件,必选
└─ config.json 配置文件,可选,使用配置启动服务时作为参数传入
└─module.py 主模块,必选,包含服务的完整逻辑
└─params.py 参数文件,必选,包含模型路径、前后处理参数等参数