作者:AVNET 李鑫杰
我们在上一篇文章中介绍了ROCm+PP-OCRv5,为实现在AMD计算平台上完成复杂文档的端到端智能解析,本文基于ROCm软件栈,提供一套完整的PP-StructureV3模型部署方案。该方案是对前文PP-OCRv5部署实践的深化与扩展。
一,RapidDoc系统概述
RapidDoc 是一个专精于文档智能解析的轻量级开源框架,集成了以下核心功能模块:
- 光学字符识别(OCR)
- 文档版面分析
- 数学公式识别
- 表格结构还原
- 阅读顺序恢复
该系统基于 MinerU 架构进行二次开发,在保持高精度解析能力的同时,移除了视觉语言模型(VLM)模块,专注于构建高效稳定的端到端文档解析流水线。即使在纯 CPU 环境中,系统仍能保持流畅的推理性能。
本项目采用的核心模型均来自 PaddleOCR 的 PP-StructureV3 模型系列,包括:
- OCR 识别模块
- 版面分析模块
- 公式识别模块
- 阅读顺序模块
- 表格识别模型
所有模型均已完成 ONNX 格式转换,其跨平台特性为后续部署提供了良好基础,这也是选择 ROCm 进行适配的关键前提。
二,ROCm™工具套件简介
ROCm(Radeon Open Compute)是 AMD 推出的开源 GPU 计算平台,提供完整的软件栈支持:
- 底层驱动与运行时
- 编译器与工具链
- 上层应用加速支持
平台特性包括:
- 支持 CNN(预测式 AI)与 Transformer(生成式 AI)主流架构
- 兼容 AMD 独立显卡(Radeon Pro/RX 系列)及部分 APU 核显
- 针对高性能计算与大模型训练优化
- 对推理场景提供良好支持
项目开源地址:
https://github.com/liebedir/RapidDoc-AMD-ROCm
三,搭建开发环境
在本地搭建开发环境步骤如下:
首先,克隆 PP-StructureV3-RapidDoc-AMD-ROCm 到本地:
git clone https://github.com/liebedir/RapidDoc-AMD-ROCm.gitcd RapidDoc-AMD-ROCm
接着,安装 ROCm:
wget https://repo.radeon.com/amdgpu-install/6.4.3/ubuntu/jammy/amdgpu-install_6.4.60403-1_all.deb
图片
sudo apt install ./amdgpu-install_6.4.60403-1_all.deb
图片
sudo apt update
图片
sudo apt install "linux-headers-$(uname -r)" "linux-modules-extra-$(uname -r)"
图片
sudo apt install amdgpu-dkms
图片
图片
sudo apt install python3-setuptools python3-wheel
图片
sudo usermod -a -G render,video $LOGNAME # Add the current user to the render and video groups
图片
sudo apt install rocm
图片
设置环境变量,编辑 ~/.bashrc。注意该变量与核显架构相关,11.0.0 适用于 RDNA3 架构核显,其他架构请参考 GitHub 项目 liebedir/PP-OCRv5-AMD-ROCm:
vi ~/.bashrcexport HSA_OVERRIDE_GFX_VERSION=11.0.0
图片
完成后重启计算机。
接下来安装 Python 环境与 ROCm-onnxruntime:
conda create -n ocr-rocm python==3.10pip3 install onnxruntime-rocm -f https://repo.radeon.com/rocm/manylinux/rocm-rel-6.4.2/
图片
安装 PyTorch(请根据已安装的 ROCm 版本选择对应的 PyTorch 版本,向下兼容):
pip3 install torch torchvision --index-url https://download.pytorch.org/whl/rocm6.4
图片
安装其他依赖包:
pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple
至此,模型与环境已全部准备就绪!
四,编写Demo推理程序
运行以下命令启动推理演示:
python demo.py
运行过程及结果如下图所示。默认使用的 Provider 为 MIGraphXExecutionProvider,这也是 AMD 未来主推的 onnxruntime Provider。你也可以通过修改 Provider_config.py 中的 self.default_provider = self.had_providers[1] 切换为 ROCmExecutionProvider:
图片
测试结果如下:
图片
图片
四,总结
使用 AMD CPU 或 GPU 的用户,可以借助 ROCm 软件栈,将 RapidDoc——这一高速文档解析系统——顺利部署到 GPU 或核显硬件平台上。
如果你有更好的文章,欢迎投稿!
稿件接收邮箱:nami.liu@pasuntech.com
更多精彩内容请关注“ 算力魔方^®^ ”!
审核编辑 黄宇
-
amd
+关注
关注
25文章
5652浏览量
139077 -
gpu
+关注
关注
28文章
5110浏览量
134511
发布评论请先 登录
AMD迎头猛追Intel 全球首发7nm GPU很威风!
如何在AMD的GPU上运行TensorFlow?
AMD同时推出Instinct MI100和Radeon ROCm 4.0
AMD推出Instinct MI100和Radeon ROCm4.0
PyTorch 1.8发布,支持AMD ROCm
AMD发布基于CDNA 2架构的Instinct MI210 GPU
AMD RDNA 3/Navi 3X GPU升级
Meta开发AITemplate,大幅简化多GPU后端部署
GPU平台生态:英伟达CUDA和AMD ROCm对比分析
AMD将于今年秋季在部分RDNA 3 GPU上添加ROCm的支持
AMD 发布新的AMD ROCm 5.6开放软件平台
AMD ROCm 6.1升级MIPOpen 3.1,引入AI参数预测模型
英伟达GPU垄断局面下,开源能否成为颠覆市场的关键力量?

用ROCm部署PP-StructureV3到AMD GPU上
评论