0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

jf_23871869 来源:AVNET 李鑫杰 作者:AVNET 李鑫杰 2025-09-24 18:32 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

作者:AVNET 李鑫杰

一,YOLOv8介绍?


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

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

任务的理想选择。

wKgZPGjTyPKAWpFvAAGswUJ5fwE146.png

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仓库中,方便读者复现。

wKgZO2jTxneAP_RxAABce7j2LXE682.png

三,搭建开发环境


在本地搭建开发环境。

首先,请克隆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

wKgZPGjTyPKAelRAAAED6UVctzg007.png

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

wKgZO2jTyPOAfhlyAAGFMOC9uXA677.png

sudo apt update

wKgZPGjTyPOAEsjbAAFud9CGh2Q263.png

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

wKgZO2jTyPSAJHOKAACo-qwgAk8210.png

sudo apt install amdgpu-dkms

wKgZPGjTyPSAaKtjAAC4_BAVArw192.png

wKgZO2jTyPWAFSiWAAD2FRIqRKw381.png

sudo apt install python3-setuptools python3-wheel

wKgZPGjTyPaAOYyBAACCjP7rvOo308.png

sudo usermod -a -G render,video $LOGNAME # Add the current user to the render and video groupswKgZO2jTyPaAZYxlAAAziZcH1ts661.png sudo apt install rocm

wKgZPGjTyPeACPwrAALkQA-71x8280.png

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

vi ~/.bashrc export HSA_OVERRIDE_GFX_VERSION=11.0.0

wKgZO2jTyPeAIkR3AADZK4E-Wyg814.png

重启计算机

安装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/

wKgZPGjTyPiAWXluAAL7MvHn508230.png

安装Pytorch

Previous PyTorch Versions

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

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

wKgZO2jTyPiAe93FAAGpD2aVTS0680.png

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

安装ultralytics

pip install ultralytics

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

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


YOLOv8-AMD-ROCm

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

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

wKgZO2jTyG6AQoDFAAAvovLGNHw183.png

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

python yolo-onnx.py

运行结果,如下图所示:

wKgZPGjTyPmALGy6AAOYuC0HWNk317.png

五,总结


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

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

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

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

审核编辑 黄宇

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

    关注

    28

    文章

    5102

    浏览量

    134485
  • 模型
    +关注

    关注

    1

    文章

    3649

    浏览量

    51719
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    单板挑战4路YOLOv8!米尔瑞芯微RK3576开发板性能实测

    运算。使用YOLOv8模型时也是手到擒来,接下来随着步伐看看它表现如何。YOLO简介YOLO(You Only Look Once)是当前业界领先的实时目标检测算法系列,以其速度和精度的完美平衡而闻名
    发表于 09-12 17:52

    求助,关于K230部署yolov8时遇到问题求解

    使用yolov8训练出来了一个十个类别的模型并且按照要求转换成了.kmodel模型,在部署到K230时 使用yolo大作战里面的代码提示我list out of range但是我看了我
    发表于 08-12 07:26

    在K230中,如何使用AI Demo中的object_detect_yolov8n,YOLOV8多目标检测模型

    在K230的AI开发教程文档中,可以看到有源码的AI Demo,其中包括yolov8n模型,在仓库里可以看到源码 我想请问各位大佬,如何使用这个程序?如何更改程序,替换为我自己的数据集和训练后的模型
    发表于 08-07 06:48

    请问yolov8训练模型如何写双线程?

    用yolo8训练的模型做送药小车,看了yolov8的历程,可以使用,但是不知道输出时具体用的是什么通道?我看API发现,是用get_frame()获取一帧图片给AI程序使用,但是返回值
    发表于 07-30 06:23

    YOLOv8转换到kmodel时出现undefined symbol错误怎么解决?

    使用yolo v8训练视觉检测模型,使用yolov8版本为8.3.159,训练完后在windows使用ultralytics中的函数导出.pt文件为.onnx文件,然后在WSL
    发表于 07-28 06:20

    RK3576 Yolov11训练部署教程

    1.Yolo11简介YOLO11系列是YOLO家族中最先进的(SOTA)、最轻量级、最高效的模型,其表现优于其前辈。它由Ultralytics创建,该组织发布了YOLOv8,这是迄今为止最稳定
    的头像 发表于 07-25 15:22 826次阅读
    RK3576 <b class='flag-5'>Yolov</b>11训练<b class='flag-5'>部署</b>教程

    yolov8怎么在wsl中搭建呢?

    纯小白,yolov8怎么在wsl中搭建呢?一直报错且无法安装pip包
    发表于 07-11 07:37

    如何提高yolov8模型在k230上运行的帧率?

    libs.YOLO import YOLOv8 import os,sys,gc import ulab.numpy as np import image if name==\"main\"
    发表于 06-20 06:25

    YOLOv8水果检测示例代码换成640输入图像出现目标框绘制错误的原因 ?

    官网中的YOLOv8 水果检测关于图片推理的示例源代码: from libs.YOLO import YOLOv8 import os,sys,gc import ulab.numpy as np
    发表于 06-18 06:37

    labview调用yolov8/11目标检测、分割、分类

    labview使用2020版本64位编辑,调用yolov8/11的onnx模型案例。 源码: 通过网盘分享的文件:Labview_cls.zip等4个文件 链接: https
    发表于 04-21 19:37

    RV1126 yolov8训练部署教程

    本教程针对目标检测算法yolov8的训练和部署到EASY-EAI-Nano(RV1126)进行说明,而数据标注方法可以参考我们往期的文章。
    的头像 发表于 04-18 15:18 1785次阅读
    RV1126 <b class='flag-5'>yolov8</b>训练<b class='flag-5'>部署</b>教程

    RV1126 yolov8训练部署教程

    YOLOv8 是 ultralytics 公司在 2023 年 1月 10 号开源的基于YOLOV5进行更新的 下一个重大更新版本,目前支持图像分类、物体检测和实例分割任务,鉴于Yolov5的良好表现,
    的头像 发表于 04-16 14:53 1153次阅读
    RV1126 <b class='flag-5'>yolov8</b>训练<b class='flag-5'>部署</b>教程

    RK3576 Yolov11训练部署教程

    YOLO11 系列是 YOLO 家族中最先进的 (SOTA)、最轻量级、最高效的模型,其表现优于其前辈。它由 Ultralytics 创建,该组织发布了 YOLOv8,这是迄今为止最稳定、使用最广泛的 YOLO 变体。YOLO11 将延续 YOLO 系列的传奇。
    的头像 发表于 04-03 09:35 1769次阅读
    RK3576 <b class='flag-5'>Yolov</b>11训练<b class='flag-5'>部署</b>教程

    RK3576 yolov8训练部署教程

    本章展示yolov8模型的在EASY EAI Orin nano的部署过程。
    的头像 发表于 04-02 16:04 1588次阅读
    RK3576 <b class='flag-5'>yolov8</b>训练<b class='flag-5'>部署</b>教程

    请问如何在imx8mplus上部署和运行YOLOv5训练的模型

    。我在 yo tflite 中转换模型尝试在 tensorflow 脚本上运行模型,但它不起作用。 如何在 imx8mplus 上运行 YOLOv
    发表于 03-25 07:23