PaddleOCR/HubServing/GPU部署记录

补上这个记录(其它服务按装注意版本匹配即可,或参考已发布的其它类型服务部署记录及注意点文章即可)
1、采用容器部署(根据驱动版本在dockerhub官方镜像库选择, 此文档以cuda10.1示例)

sudo docker run --name ppocr -p 8868:8868 --gpus all -itd registry.baidubce.com/paddlepaddle/paddle:2.0.2-gpu-cuda10.1-cudnn7

注意:--gpus all 是表示使用所有gpu设备向容器提供计算,可单个或指定:--gpus 0,1 (具体指定请自行查询)

2、当容器初始化好后根据容器id进入上述容器

sudo docker exec -it xxx

3、进入python编译器验证paddle版本及驱动版本是否正确,无误将提示使用了哪些GPU设备号进行了技术,是否成功验证,并输出提示可以开始学习飞桨知识了(容器内已经预装python3.5、3.7、3.8,使用时指定版本号即可,或-V确认)。

python3.7
import paddle
paddle.utils.run_check()

注:有误请确认自身驱动版本与cuda,cudnn等版本是否一致,以及检查paddle版本是否正确。

nvcc -V #验证运行时cuda版本
nvidia-smi #验证驱动版本及cuda版本
nvidia-smi -L#列出gpu设备及设备号

接下来按需照搬官方文档即可

4、安装paddlehub
paddlehub 需要 python>3.6.2

pip3.7 install paddlehub==2.1.0 --upgrade -i https://pypi.tuna.tsinghua.edu.cn/simple

5、下载推理模型

安装服务模块前,需要准备推理模型并放到正确路径。默认使用的是PP-OCRv2模型,默认模型路径为(根路径为: PaddleOCR ):

检测模型:./inference/ch_PP-OCRv2_det_infer/
识别模型:./inference/ch_PP-OCRv2_rec_infer/
方向分类器:./inference/ch_ppocr_mobile_v2.0_cls_infer/

模型路径可在params.py中查看和修改。 更多模型可以从PaddleOCR提供的模型库下载,也可以替换成自己训练转换好的模型。

6、安装服务模块
PaddleOCR提供3种服务模块,根据需要安装所需模块。

# 安装检测服务模块:  
hub install deploy/hubserving/ocr_det/
# 或,安装分类服务模块:  
hub install deploy/hubserving/ocr_cls/
# 或,安装识别服务模块:  
hub install deploy/hubserving/ocr_rec/
# 或,安装检测+识别串联服务模块:  
hub install deploy/hubserving/ocr_system/

7、启动服务

使用GPU 0号卡启动串联服务(端口号官方文档默认8868):

export CUDA_VISIBLE_DEVICES=0
hub serving start -c deploy/hubserving/ocr_system/config.json

8、访问示例(不想确认环境就再开一个终端进入容器的 PaddleOCR/ 目录执行):

python3.7 tools/test_hubserving.py http://127.0.0.1:8868/predict/ocr_system ./doc/imgs/

你可能感兴趣的:(PaddleOCR/HubServing/GPU部署记录)