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
    +关注

    关注

    89

    文章

    38114

    浏览量

    296659
  • 深度学习
    +关注

    关注

    73

    文章

    5590

    浏览量

    123907
  • 华为云
    +关注

    关注

    3

    文章

    2805

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

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

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

    yolov5训练部署全链路教程

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

    【幸狐Omni3576边缘计算套件试用体验】幸狐Omni3576开发板移植YOLOV10和推理测试

    、量化精度分析以及模型加密。RKNN 软件栈可以帮助用户快速的将 AI 模型部署到 Rockchip 芯片。整体的框架如下: 为了使用 RKNPU,首先需要在计算机(最新的Kit支持
    发表于 05-24 12:27

    RV1126 yolov8训练部署教程

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

    华为云 Flexus X 实例云服务器部署即时通讯 IM 项目

    @TOC   写在前面 手里拿到了一台 华为云 Flexus X 实例 的云服务器,部署部署项目试试看看性能怎么样。正当华为云 828 上云
    的头像 发表于 02-07 10:15 693次阅读
    华为云 <b class='flag-5'>Flexus</b> <b class='flag-5'>X</b> <b class='flag-5'>实例</b>云服务器<b class='flag-5'>部署</b>即时通讯 IM 项目

    云服务器 Flexus X 实例:one-api 部署,支持众多大模型

    本文通过 Flexus 云服务器 X 实例 部署 one-api。Flexus 云服务器 X
    的头像 发表于 02-06 17:35 1182次阅读
    云服务器 <b class='flag-5'>Flexus</b> <b class='flag-5'>X</b> <b class='flag-5'>实例</b>:one-api <b class='flag-5'>部署</b>,支持众多大<b class='flag-5'>模型</b>

    Flexus 云服务器 X 实例实践:部署思源笔记工具

    云服务器,它为各种应用的部署提供了坚实的基础,就如我们即将探讨的思源笔记工具的部署一样。 一、Flexus 云服务器 X 实例介绍 1.1
    的头像 发表于 02-06 15:37 1019次阅读
    <b class='flag-5'>Flexus</b> 云服务器 <b class='flag-5'>X</b> <b class='flag-5'>实例</b>实践:<b class='flag-5'>部署</b>思源笔记工具

    【ELF 2学习板试用】ELF2开发板(飞凌嵌入式)搭建深度学习环境部署(RKNN环境部署

    用户部署使用 RKNN Toolkit2导出的 RKNN 模型,从而加速 AI 应用的落地。 RKNPU2 的架构设计目标是优化深度学习
    发表于 02-04 14:15

    使用 sysbench 对 Flexus X 实例对 mysql 进行性能测评

    计算能力的需求而设计。该实例不仅具备卓越的硬件性能,还深度集成了对 MySQL 等数据库的优化支持,为用户提供了卓越的数据库应用体验。官网如下: Flexus云服务器X
    的头像 发表于 01-17 09:18 950次阅读
    使用 sysbench 对 <b class='flag-5'>Flexus</b> <b class='flag-5'>X</b> <b class='flag-5'>实例</b>对 mysql 进行性能测评

    Flexus 云服务器 X 实例实践:部署 Alist 文件列表程序

    引言 在当今数字化时代,华为云以其卓越的技术实力和可靠的服务品质成为众多企业和开发者的首选。华为云 Flexus 云服务器 X 实例作为新一代柔性算力云服务器,为我们部署 Alist
    的头像 发表于 01-14 09:31 1444次阅读
    <b class='flag-5'>Flexus</b> 云服务器 <b class='flag-5'>X</b> <b class='flag-5'>实例</b>实践:<b class='flag-5'>部署</b> Alist 文件列表程序

    云服务器 Flexus X 实例:RAG 开源项目 FastGPT 部署,玩转大模型

    本篇文章主要通过 Flexus 云服务器 X 实例 部署 RAG 开源项目 FastGPT,通过 FastGPT 可以使用大模型生成用户需要
    的头像 发表于 01-08 11:49 1975次阅读
    云服务器 <b class='flag-5'>Flexus</b> <b class='flag-5'>X</b> <b class='flag-5'>实例</b>:RAG 开源项目 FastGPT <b class='flag-5'>部署</b>,玩转大<b class='flag-5'>模型</b>

    华为云 Flexus 云服务器 X 实例之 openEuler 系统下部署 Joplin 笔记工具

    前言 作为 IT 技术人员,在工作与学习中,云服务器的使用频率极高。华为云 Flexus 云服务器 X 实例便是一款性能卓越且性价比高的云服务器之选。将 Joplin 笔记
    的头像 发表于 01-08 11:39 1017次阅读
    华为云 <b class='flag-5'>Flexus</b> 云服务器 <b class='flag-5'>X</b> <b class='flag-5'>实例</b>之 openEuler 系统下<b class='flag-5'>部署</b> Joplin 笔记工具

    华为云 Flexus X 实例部署安装 Jupyter Notebook,学习 AI,机器学习算法

    前言 由于本人最近在学习一些机器算法,AI 算法的知识,需要搭建一个学习环境,所以就在最近购买的华为云 Flexus X
    的头像 发表于 01-02 13:43 865次阅读
    华为云 <b class='flag-5'>Flexus</b> <b class='flag-5'>X</b> <b class='flag-5'>实例</b><b class='flag-5'>部署</b>安装 Jupyter Notebook,<b class='flag-5'>学习</b> <b class='flag-5'>AI</b>,机器<b class='flag-5'>学习</b>算法

    采用华为云 Flexus 云服务器 X 实例部署 YOLOv3 算法完成目标检测

    一、前言 1.1 开发需求 这篇文章讲解: 采用华为云最新推出的 Flexus 云服务器 X 实例部署 YOLOv3 算法,完成图像分析、目
    的头像 发表于 01-02 12:00 1026次阅读
    采用华为云 <b class='flag-5'>Flexus</b> 云服务器 <b class='flag-5'>X</b> <b class='flag-5'>实例</b><b class='flag-5'>部署</b> <b class='flag-5'>YOLOv</b>3 算法完成目标检测

    基于 Flexus 云服务器 X 实例体验大模型部署体验测评

    也很快。但是大家目前都是在体验,能不能部署一下试试呢? 今天,我们就以华为云 Flexus 云服务器 X 实例部署一下,顺便测测其性能看看
    的头像 发表于 12-24 12:27 754次阅读
    基于 <b class='flag-5'>Flexus</b> 云服务器 <b class='flag-5'>X</b> <b class='flag-5'>实例</b>体验大<b class='flag-5'>模型</b><b class='flag-5'>部署</b>体验测评