【案例共创】基于华为开发者空间NoteBook完成YOLOv5目标检测模型的深度训练

1 概述

本案例由开发者:乐知行科技有限公司提供

1.1 案例介绍

AI Notebook 是华为云在开发者空间里提供的免费在线 JupyterLab 环境,内置 GPU/NPU 算力与主流 AI 框架镜像,开箱即用。

本案例在华为开发者空间提供的 AI Notebook 环境中,使用官方镜像(YOLOV9_for_PyTorch)完成 YOLOv5 目标检测模型的深度训练。通过实际操作,你将学会如何准备数据集、安装依赖、在YOLOv5中添加NPU驱动接口,在 NPU 上高速训练、将 PyTorch 权重导出为 ONNX,并最终转换为昇腾加速卡可用的 om 模型。预计总时长 25~30 分钟。

通过实际操作,让大家深入了解如何利用 AI Notebook 完成深度学习模型训练并部署到昇腾Atlas200i DK上,使用昇腾加速板卡完成目标检测。在这个过程中,大家将学习到,在 AI Notebook 中一键拉起 GPU/NPU 环境,无需本地安装驱动;完成数据集上传、标注校验及 yaml 配置;分别使用 CPU 与 NPU 启动训练,体验 40× 的加速差异;将训练得到的 PyTorch 权重导出为 ONNX,并通过 ATC 工具转换为昇腾 om 模型;把 om 模型集成到RTRC4H智能网联微缩模型车,实现端到端推理验证。

1.2 适用对象

l  企业

l  个人开发者

l  高校学生

1.3 案例时间

本案例总时长预计40分钟。

1.4 案例流程

984e2992d1724daa935453c8ce086b91


说明:

①     领取开发者空间的AI notebook,并启动预置镜像 YOLOV9_for_PyTorch;

②     上传并解压工程包,使用 pip 补全 seaborn、tensorboard 等依赖;

③     在 AI Notebook 中上传数据集与标签,配置 mask_data.yaml;

④     执行 NPU 训练(≈30 s/epoch),完成后导出 ONNX 并转换为 om 模型;

⑤     将 om 模型回传功能包,运行演示程序完成车端推理验证。

2 AI notebook实践

2.1 AI notebook简介

面向广大开发者群体,华为开发者空间提供“零成本、零安装、零配置”的一站式 AI 开发体验。
其中AI Notebook 是基于华为云昇腾 910B NPU 的在线 JupyterLab 环境,内置 8 vCPU、32 GiB 内存、24 GB 显存的 NPU 算力,并预装 PyTorch-2.1/CANN-7.0、CUDA 11.8 及常用 AI 框架,开箱即可训练、调试、部署。

进入华为开发者空间工作台界面,点击打开云主机> AI notebook。

be2a811aa98c43698a6017fa4b6182e8

2.2 配置AI notebook

本案例中,使用华为云AI Notebook作为云上开发平台,完成代码托管、代码检查、编译构建和部署的功能。

1.       在浏览器中输入华为云网址:https://www.huaweicloud.com/进入华为云首页。

2.       在华为云的首页右上方,点击登录,在弹出的对话框中输入自己的用户名和密码。

3.       在华为云首页,依次选择工作台>我的开发工具>AI notebook,进入AI notebook页面。

ec4867f8a8dc4d05914a49dc829cbc79

a0859de16d3047f89e5bd76702aa75c8

4.       选择关联模型YOLOV9_for_pyTorch。

5.       点击立即启动即可。

2.3 部署YOLOV5环境

bec67f132e2d45cc8273bacf399b4155

2.3.1 提前准备工程包

14fa2ee7a1294308b0e4f54c0733d151

打开终端,在终端中运行以下指令下载功能包

git clone https://gitee.com/lezhixing-chongqing/yolov5-huawei-training.git

2.3.2 功能包解压,补全依赖

1.       解压功能包

2.       在终端执行以下代码下载相关依赖


pip install seaborn -i https://mirrors.ustc.edu.cn/pypi/web/simple
pip install tensorboard -i https://mirrors.ustc.edu.cn/pypi/web/simple

2.3.3 准备数据集以及验证集

首先进入功能包cd /yolov5-huawei-training/yolov5-mask-42-master

进入数据集配置路径yolov5-mask-42-master/YOLO_Mask/score

e3ada1a906604298967cdee5589cabf8

数据集配置首先进入配置文件路径yolov5-mask-42-master/data/mask_data.yaml

数据集及标签配置如下

213f61e604a14d9894067bf27b5e2050

2.3.3.1 YOLOV5本身不支持华为的NPU板卡,需要添加YOLOV5的NPU板卡接口

