使用ROCm将PP-OCRv5模型部署在AMD显卡上

电子说

1.4w人已加入

描述

作者:AVNET 李鑫杰

上文介绍了《一键搞定!PP-OCRv5模型转ONNX格式全攻略》,本文将使用ROCm™在AMD® CPU、独立显卡、集成显卡上优化并部署飞桨PP-OCRv5模型。

一,ROCm™ 工具套件简介

ROCm™(Radeon Open Compute)是 AMD 推出的开源软件栈,旨在为 GPU 加速计算提供全面支持。它包含驱动程序、编译器、开发工具、库函数和 API,覆盖从底层内核开发到上层应用部署的完整开发流程,广泛适用于高性能计算(HPC)、人工智能(AI)和机器学习等领域。

ROCm™ 特别针对生成式 AI 和 HPC 工作负载进行了深度优化,具备良好的生态系统兼容性和代码可移植性,能够帮助开发者快速将基于 CUDA 等平台的现有项目迁移至 AMD 平台。无论是以卷积神经网络(CNN)为核心的预测式 AI 模型(Predictive AI),还是以 Transformer 架构为主的生成式 AI 模型(Generative AI),ROCm 均提供了高效的运行支持。

此外,ROCm™ 不仅支持 AMD Radeon 独立显卡(dGPU),还兼容集成在 AMD CPU 中的核显(iGPU),使得开发者能够在多样化的硬件环境中灵活部署 AI 模型,实现本地化高效推理与训练

下表展示PP-OCRv5 Server版模型,经过ROCm™优化后,在AMD HX370上运行的性能。性能测试代码和的图片来自于开源项目:

https://github.com/liebedir/PP-OCRv5-AMD-ROCm

OCR

二,搭建ROCm™开发环境

首先,请克隆PP-OCRv5_AMD-ROCm到本地

git clone https://github.com/liebedir/PP-OCRv5-AMD-ROCm
cd PP-OCRv5-AMD-ROCm

接着,安装ROCm™:

wget 
https://repo.radeon.com/amdgpu-install/6.4.3/ubuntu/jammy/amdgpu-install_6.4.60403-1_all.deb

OCR

sudo apt install ./amdgpu-install_6.4.60403-1_all.deb

OCR

sudo apt update

OCR

sudo apt install "linux-headers-$(uname -r)" "linux-modules-extra-$(uname -r)"

OCR

sudo apt install amdgpu-dkms

OCR

OCR

sudo apt install python3-setuptools python3-wheel

OCR

sudo usermod -a -G render,video $LOGNAME # Add the current user to the render and video groups

OCR

sudo apt install rocm

OCR

然后,添加环境变量到~/.bashrc,该环境变量与核显的架构相关,11.0.0适用于RDNA3架构核显,其他架构请参考https://github.com/liebedir/PP-OCRv5-AMD-ROCm:

vi ~/.bashrcexport HSA_OVERRIDE_GFX_VERSION=11.0.0

OCR

最后,重启计算机。

完成计算机重启后,创建python虚拟环境并安装onnxruntime-rocm

conda create -n ocr-rocm python==3.10
pip3 install onnxruntime-rocm -f https://repo.radeon.com/rocm/manylinux/rocm-rel-6.4.2/

OCR

接着,[下载PP-OCRv5模型并导出为onnx格式。]

至此,模型和环境准备完成!

三,编写PP-OCRv5推理程序

PP-OCRv5-AMD-ROCm项目已将推理程序编写完成,各文件功能如下:

OCR

执行演示程序main.py,并指定模型路径和推理硬件设备

python main.py --image_dir images/paddleocr_structure.png  
--det_model_dir ../PP-OCRv5_server_det_infer/inference.onnx
--det_model_device GPU 
--rec_model_dir ../PP-OCRv5_server_rec_infer/inference.onnx
--rec_model_device GPU

运行结果,如下图所示:

OCR

四,总结

使用AMD 的开发者可以通过ROCm™软件栈将PP-OCRv5模型部署到AMD的CPU、独立显卡或核显硬件平台上。

如果你有更好的文章,欢迎投稿!

稿件接收邮箱:nami.liu@pasuntech.com

更多精彩内容请关注“ 算力魔方^®^ ”!

审核编辑 黄宇

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分