使用ROCm™优化并部署YOLOv8模型

电子说

1.4w人已加入

描述

作者:AVNET 李鑫杰

一,YOLOv8介绍?


YOLOv8 由 Ultralytics 于 2023 年 1 月 10 日发布,在准确性和速度方面提供了前沿的性能。YOLOv8 在之前 YOLO 版本的基础上进行了改进,引入了新的特性和优化,使其成为各种应用中各种目标检测

https://www.ultralytics.com/blog/a-guide-to-deep-dive-into-object-detection-in-2025

任务的理想选择。

模型

Github Repo: ultralytics/ultralytics: Ultralytics YOLO

https://github.com/ultralytics/ultralytics/tree/main

YOLOv8模型的卓越性能使其在多个领域具有广泛的应用前景,如自动驾驶与智能交通、工业制造与质量检测、安全监控与公共安全等。本文将介绍使用ROCm™在AMD® CPU、独立显卡、集成显卡上优化并部署YOLOv8模型。

二,ROCm™工具套件简介


AMD ROCm™ 是一个开放式软件栈,包含多种驱动程序、开发工具和 API,可为从底层内核到最终用户应用的 GPU 编程提供助力。ROCm™ 已针对生成式 AI 和 HPC 应用进行了优化,而且能够轻松将现有代码迁移到 ROCm™ 软件。不仅支持以卷积神经网络(CNN)为核心组件的预测式AI模型(Predictive AI),还支持以Transformer为核心组件的生成式AI模型(Generative AI)。ROCm™ 能够支持AMD的独显以及核显,能够加快AI模型部署到本地的独显以及CPU中的核显上。下表使用的图片来自于COCO数据集中的一幅图片,已经上传到github仓库中,方便读者复现。

模型

三,搭建开发环境


在本地搭建开发环境。

首先,请克隆YOLOv8-AMD-ROCm到本地:

git clone git clone https://github.com/liebedir/YOLOv8-AMD-ROCm.git cd YOLOv8-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 ~/.bashrc export HSA_OVERRIDE_GFX_VERSION=11.0.0

模型

重启计算机

安装python环境与ROCm-onnxruntime

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

模型

安装Pytorch

Previous PyTorch Versions

https://pytorch.org/get-started/previous-versions/

pip3 install torch torchvision --index-url https://download.pytorch.org/whl/rocm6.4

模型

根据之前安装的ROCm™版本安装对应的pytorch,版本向下兼容

安装ultralytics

pip install ultralytics

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

四,编写YOLOv8-AMD-ROCm推理程序


YOLOv8-AMD-ROCm

https://github.com/liebedir/YOLOv8-AMD-ROCm

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

模型

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

python yolo-onnx.py

运行结果,如下图所示:

模型

五,总结


使用AMD CPU或GPU的客户可以通过ROCm™软件栈将YOLOv8模型部署到GPU或核显硬件平台上。

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

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

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

审核编辑 黄宇

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

全部0条评论

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

×
20
完善资料,
赚取积分