v1.3.0 Preview 1 — Linux ONNX Runtime & OpenVINO HTTP Service
Pre-releasev1.3.0 Preview Release Notes
lw.PPOCR.Inference v1.3.0 正式增加 Linux ONNX Runtime 和 Linux OpenVINO 两套独立部署包。
两个版本均面向 Ubuntu 20.04 x86_64,包含完整 OCR、只识别接口、HTTP 服务、浏览器测试页面、PP-OCRv6 tiny 模型、API Key、systemd 服务脚本和完整校验文件。部署包解压后即可验证和启动,不需要下载仓库源码。
新增内容
- 新增 Linux ONNX Runtime CPU/CUDA 推理后端
- 新增 Linux OpenVINO CPU 推理后端
- 支持完整 OCR:文字检测、方向分类和文字识别
- 支持单张及批量“只识别”接口
- 提供 JSON + Base64 HTTP API
- 提供浏览器测试页面,可在原图绘制识别区域并显示各阶段耗时
- 支持可选的
X-API-Key请求认证 - 支持安装为 Linux systemd 服务
- 启动时输出作者、运行参数和请求参数信息
- 部署包包含模型、网页、配置、运行库、许可证和 SHA-256 校验文件
- 保持 C ABI v1 兼容,不改变已有公共结构体和后端枚举值
下载文件
ONNX Runtime CPU/CUDA
lw.PPOCR.Inference-v1.3.0-linux-x64-onnxruntime-cpu.tar.gz
lw.PPOCR.Inference-v1.3.0-linux-x64-onnxruntime-cpu.tar.gz.sha256
默认使用官方 ONNX Runtime 1.26.0 CPU Runtime,可直接进行 CPU 推理。
支持以下设备配置:
{"device":"cpu"}{"device":"cuda"}{"device":"auto"}cpu:强制使用 CPUcuda:强制使用 NVIDIA CUDA,初始化失败时直接报错auto:优先尝试 CUDA,不可用时回退 CPU
发布附件不包含 CUDA、cuDNN 和 NVIDIA 驱动。启用 GPU 时,需要安装兼容的 NVIDIA 环境,并使用官方相同版本、相同 CUDA 系列的 ONNX Runtime GPU 包替换完整的 libonnxruntime*.so* 文件集合。
不要只替换单个 libonnxruntime.so,也不要混用不同 ONNX Runtime 版本或 CUDA 12/CUDA 13 文件。
OpenVINO CPU
lw.PPOCR.Inference-v1.3.0-linux-x64-openvino-cpu.tar.gz
lw.PPOCR.Inference-v1.3.0-linux-x64-openvino-cpu.tar.gz.sha256
使用官方 OpenVINO 2025.2.0 Ubuntu 20.04 Runtime,部署包已经包含:
- OpenVINO Runtime
- OpenVINO CPU Plugin
- ONNX Frontend
- oneTBB 与 hwloc
- OCR 所需的最小 OpenCV 共享库
目标机器不需要另外安装 OpenVINO SDK。
当前版本只开放 CPU:
{"device":"CPU"}OpenVINO GPU 暂未纳入本次稳定发布。
快速启动
下载对应的 .tar.gz 和 .sha256 文件后执行:
sha256sum -c 文件名.tar.gz.sha256
tar -xzf 文件名.tar.gz
cd 解压后的目录
sudo ./install-deps-ubuntu.sh
./verify-linux-package.sh
./run-http-service.sh浏览器访问:
http://127.0.0.1:8787/
请使用 run-http-service.sh 启动。该脚本会自动设置部署包私有共享库所需的 LD_LIBRARY_PATH。
如果文件曾在 Windows 上解压后再上传到 Linux,脚本执行权限可能丢失,可执行:
chmod +x *.shHTTP API
完整 OCR:
POST /api/ocr
请求:
{
"image_base64": "..."
}只识别已裁剪文字区域:
POST /api/recognize
单张请求:
{
"image_base64": "..."
}批量请求:
{
"images_base64": ["...", "..."]
}健康检查:
GET /health
API Key
默认未启用 API Key,仅监听本机:
{
"listen_host": "127.0.0.1",
"api_key": ""
}局域网部署建议修改为:
{
"listen_host": "0.0.0.0",
"api_key": "请替换为足够长的随机密钥"
}客户端通过请求头传递:
X-API-Key: 请替换为足够长的随机密钥
不建议将未配置 API Key 的服务直接暴露到公网。
systemd 服务
完成验证和配置后执行:
sudo ./install-systemd.sh
systemctl status lw-ppocr-http.service
journalctl -u lw-ppocr-http.service -f验证状态
- Linux ONNX Runtime CPU:CI 构建通过
- Linux ONNX Runtime CPU:Ubuntu 20.04 虚拟机验证通过
- Linux OpenVINO CPU:CI 构建通过
- Linux OpenVINO CPU:Ubuntu 20.04 虚拟机验证通过
- 完整 OCR:验证通过
- 单张及批量只识别:验证通过
- HTTP 服务和浏览器测试页面:验证通过
- 包内 SHA-256、ELF 依赖和真实模型自检:验证通过
升级说明
v1.2.0 Linux OpenCV DNN 用户可以继续使用原有部署包。
ONNX Runtime、OpenVINO 和 OpenCV DNN 使用相同的公共 C ABI 与 HTTP API,但各自的私有共享库不同。首次切换后端时,请下载对应的完整部署包,不建议只复制某个 Runtime .so 到旧目录。