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

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

3天内不再提示

Flexus X 实例 ultralytics 模型 yolov10 深度学习 AI 部署与应用

jf_81200783 来源:jf_81200783 作者:jf_81200783 2024-12-24 12:24 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

前言:

���深度学习新纪元,828 B2B 企业节 Flexus X 实例特惠!想要高效训练 YOLOv10 模型,实现精准图像识别?Flexus X 以卓越算力,助您轻松驾驭大规模数据集,加速模型迭代,让 AI 智能触手可及。把握此刻,让创新不再受限!

���本实验演示从 0 到 1 部署 YOLOv10 深度学习 AI 大模型的环境搭建、模型训练、权重使用,以及各项指标解读。实验环境为 Flexus 云服务器 X 实例 服务器,配置:4vCPUs | 12GiB

环境准备

购买服务器配置

本次实验使用的是 Flexus 云服务器 X 实例 服务器。

wKgZPGdqN4aACF0MAACgmpc9Lao686.png

在性能设置中我选择了自定义模式,使用了 4vCPUs | 12GiB,因为本次要实验的是 yolov10 的部署与应用,Windows 操作系统具有更加直观的用户界面和强大的图形支持,我选择了公共镜像 Windows Server 2022 数据中心版。以上配置仅供参考,并非硬性要求!

wKgZO2dqN4eAeh8cAAFEfS3HPcg100.png

连接服务器

在华为云服务器控制台中找到我们刚刚购买的服务器,将弹性公网 IP 地址复制下来。

wKgZPGdqN4eASFNLAAEaWj5iWQA053.png

快捷键 Windows + R 打开运行窗口,输入 mstsc,回车!

wKgZO2dqN4iABtq5AABAG-DoOEI269.png

输入计算机:弹性公网 IP 地址;用户名:MicrosoftAccountAdministrator,单击“确定”。

wKgZPGdqN4iAGuIrAACY8p1tkG8604.png

然后输入密码,就成功的连接到我们的服务器了。

wKgZO2dqN4mAFcdKAAfPU8Dqy_0433.png

如果忘记密码了,可以在操作列中点击重置密码,重新设置我们的服务器密码。

wKgZPGdqN4qAZJwIAAAW4Ctw3IU649.png

安装 Python

我们先来安装 python3,打开官网地址

Download Python | Python.org

在官网下一个大于大于 3.8 的 python 安装包(官方建议使用 3.9 的版本),选择 amd64 的 exe 版本

wKgZO2dqN4qADbHWAAIeXdZedFo051.png

安装的时候勾选最底下的帮我们添加环境变量

wKgZPGdqN4uAe-kqAAFfrbGswxw814.png

等待片刻,出现下面这个界面就是安装成功了。

wKgZO2dqN4yATKlXAAE_WiG4l2Y805.png

CMD 打开控制台小黑窗,执行 python -V 和 pip -V 查看 python 版本与 pip 版本,看看我们的环境变量是否设置成功。

wKgZPGdqN4yAK5N1AAAXuY5QzQw023.png

安装 Pytorch

到官网安装 Pytorch

Start Locally | PyTorch

在安装之前看看自己买的服务器是否有 GPU,可以使用命令来查看

查看 CPU 型号:cat /proc/cpuinfo | grep "model name"

查看 GPU 型号(Nvidia GPU):nvidia-smi --query-gpu=gpu_name --format=csv

查看 GPU 型号(AMD Radeon GPU):sudo lshw -C display

因为我这台是只有 CPU 的,因此在官网中选择 Stable(稳定版),系统 Linux,用 pip 来安装吧,然后 Compute Platform 选择 CPU,然后把 Run this Command:中的命令���cmd 打开黑窗口执行。

wKgZO2dqN42AUeKdAAEeyL9T6fg279.png

我这里执行的是

pip3 install torch torchvision torchaudio 直接执行可能会很慢,我在后面加上指定镜像源,切换为国内镜像 pip3 install torch torchvision torchaudio -i https://pypi.mirrors.ustc.edu.cn/simple/

出现如下画面即是成功下载完成。

wKgZPGdqN42AeP1KAACGwYj4YG8854.png

部署 YOLOv10

YOLOv10 是 YOLO(You Only Look Once)系列的最新版本,由清华大学的研究人员开发,旨在进一步提高实时目标检测的效率和准确性。以下是对 YOLOv10 的详细介绍:

wKgZO2dqN46AaEEBAAEpnY14SCE251.png

之前的 YOLO 版本在后处理和模型架构方面仍存在不足,特别是依赖于非最大抑制(NMS)进行后处理,这限制了模型的端到端部署并增加了推理延迟。YOLOv10 通过消除 NMS 和优化模型组件,旨在解决这些问题,实现更高的性能和效率。

拉取 YOLOv10 代码并安装相关依赖

