文章目录一、分析与选择PaddleOCR 提供 2 种服务部署方式: 一种是 PaddleServing 的部署方式, 仅使用 CPU 推理预测在 Windows 和 Linux都能进行部署. 若要使用 GPU 进行推理预测, 在 Windows 上只能使用 Docker 进行部署 (这步没有进行尝试). 在 Linux 上可以手动部署, 也可以使用 Docker 部署 (这步没有进行尝试). 另一种是 PaddleHub 的部署方式, 由于在 Windows 上设置 CUDA_VISIBLE_DEVICES=0 出现错误, 所以 PaddleHub 依旧部署到 Linux 上. 在 Linux 上使用 PaddleServing 手动部署的过程中, 程序出现意外的错误, 出现只能预测一部分图片的结果. 经过排除发现, 是 PaddleServing 的部署方式占满所有显存. 以下表格为各种系统各种配置下不同的部署方式实现情况.
其中 Success 表示成功部署, No 表示未尝试 在显存足够的情况下选择 PaddleServing 部署方式可以提高并发量, 这里仅测试就选择相对简单的 PaddleHub 进行部署. 二、PaddleHub 部署基于 Github PaddleOCR/PaddleHub 部署文档 编写. 1. GPU 环境描述GPU : 1050Ti Mobile 4G CUDA : 11.2 (Driver API Version: 11.4, Runtime API Version: 11.2) cuDNN : 8.6 2. 快速启动服务以下操作默认下载了 PaddleOCR 项目并安装了 PaddleOCR 的 GPU 运行环境. 安装教程 https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.6/doc/doc_ch/quickstart.md 注意在 PaddlePaddle 官网 去查找需要的 paddlepaddle-gpu 版本. 2.1 准备环境
2.2 下载推理模型安装服务模块前, 需要准备推理模型并放到正确路径. 默认使用的是PP-OCRv3模型, 默认模型路径为
需要注意! 此步的当前路径是在 PaddleOCR/ 下. 模型路径可在 params.py 中查看和修改. 更多模型可以从 PaddleOCR 提供的模型库 PP-OCR 下载, 也可以替换成自己训练转换好的模型. 需要注意! params.py 的路径是 PaddleOCR/deploy/hubserving/xxx/params.py . 2.3 安装服务模块! 执行命令的当前路径实在 PaddleOCR/ 下
这里我们可以只选择
2.4 启动服务启动命令:
3. 发送预测请求配置好服务端, 可使用以下命令发送预测请求, 获取预测结果: python tools/test_hubserving.py --server_url=server_url --image_dir=image_path 需要给脚本传递2个参数:
访问示例:
4. 自定义修改服务模块如果需要修改服务逻辑, 你一般需要操作以下步骤 (以修改
强烈建议修改后先直接运行
三、PaddleHub 运行结果服务端测试 客户端测试 四、对接工作通过观察代码可以了解到这样一个接口, 使用其他编程语言发送这样的一个请求即可. 其中的 headers 为 图片传输需转编码后发送 |
|