AI计算机视觉笔记十六:yolov5训练自己的数据集

简介: 本文介绍了一种利用云服务器AutoDL训练疲劳驾驶行为检测模型的方法。由于使用本地CPU训练效率低下,作者选择了性价比高的AutoDL云服务器。首先,从网络获取了2000多张疲劳驾驶行为图片并使用labelimg软件进行标注。接着,详细介绍了在云服务器上创建实例、上传数据集和YOLOv5模型、修改配置文件以及开始训练的具体步骤。整个训练过程耗时约3小时,最终生成了可用于检测的模型文件。

一般情况下,大部分人的电脑都是没有cpu的,cpu也是可以训练的,但花费的时间太长,实际200张图片,使用CPU训练300轮花了3天,本章记录使用云服务器来训练自己的数据集。

使用的云服务器是AutoDL,一直在使用,性价比还是比较高的。

AutoDL算力云 | 弹性、好用、省钱。租GPU就上AutoDL

训练疲劳驾驶行为检测

一、准备数据集

数据集可以自己拍照,也可以网上找,博主在网上找到了一份疲劳驾驶行为的图片,直接拿过来用了,共有2千多张。

image.png
准备好数据后需要数据标注,数据标注是大部分人工智能算法得以有效运行的关键环节。数据标注的过程是通过人工贴标的方式,为机器系统可供学习的样本。yolov5标注使用的是labelimg软件。

需要数据集,下方评论或@博主。标注数据是在本地电脑操作,标注后才把数据上传到云服务器训练

二、labelimg

1、激活环境

conda activate yolo
image.png

2、安装labelimg

使用pip 安装
pip install labelimg
安装后,在终端输入labelimg启动软件
image.png

3、标注

标记完成的数据请按照下面的格式进行放置,方便程序进行索引。 colo128 ├─ images │ ├─ test # 下面放测试集图片 │ ├─ train # 下面放训练集图片 │ └─ val # 下面放验证集图片 └─ labels ├─ test # 下面放测试集标签 ├─ train # 下面放训练集标签 ├─ val # 下面放验证集标签

3.1 打开图片及设置标注文件保存的目录并设置自动保存,这里需要主要选择yolo格式
image.png

3.2 开始标注,画框,标记目标的label,crtl+s保存,然后d切换到下一张继续标注,不断重复重复
image.png
标注完成后,把colo128打包压缩下,准备上传到服务器。

三、训练数据集

1、注册AutoDL

自行注册,云服务可以按时收费,也可以其他方式,自己选择。

2、创建实例

image.png
配置选择,选择的是3090,也可以其他,我比较喜欢就是直接选择好社区镜像,就给你创建好环境

image.png
创建后开启,可以通过多种方式登录,为了方便,直接使用JupyterLab
image.png

3、上传数据集和下载YOLOV5-5.0

删除环境自带的yolov5版本,然后下载yolov5-5.0版本,并上传到服务器,可以直接拖进去,并把标注好的数据也一并上传。
image.png

4、修改配置文件

博主是 基于colo128配置文件训练的,这里需要修改两个文件

修改文件一:复制yolov5-5.0/data/colo128.yaml为pilao_coco128.yaml

修改一:数据集路径
train: ../coco128/images/train2017/ # 128 images
val: ../coco128/images/train2017/ # 128 images

number of classes
修改,原本是80,修改成3
nc: 3
修改二:class names即标注的类,数据集标注了3类,所以修改成3类,colo128是80类
class names
names: [ 'closed_eye','closed_mouth','open_eye']
修改文件二:复制yolov5-5.0/models/yolov5s.yaml为pilao_yolov5s.yaml

注意不一定是yolov5s.yaml,这是训练时参考的模型,可以是其他的,自行了解

parameters
修改,原本是80,修改成3
nc: 3 # number of classes
depth_multiple: 0.33 # model depth multiple
width_multiple: 0.50 # layer channel multiple

5、训练

python train.py --img 640 --batch 16 --epochs 300 --data ./data/pilao_coco128.yaml --cfg ./models/pilao_yolov5s.yaml

image.png
看到进度,已经在运行了,训练了大概3个多小时。

最后可以在runs/train/expX/weights目录下看到生成了两个pt文件

image.png

6、测试

python detect.py --source data/images/zidane.jpg --weights runs/train/exp2/weights/best.pt
路径自行修改。