打开 YOLOV0 的 GItHub 代码库,将源码下载到本地,解压。

GitHub - THU-MIG/yolov10: YOLOv10: Real-Time End-to-End Object Detection

wKgZPGdqN4-AJl9xAAFCyhOrfQg941.png

解压完成后,打开命令行窗口,cd 到源码的工作目录,执行下面两个命令。

wKgZO2dqN4-AFFu5AAGMePeumaU870.png

wKgZPGdqN5CAGK7_AAASXmVrBiI066.png

当以上相关依赖都安装完毕后,执行以下训练命令测试我们的环境(此步骤可跳过)。

yolo detect train data=coco.yaml model=yolov10s.yaml epochs=5 batch=256 imgsz=640

第一次执行会自动下载官方提供的训练案例文件,需要等待较长时间。

wKgZO2dqN5CAQ2smAABWyEBmroI501.png

数据集准备

YOLOv10 作为实时目标检测模型,理论上支持多种类型的数据集,只要这些数据集符合 YOLOv10 的输入格式和标注要求。具体来说,YOLOv10 可以支持的数据集包括但不限于以下几种类型:

1.通用目标检测数据集:如 COCO(Common Objects in Context)数据集,这是一个大型、丰富的图像数据集,用于目标检测、分割、关键点检测等多种任务。YOLOv10 在 COCO 数据集上取得了显著的性能提升,展现出优异的精度-效率平衡能力。

2.特定领域数据集:YOLOv10 也可以应用于特定领域的数据集,如交通标志检测数据集、人脸检测数据集、车辆检测数据集等。这些数据集通常针对特定场景或任务进行收集和标注,以满足特定领域的需求。

3.自定义数据集:用户还可以根据自己的需求创建自定义数据集,并使用 YOLOv10 进行训练和测试。自定义数据集需要按照 YOLOv10 的输入格式进行标注和组织,包括图像文件、标签文件以及可能的数据集配置文件等。

通常来说,我们需要将标注结果与原图按比例分配到三个文件夹中

如你有 100 张标注了的图片,大约 80 张图片用于训练数据,约 10 张图片用于验证数据,约 10 张图片用于测试数据

train 路径用于训练模型,val 路径用于验证模型,test 路径用于测试模型。在训练和验证期间,模型将在不同的数据集上进行训练和验证,以便评估模型的性能。在测试期间,模型将使用整个数据集进行测试,以确定其性能指标

需要注意的是:训练过的图片通常不能用于验证数据。这是因为在训练期间,模型已经对这些图片进行了训练,并学会了识别这些图片中的对象和场景类别。

因为数据标注要花费大量的时间,这里直接拿出我最爱的皮卡丘标注数据

400多张“皮卡丘”原图与标注结果以及yolov8的训练结果best.pt权重和ONNX格式文件_yolov8权重转onnx资源-CSDN文库

wKgZPGdqN5GAfqwTAAAkjqH8InY414.png

在这个压缩包中有皮卡丘图片与标注信息,还有 yolov8 的训练好的权重文件,我们只留下 images 和 labels 用来训练 yolov10 版本的权重。

因为我比较懒,能用代码解决的事就用代码,下面我们使用 python 对数据集进行随机分配。

修改下面代码中 66-67 行中的

src_data_folder = '数据集路径' target_data_folder = '处理后的数据集'

wKgZO2dqN5GABQ-eAACl7fgmBxs861.png

wKgZPGdqN5KAUtX2AAEIzQAISiU383.png

wKgZO2dqN5KABjR4AAD1vuoQw_o245.png

wKgZPGdqN5OAIvepAAD7w-nQkc8642.png

wKgZO2dqN5SAUgRWAABBgU0pWOQ603.png

wKgZPGdqN5SAED-rAACHXTIwWwo154.png

因为在 yolo 训练中,我们并不需要将图片和标注结果分开存放,因此我们将 train 和 val 中的 images 和 labels 里的文件都全部移出来,然后将这两个文件夹删掉即可。

wKgZO2dqN5WAeQEPAACfI5Sw9_s513.png

要注意的是,不管是 train 还是 val 都需要检查是否包含这么一个 classes.txt 文件,如果没有的话需要自己手动补上,因为我这里的素材只有一个皮卡丘目标,并且标注为 1 了,所以只写了一个 1。

wKgZPGdqN5WALLcaAADBgAKzLO4591.png

训练数据集的配置文件

参考路径 C:yolov10-mainultralyticscfgdatasets 找到 voc.yaml,复制一份,自定义一个名字

执行完识别命令后,可在输出信息中看到识别结果文件所在位置,detectpredict(数字会自动叠加)

wKgZO2dqN5aAe8vCAABICgs81wM184.png

wKgZPGdqN5aAdlUjAAD2FbyAv8g426.png

任意打开一张图片,找出识别前的图片对比一下,皮卡丘已经被框出来了,并打上我们设置的 pkq 标签。

