耗时一礼拜阅读完文档摸索出一条PaddleOCR最简单快速部署,并能通过api调用的方法。总结如下:
1 环境准备
- Lunix系统
- 有显卡(我的是RTX4080),并且安装对应驱动
- 提前安装了Docker
2 通过镜像拉取环境
- 安装含有高性能推理依赖的 PaddleX 官方 Docker 镜像
这里推荐CUDA11.8的版本,全部依赖都是齐全的,而且不会有冲突。安装方法如下:命令参考网站
bash1 2 3 4 5 6 7 8 9 10 11 12
| # 1.拉取官方GPU镜像(以网站最新版本为准) docker pull ccr-2vdh3abv-pub.cnc.bj.baidubce.com/paddlex/paddlex:paddlex3.0.1-paddlepaddle3.0.0-gpu-cuda11.8-cudnn8.9-trt8.6
# 2.创建容器运行目录 mkdir puddlex cd puddlex
# 3.运行容器 docker run --gpus all --name paddle-hpi -v $PWD:/paddle --shm-size=16G --network=host -it ccr-2vdh3abv-pub.cnc.bj.baidubce.com/paddlex/paddlex:paddlex3.0.1-paddlepaddle3.0.0-gpu-cuda11.8-cudnn8.9-trt8.6 /bin/bash
# 默认直接进入容器内部了,后续退出想再次进入使用 docker attach paddle-hpi
|
- 进入容器内部安装 PaddleOCR
bash1 2 3 4 5
| # 1.安装PaddlePaddle python -m pip install paddlepaddle-gpu==3.0.0 -i https://www.paddlepaddle.org.cn/packages/stable/cu118/
# 2.安装paddleocr pip install paddleocr
|
- 验证安装
采用github上的命令,简单直接:
bash1 2 3 4 5 6 7 8 9 10 11
| # 运行 PP-OCRv5 推理 paddleocr ocr -i https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/general_ocr_002.png --use_doc_orientation_classify False --use_doc_unwarping False --use_textline_orientation False
# 运行 PP-StructureV3 推理 paddleocr pp_structurev3 -i https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/pp_structure_v3_demo.png --use_doc_orientation_classify False --use_doc_unwarping False
# 运行 PP-ChatOCRv4 推理前,需要先获得千帆API Key paddleocr pp_chatocrv4_doc -i https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/vehicle_certificate-1.png -k 驾驶室准乘人数 --qianfan_api_key your_api_key --use_doc_orientation_classify False --use_doc_unwarping False
# 查看 "paddleocr ocr" 详细参数 paddleocr ocr --help
|
3 开启服务
3.1 简单服务化部署
- 安装服务化部署插件
bash1
| paddlex --install serving
|
- 运行服务器
bash1 2 3 4 5
| # OCR产线 paddlex --serve --pipeline OCR --port 8080
# PP-StructureV3 paddlex --serve --pipeline PP-StructureV3 --port 8080
|
3.2 启用高性能推理
- 安装高性能推理插件
bash1
| paddlex --install hpi-gpu
|
- 运行服务器
bash1 2 3 4 5
| # OCR产线 paddlex --serve --pipeline OCR --port 8080 --hpi_config
# PP-StructureV3 paddlex --serve --pipeline PP-StructureV3 --port 8080 --hpi_config
|
3.3 同时启动多个服务
- 安装screen
bash1 2
| apt-get update apt-get install -y screen
|
- 通过screen会话运行服务器
bash1 2 3 4 5
| # OCR产线 screen -S ocr -d paddlex --serve --pipeline OCR --port 8080 --hpi_config
# PP-StructureV3 screen -S structure -d paddlex --serve --pipeline PP-StructureV3 --port 8080 --hpi_config
|
- 管理screen会话
bash1 2 3 4 5
| # 查看正在运行的会话 screen -ls
# 进入某个容器(使用Ctrl+D,然后按A退出) screen -r ocr/structure
|
4 API文档
详见对应文档 -> 开发集成/部署 -> API参考
欢迎评论!