相关文章
|
2天前
|
人工智能 物联网
如何将Together AI上基于Qwen2-7B训练的模型部署到ModelScope平台
如何将Together AI上基于Qwen2-7B训练的模型部署到ModelScope平台
35 10
|
2天前
|
机器学习/深度学习 存储 人工智能
【科普向】我们所说的AI模型训练到底在训练什么?
人工智能(AI)模型训练类似于厨师通过反复实践来掌握烹饪技巧。它通过大量数据输入,自动优化内部参数(如神经网络中的权重和偏置),以最小化预测误差或损失函数,使模型在面对新数据时更加准确。训练过程包括前向传播、计算损失、反向传播和更新权重等步骤,最终生成权重文件保存模型参数,用于后续的应用和部署。理解生物神经网络的工作原理为人工神经网络的设计提供了灵感,后者广泛应用于图像识别、自然语言处理等领域。
|
1月前
|
机器学习/深度学习 存储 人工智能
【AI系统】训练后量化与部署
本文详细介绍了训练后量化技术,涵盖动态和静态量化方法,旨在将模型权重和激活从浮点数转换为整数,以优化模型大小和推理速度。通过KL散度等校准方法和量化粒度控制,文章探讨了如何平衡模型精度与性能,同时提供了端侧量化推理部署的具体实现步骤和技术技巧。
47 1
【AI系统】训练后量化与部署
|
10天前
|
人工智能 智能硬件
SPAR:智谱 AI 推出自我博弈训练框架,基于生成者和完善者两个角色的互动,提升了执行准确度和自我完善能力
SPAR 是智谱团队推出的自我博弈训练框架,旨在提升大型语言模型在指令遵循方面的能力,通过生成者和完善者的互动以及树搜索技术优化模型响应。
25 0
SPAR:智谱 AI 推出自我博弈训练框架,基于生成者和完善者两个角色的互动,提升了执行准确度和自我完善能力
|
13天前
|
人工智能 自然语言处理 搜索推荐
Open Notebook:开源 AI 笔记工具,支持多种文件格式,自动转播客和生成总结,集成搜索引擎等功能
Open Notebook 是一款开源的 AI 笔记工具,支持多格式笔记管理,并能自动将笔记转换为博客或播客,适用于学术研究、教育、企业知识管理等多个场景。
75 0
Open Notebook:开源 AI 笔记工具,支持多种文件格式,自动转播客和生成总结,集成搜索引擎等功能
|
30天前
|
人工智能 PyTorch 测试技术
【AI系统】并行训练基本介绍
分布式训练通过将任务分配至多个节点,显著提升模型训练效率与精度。本文聚焦PyTorch2.0中的分布式训练技术,涵盖数据并行、模型并行及混合并行等策略,以及DDP、RPC等核心组件的应用,旨在帮助开发者针对不同场景选择最合适的训练方式,实现高效的大模型训练。
62 8
|
8月前
|
机器学习/深度学习 计算机视觉
AIGC核心技术——计算机视觉(CV)预训练大模型
【1月更文挑战第13天】AIGC核心技术——计算机视觉(CV)预训练大模型
680 3
AIGC核心技术——计算机视觉(CV)预训练大模型
|
机器学习/深度学习 PyTorch 算法框架/工具
Azure 机器学习 - 使用 ONNX 对来自 AutoML 的计算机视觉模型进行预测
Azure 机器学习 - 使用 ONNX 对来自 AutoML 的计算机视觉模型进行预测
140 0
|
4月前
|
人工智能 测试技术 API
AI计算机视觉笔记二十 九:yolov10竹签模型,自动数竹签
本文介绍了如何在AutoDL平台上搭建YOLOv10环境并进行竹签检测与计数。首先从官网下载YOLOv10源码并创建虚拟环境,安装依赖库。接着通过官方模型测试环境是否正常工作。然后下载自定义数据集并配置`mycoco128.yaml`文件,使用`yolo detect train`命令或Python代码进行训练。最后,通过命令行或API调用测试训练结果,并展示竹签计数功能。如需转载,请注明原文出处。
|
4月前
|
人工智能 测试技术 PyTorch
AI计算机视觉笔记二十四:YOLOP 训练+测试+模型评估
本文介绍了通过正点原子的ATK-3568了解并实现YOLOP(You Only Look Once for Panoptic Driving Perception)的过程,包括训练、测试、转换为ONNX格式及在ONNX Runtime上的部署。YOLOP由华中科技大学团队于2021年发布,可在Jetson TX2上达到23FPS,实现了目标检测、可行驶区域分割和车道线检测的多任务学习。文章详细记录了环境搭建、训练数据准备、模型转换和测试等步骤,并解决了ONNX转换过程中的问题。
下一篇
开通oss服务