当前位置: 首页 > 资讯中心 > 游戏攻略 > 华为云社区分享:昇腾 CANN YOLOV8 和 YOLOV9 适配

华为云社区分享:昇腾 CANN YOLOV8 和 YOLOV9 适配

来源:网络作者:提莫时间:2024-04-11 16:12:19
分享到:
标签:
华为昇腾 CANN YOLOV8 推理示例 C++样例 , 是基于Ascend CANN Samples官方示例中的sampleYOLOV7进行的YOLOV8适配。

本文分享自华为云社区《昇腾 CANN YOLOV8 和 YOLOV9 适配》,作者:jackwangcumt。

1 概述

华为昇腾 CANN YOLOV8 推理示例 C++样例,是基于Ascend CANN Samples官方示例中的sampleYOLOV7进行的YOLOV8适配。YOLOV7模型输出的数据大小为[1,25200,85],而YOLOV8模型输出的数据大小为[1,84,8400],因此需要对sampleYOLOV7中的后处理部分进行修改,以适配YOLOV8/YOLOV9模型。为满足项目研发需求,公司购置了一台Atlas 500 Pro智能边缘服务器,安装的操作系统为Ubuntu 20.04 LTS Server,按照官方说明文档安装了Ascend-cann-toolkit_7.0.RC1_linux-aarch64.run等软件。具体安装步骤可参考另一篇博文【Atlas 500 Pro 智能边缘服务器推理环境搭建】。

2 YOLOV8模型准备

在进行YOLOV8模型适配工作之前,首先需要获取YOLOV8的模型文件。以官方的YOLOV8n.pt模型为例,在Windows操作系统上可以安装YOLOV8环境,并执行如下python脚本(pth2onnx.py)将.pt模型转换成.onnx模型。具体的YOLOV8环境搭建步骤可参考https://github.com/ultralytics/ultralytics。转换成功后,将生成yolov8n.onnx模型。从输出信息中得知,yolov8n.pt原始模型的输出尺寸为(1, 3, 640, 640),格式为BCHW,输出尺寸为(1, 84, 8400)。安装netron后,可执行命令打开yolov8n.onnx模型进行Web网络结构查看。

转化后的yolov8n.onnx模型输入的节点名称为images,输入张量的大小为[1,3,640,640]。将yolov8n.onnx模型上传到Atlas 500 Pro服务器上,执行命令进行模型转换。

3 适配代码

根据官网sampleYOLOV7示例适配的YOLOV8示例,代码已经开源,地址为https://gitee.com/cumt/ascend-yolov8-sample。核心代码sampleYOLOV8.cpp中的后处理方法GetResult为...

4 编译运行

下载开源代码,上传服务器并解压,然后执行命令进行代码编译。

执行成功后,控制台打印如下信息:

5 总结

YOLO各系列的适配过程大部分都是处理输入格式和输出格式的变换。参考YOLOV7,可以进行YOLOV8模型的适配。目前YOLOV9和YOLOV8模型输出格式一致,因此,只需要进行yolov9xx.om模型的生成工作即可。yolov9-c-converted.pt模型转换如下:在Windows操作系统上可以安装YOLOV9环境,并执行如下python脚本将.pt模型转化成.onnx模型...

点击关注,第一时间了解华为云新鲜技术~

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。

相关阅读

装机必备软件
  • 下载总排行
  • 下载月排行

1高德地图2021

新闻资讯

2大众点评

聊天社交

3迅雷

壁纸主题

4一波语音

聊天社交

5知乎

摄影摄像

6映客

学习教育

7花小猪打车

学习教育

8哈啰出行最新版

聊天社交

9qq邮箱

摄影摄像

10生辰

生活健康