yolov5训练自己的(自定义)数据集

部署运行你感兴趣的模型镜像

第一步下载anaconda配置python的虚拟环境

        下载完以后,选择安装路径,点下一步,一下步完成安装

然后点开始菜单中的Anaconda Powershell Prompt启动anacoda

更改数据源为国内源

conda config --set show_channel_urls yes
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --append channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/fastai/
conda config --append channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda config --append channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
pip config set global.timeout 6000
python -m pip install --upgrade pip

创建虚拟环境

conda create -n yolo python==3.10

git clone https://github.com/ultralytics/yolov5.git
cd yolov5
pip install -r requirements.txt

第二步:准备自定义数据集

        2.1 数据集标注

首先,需要对你的数据进行标注。常用的标注工具有LabelImg

https://github.com/tzutalin/labelImg

        在标注过程中,每张图片上的目标对象都需要被标注为一个边界框,并对应一个类别标签。

YOLOv5使用的是COCO格式或YOLO格式的标注文件。YOLO格式的每个标注文件都是一个与图片同名的`.txt`文件,格式如下:

```
class_id x_center y_center width height
```

其中:
- `<class_id>` 是目标类别的编号。
- `<x_center>` 和 `<y_center>` 是边界框中心点相对于图片宽高的归一化坐标(值在0到1之间)。
- `<width>` 和 `<height>` 是边界框的宽度和高度,相对于图片宽高的归一化值。

2.2 数据集结构

将标注好的数据按照以下结构组织:

```
/path/to/dataset
    /images
        /train
            image1.jpg
            image2.jpg
            ...
        /val
            image1.jpg
            image2.jpg
            ...
    /labels
        /train
            image1.txt
            image2.txt
            ...
        /val
            image1.txt
            image2.txt
            ...
```

第三步. 配置YOLOv5训练

 3.1 修改配置文件

在`data`文件夹中创建一个新的`.yaml`配置文件,例如`my_dataset.yaml`:
train: /path/to/dataset/images/train
val: /path/to/dataset/images/val

nc: 2  # 类别数量
names: ['class1', 'class2']  # 类别名称

3.2 模型选择

在`models`文件夹中选择一个适合你任务的模型配置文件(例如`yolov5s.yaml`),可以根据需要进行调整,例如修改`nc`参数以匹配你的类别数量。

第四步 开始训练

一切准备就绪后,可以开始训练模型。运行以下命令:

python train.py --img 640 --batch 16 --epochs 50 --data data/my_dataset.yaml --cfg models/yolov5s.yaml --weights yolov5s.pt --name my_yolov5_model
 

参数解释:
- `--img 640` 指定训练时的图像尺寸为640x640。
- `--batch 16` 指定每批次处理的图片数量为16。
- `--epochs 50` 设置训练的轮数为50。
- `--data data/my_dataset.yaml` 使用我们刚才配置的数据集文件。
- `--cfg models/yolov5s.yaml` 使用YOLOv5s模型配置。
- `--weights yolov5s.pt` 使用预训练权重。
- `--name my_yolov5_model` 为训练的模型命名。

第五步. 评估与推理

     5.1 模型评估

训练完成后,模型会自动保存到`runs/train/my_yolov5_model/weights/`目录下。你可以使用以下命令进行评估:
python val.py --data data/my_dataset.yaml --weights runs/train/my_yolov5_model/weights/best.pt --img 640

5.2 模型推理

使用训练好的模型进行推理非常简单,运行以下命令即可:
python detect.py --weights runs/train/my_yolov5_model/weights/best.pt --img 640 --source /path/to/your/test/images
```

推理结果将保存在`runs/detect/exp/`目录下。

总结

本文介绍了如何使用YOLOv5训练自定义数据集,包括数据准备、配置文件修改、模型训练和推理的全过程。希望这篇文章能帮助你在自己的项目中更好地应用YOLOv5。如果有任何问题或建议,欢迎在下方留言讨论。

本文视频教程可以访问yolov5训练自己的数据集_哔哩哔哩_bilibili

您可能感兴趣的与本文相关的镜像

Python3.11

Python3.11

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值