YOLOv10最详细全面讲解2- 目标检测-环境搭建、训练自己的数据集

ops/2024/10/20 17:35:10/

YOLOv10没想到出来的如此之快,作为一名YOLO的爱好者,以YOLOv5和YOLOv8的经验,打算出一套从数据集装备->环境配置->训练->验证->目标追踪全系列教程。请大家多多点赞和收藏!!!
系列文章:
YOLOv10最详细全面讲解1- 目标检测-准备自己的数据集(YOLOv5,YOLOv8均适用)

本人基于YOLOv10最详细全面讲解1- 目标检测-准备自己的数据集(YOLOv5,YOLOv8均适用)继续往下进行,主要包括环境搭建、训练自己的数据集。

1.环境搭建

1.1官方下载源码

官网地址:YOLOv10 gitbub官网源码
利用魔法进入GitHub官网之后点击下载源码压缩包(这里针对小白使用download,当然也可以使用git clone命令)
在这里插入图片描述
下载之后解压放入平时存放代码的目录中:
在这里插入图片描述

2. 配置conda环境

目前官网只针对了conda环境。关于如何安装conda这里就不赘述,请各位同学自行去找相关博客学习安装。
打开Anaconda Powershell Prompt程序,我这里因为装的是miniconda,所以后面带了个miniconda3,这不重要。
在这里插入图片描述
输入命令回车:conda create -n yolov10 python=3.9
`

输入y,继续安装,出现如下信息,表示安装成功:
在这里插入图片描述

输入conda activate yolov10,切换至刚刚创建的yolov10环境
在这里插入图片描述
利用cd命令切换至第一步中下载解压后的源代码所在目录:

cd D:\projects\pycharm\yolov10
请改成你自己的文件夹目录

在这里插入图片描述
然后输入:pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/自动安装所有的依赖库tips:必须先按照上一步切换到下载解压后的源代码所在目录才行
同时会自动根据你是否有GPU自动选择pytorch版本进行按照,这里不需要自己去选择pytorch和cuda按照,非常良心
等待下载库,看个人网速问题,快的话也需要几分钟才行,慢的话可能几个小时
在这里插入图片描述
出现如下信息,则表示下载完成
在这里插入图片描述
继续输入:pip install -e . -i https://pypi.tuna.tsinghua.edu.cn/simple/安装配置环境
出现如下信息表示安装成功
在这里插入图片描述
至此!yolov10的conda虚拟环境搭建全部成功!!

2.训练自己的数据集

请先基于本人前置博客YOLOv10最详细全面讲解1- 目标检测-准备自己的数据集(YOLOv5,YOLOv8均适用)进行!!!!!

YOLOv8yolov8_44">2.1训练之前需要先去YOLOv8官网下载yolov8的预训练权重文件,不然可能训练不了

利用魔法进入yolov8官网
建议将所有yolov8的权重文件都下载下来,以免后续你训练yolov10过程中出现问题。当然也可以根据自己情况单独下载,例如:如果你只用yolov10n那么你只需要下载yolov8n的权重文件,如果你只用yolov10l那么你只需要下载yolov8l的权重文件
在这里插入图片描述
将下载的yolov8的预训练权重文件放入yolov10的文件夹中,如图:
在这里插入图片描述

YOLOv10_51">下载YOLOv10的预训练权重

进入YOLOv10官网下载预训练权重,这里以YOLOv10-N为例
在这里插入图片描述
下载之后放入yolov10代码中新建的weights目录:
在这里插入图片描述

利用命令行命令训练:

yolo detect train data=D:\\ModelsDatas\\YOLO_datasets\\data.yaml model=yolov10n.pt epochs=5 batch=4 imgsz=640 device=cpu

上述各个参数解释如下,请根据自己的情况修改。

  • yolo detect train:表示进行目标检测的训练,这几个词不需要改
  • data=coco.yaml:指定你自己的数据集yaml文件,这里需要改成我上篇文章中指出的data.yaml文件。
  • model=weights/yolov10n.pt: 指定下载的yolov10预训练权重文件,我这里指定了上述所说。
  • epochs=5:设置训练轮次,可以先设置一个5轮或者10轮,测试看看,顺利进行再设置大一点进行下一步训练。
  • batch=4:设置训练集加载批次,主要是提高训练速度,具体得看你的显卡或者内存容量。如果显存大,则可以设置大一些。或许训练再详细讲解如何设置
  • imgsz=640:设置图片长度,为640像素,这里建议不修改,也可以设置成1280或者其他,会影响训练速度和精度。
  • device=0:指定训练设备,如果没有gpu,则令device=cpu,如果有一个gpu,则令device=0,有两个则device=0,1以此类推进行设置。

自行修改上述参数,输入命令进行训练:成功运行:
在这里插入图片描述
成功运行之后就可以设置epoch=200或者500等进行真正的训练了。

当然部分小伙伴可能没有我上述过程这么顺利。如果出现各种报错,大家请在评论区提出,我会针对大家问题一一解答。我将知无不尽,为大家解惑帮助!!还请各位小伙伴多多点赞收藏,支持新人博主,你们的认可是我最大的动力!


http://www.ppmy.cn/ops/45281.html

相关文章

产品经理-原型绘制(五)

1. 概念 用线条、图形描绘出的产品框架,也称为线框图,是需求和功能的具体化表现 2. 常用工具 Axure 3. 类别 3.1 草图原型 手绘图稿,修改方便,规划的早期使用 3.2 低保真原型 简单交互,无设计图,无需…

QT截图程序,可多屏幕截图二,增加调整截图区域功能

上一篇QT截图程序,可多屏幕截图只是实现了最基本的截图功能,虽然能用但是缺点也有,没办法更改选中的区域,这在实际使用时不太方便。这篇增加了这个功能。先看看效果。 实现代码为: 头文件 #ifndef MASKWIDGET_H #de…

K8s service 进阶

文章目录 K8s service 进阶Service 工作逻辑Service 具体实现Service 资源类型ClusterIPNodePortLoadBalancerExternalName Service 与 EndpointEndpoint 与 容器探针自定义Endpoint Service 相关字段sessionAffinityexternalTrafficPolicyinternalTrafficPolicypublishNotRead…

Vue3学习使用axios和qs进行POST请求和响应处理

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、前言1.准备工作2.发送POST请求3.处理响应数据4.总结 一、前言 在前端开发中,经常需要与后端进行数据交互,其中包括发送POST请求并处理响…

四数之和-力扣

本题在三数之和的基础上&#xff0c;再增加一重循环进行解答 首先注意的点是&#xff0c;一级剪枝处理&#xff0c;target > 0 && nums[i] > target 此处只有整数才可剪枝处理&#xff0c;如果target为负数&#xff0c;nums[i] < target&#xff0c;也不能代…

redis服务监控:redis_exporter安装与使用

redis监控 使用redis exporter&#xff0c;提供redis最重要的运行指标数据收集&#xff0c;部署了redis exporter以后&#xff0c;prometheus会通过redis exporter暴露的端口拉取数据。 redis exporter下载地址&#xff1a; https://github.com/oliver006/redis_exporter/tag…

解决Error: error:0308010C:digital envelope routines::unsupported的四种解决方案

问题描述&#xff1a; 报错&#xff1a;Error: error:0308010C:digital envelope routines::unsupported 报错原因&#xff1a; 主要是因为 nodeJs V17 版本发布了 OpenSSL3.0 对算法和秘钥大小增加了更为严格的限制&#xff0c;nodeJs v17 之前版本没影响&am…

【CSharp】判断目录以及文件是否存在

【CSharp】判断目录以及文件是否存在 1.背景2.判断目录3.判断文件1.背景 我们在进行磁盘IO的时候进行需要判断目录、文件是否存在,根据判断结果再做进一步的操作。 其中判断目录是否存在,涉及Directory.Exists(String) 方法; 命名空间:System.IO 方法功能:确定给定路径是…