至此~我们就完成了 YOLOv10 目标检测模型的训练与识别工作了!整个实验操作下来,Flexus 云服务器 X 实例的表现都是非常出色的!

审核编辑 黄宇

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

    关注

    91

    文章

    41988

    浏览量

    303082
  • 深度学习
    +关注

    关注

    73

    文章

    5614

    浏览量

    124753
  • 华为云
    +关注

    关注

    3

    文章

    2837

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    瑞芯微(EASY EAI)RV1126B yolov11训练部署教程

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

    瑞芯微(EASY EAI)RV1126B yolov8训练部署教程

    1.Yolov8简介YOLOv8是ultralytics公司在2023年1月10号开源的基于YOLOV5进行更新的下一个重大更新版本,目前支
    的头像 发表于 05-09 14:44 406次阅读
    瑞芯微(EASY EAI)RV1126B <b class='flag-5'>yolov</b>8训练<b class='flag-5'>部署</b>教程

    瑞芯微(EASY EAI)RV1126B yolov5训练部署教程

    1.Yolov5简介YOLOv5模型Ultralytics公司于2020年6月9日公开发布的。YOLOv5
    的头像 发表于 05-09 14:20 389次阅读
    瑞芯微(EASY EAI)RV1126B <b class='flag-5'>yolov</b>5训练<b class='flag-5'>部署</b>教程

    【幸狐Omni3576边缘计算套件试用体验】YOLO26 板端部署

    训练模型获取等; YOLO26:目标检测、实例分割、图像分类、姿态估计、旋转框检测等; 准备工作 包括硬件连接、OpenCV 安装、Ultralytics部署、YOLO26
    发表于 04-19 22:02

    【飞凌嵌入式RV1126B开发板试用体验】+ 5. YOLOv8目标识别部署

    和测试https://bbs.elecfans.com/jishu_2512474_1_1.html 6 YOLOv8目标识别部署 6.1 模型训练 在Windows上使用Anaconda提供训练环境
    发表于 03-23 20:19

    【团购】独家全套珍藏!龙哥LabVIEW视觉深度学习实战课(11大系列课程,共5000+分钟)

    (第10系列)、YOLOv8-Tiny工业优化版(第9系列),满足产线端设备算力限制,模型推理速度提升300%。 LabVIEW生态整合 作为工业自动化领域主流开发环境,LabVIEW与深度
    发表于 12-04 09:28

    【团购】独家全套珍藏!龙哥LabVIEW视觉深度学习实战课程(11大系列课程,共5000+分钟)

    (第10系列)、YOLOv8-Tiny工业优化版(第9系列),满足产线端设备算力限制,模型推理速度提升300%。 LabVIEW生态整合 作为工业自动化领域主流开发环境,LabVIEW与深度
    发表于 12-03 13:50

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

    作者:AVNET 李鑫杰 一,YOLOv8介绍? YOLOv8 由 Ultralytics 于 2023 年 1 月 10 日发布,在准确性和速度方面提供了前沿的性能。
    的头像 发表于 09-24 18:32 1110次阅读
    使用ROCm™优化并<b class='flag-5'>部署</b><b class='flag-5'>YOLOv</b>8<b class='flag-5'>模型</b>

    基于瑞芯微RK3576的 yolov5训练部署教程

    1.Yolov5简介 YOLOv5 模型Ultralytics 公司于 2020 年 6 月 9 日公开发布的。YOLOv5
    的头像 发表于 09-11 16:43 3367次阅读
    基于瑞芯微RK3576的 <b class='flag-5'>yolov</b>5训练<b class='flag-5'>部署</b>教程

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

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

    这个套件让树莓派5运行几乎所有YOLO模型!Conda 与 Ultralytics

    如何在树莓派上设置YOLO计算机视觉?Conda与Ultralytics在本指南中,我们将学习如何使用Conda在树莓派上安装UltralyticsYOLO视觉套件。该套件将允许你运行Ultralytics支持的几乎所有YOLO
    的头像 发表于 07-31 11:51 6041次阅读
    这个套件让树莓派5运行几乎所有YOLO<b class='flag-5'>模型</b>!Conda 与 <b class='flag-5'>Ultralytics</b>!

    ai_cube训练模型最后部署失败是什么原因?

    ai_cube训练模型最后部署失败是什么原因?文件保存路径里也没有中文 查看AICube/AI_Cube.log,看看报什么错?
    发表于 07-30 08:15

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

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

    yolov5训练部署全链路教程

    1.Yolov5简介YOLOv5模型Ultralytics公司于2020年6月9日公开发布的。YOLOv5
    的头像 发表于 07-25 15:22 2134次阅读
    <b class='flag-5'>yolov</b>5训练<b class='flag-5'>部署</b>全链路教程

    RK3576 Yolov11训练部署教程

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