首先进入到YOLOv5 的工具函数yolov5-mask-42-master/utils/torch_utils.py

对这个函数进行替换def select_device(device='', batch_size=None, newline=True):

8471e65df1114e5bb9344259edc9e5b4
   

2.4 开始训练

cpu训练指令(大约20分钟每轮)
python train.py \
--data data/mask_data.yaml \
--weights yolov5s.pt \
--cfg models/yolov5s.yaml \
--epochs 100 \
--batch-size 8 \
--imgsz 640 \
--device cpu \
--workers 8 \
--cache ram

3956c18ae98a49a29c4edcfd6b0a1cb9

npu训练指令(大约30秒每轮)

python train.py \
--data data/mask_data.yaml \
--weights yolov5s.pt \
--cfg models/yolov5s.yaml \
--epochs 100 \
--batch-size 8 \
--imgsz 640 \
--device npu \
--workers 8 \
--cache ram

6a5bc9ec1a4a4cc5ba12719e3cddb729

相关产出文件

5819bf5888fc4c00b09cabcc8ee80ec6

4a3d5cb8a7e844739306af6291339229

7b8e9c19357646ea825ee9527e5469bd

训练完训练完成后得到权重文件需转换为ONNX格式来适配后期昇腾板卡加速模块

python export.py \
--weights runs/train/exp7/weights/best.pt \
--img-size 640 640 \
--device cpu \
--simplify

21ddc35f81ab444797482ee5aa84b09a

最后将我们需要的ONNX模型从AI notebook导出

2.5 车端推理与系统集成

本节补充如何把 AI Notebook 产出的 ONNX 模型真正部署到车载 Atlas 200I DK A2(以下简称「RTRC4H」),并完成端到端闭环验证。

2.5.1 RTRC4H硬件拓扑

42a91dd503fe4deca4237d6092b5d38e

奥比中光Gemini 335(感知模块)

奥比中光Gemini 335是一款高性能双目3D摄像头,它配备了Type-C和8-Pin多机同步硬件接口,支持DC 5V≥1.5A供电,平均功耗低于2.5W,具备USB 3.0 & USB 2.0的UVC相机接口,并内置IMU,提供灵活的安装方式,包括1/4-20 UNC和M3螺纹安装孔,以适应各种应用场景。

基本规格如下表:

表2-15 摄像头规格


名称最小值
适用场景室内和室外
相机原理双目视觉
基线50mm
数据接口USB3.0&USB2.0
多机同步接口8-pin接口
USB接口Type-C
相机驱动UVC

Gemini335支持Type-C和8-pin多机同步硬件接口,如下图所示:

462f8b849b6e44f2945970cea4f5eca8

摄像头接口图

Atlas 200I DK A2(决策模块)

Atlas 200I DK A2是一款基于昇腾310处理器的AI开发者套件,具备20TOPS INT8的计算能力,支持图像、视频分析和推理,适用于智能监控、机器人和无人机等应用场景。具有丰富的硬件接口,提供一键制卡和便捷的开箱样例,如启动、网络配置、远程访问和运行示例。

6c49c9d7d44f485cbf57d0c54bbc34e9

Atlas 200I DK A2

蜂鸟底盘(执行模块)

蜂鸟底盘具有小巧、便捷,更加高效、实现强量化和模块化。底盘设计中考虑了智能网联技术的集成,在转向系统上也进行了优化。

蜂鸟底盘优化了第三代的诸多缺点,在蜂鸟地盘上加装单片机、遥控模块和车辆灯光。增加了底盘转向系统。

阿克曼转向:适应车轮在转弯过程中所需的不同半径。

四轮同项:提高车辆的机动性和稳定性。

四轮异向:能够显著提高车辆的灵活性和操控性。

cde112bff35742c292f76bc838948f0a

蜂鸟底盘

1.       底盘接口

ca542d2f20f64d9e84faeee038f2e2fb

蜂鸟底盘接口与核心板

2.5.2 ONNX模型上车流程

使用我们提供的功能包中运行ATC模型转换工具把ONNX模型转换为MindSDK和AscendCL使用的OM格式

777b0d564644475c9ddb9af4a77a51c5

0ef496bddf9d4b23bad37a61342e197a

ea991f37ab6e45b1b224731361fb852a

2.5.3 RTRC4H控制流程

797418719fa0479597eeb7757b015463

2.5.4 RTRC4H性能实测

6b153240240140de8566d485ec8e21681739d7e0fc9144938fc5b1451c7bd9de

场景帧率时延 (ms)mAP@0.5备注
正常环境30 fps280.92散热片 55 ℃
强光环境30 fps320.85强光过曝,ISP Gamma 增强
沙盘 3.6 km/h25 fps350.82开启动态 ROI


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值