yolov5s 训练Vis
时间: 2023-10-02 09:07:51 浏览: 87
yolov5无人机视觉检测+训练好的模型
5星 · 资源好评率100%
ual Studio Code环境下的步骤如下:
1. 安装Python环境和yolov5
在Visual Studio Code中打开终端,输入以下命令安装Python环境和yolov5:
```bash
pip install torch torchvision
git clone https://github.com/ultralytics/yolov5.git
cd yolov5
pip install -r requirements.txt
```
2. 准备数据集
将训练数据集和验证数据集分别放在`yolov5/data/train`和`yolov5/data/val`目录下。每个数据集需要包含以下文件:
- 图像文件:.jpg或.png格式;
- 标注文件:.txt格式,每个文件包含一行标注,标注格式为`class_index x_center y_center width height`,其中`class_index`为类别编号,`x_center`和`y_center`为中心点的相对坐标(0~1),`width`和`height`为宽度和高度的相对值(0~1)。
例如,训练集中的一张图像及其对应的标注文件如下所示:
- 图像文件:`yolov5/data/train/image.jpg`
- 标注文件:`yolov5/data/train/image.txt`
```bash
0 0.424 0.512 0.276 0.467
1 0.694 0.387 0.238 0.312
```
其中类别编号为0和1,分别对应两个物体。第一行标注表示第一个物体的中心点在图像中横向的相对位置为0.424,纵向的相对位置为0.512,宽度的相对值为0.276,高度的相对值为0.467。
3. 配置训练参数
在`yolov5/models`目录下创建一个新的配置文件,例如`my_yolov5s.yaml`,并设置训练参数。以下是一个示例配置文件:
```yaml
# my_yolov5s.yaml
nc: 2 # 类别数
depth_multiple: 0.33 # 模型深度缩放因子
width_multiple: 0.5 # 模型宽度缩放因子
anchors:
- [10, 13, 16, 30, 33, 23]
- [30, 61, 62, 45, 59, 119]
- [116, 90, 156, 198, 373, 326]
# 训练参数
hyp:
lr0: 0.01 # 初始学习率
lrf: 0.2 # 学习率衰减因子
momentum: 0.937 # 动量
weight_decay: 0.0005 # 权重衰减
warmup_epochs: 3 # 温度上升周期数
warmup_momentum: 0.8 # 温度上升动量
warmup_bias_lr: 0.1 # 温度上升偏置学习率
# 训练数据集和验证数据集
train: yolov5/data/train
val: yolov5/data/val
# 模型输出目录
save_dir: yolov5/runs/train/exp1
# 检测结果可视化
visual: false
# 模型参数文件
weights: yolov5s.pt
```
4. 训练模型
在终端中输入以下命令开始训练模型:
```bash
python train.py --batch-size 16 --epochs 50 --data my_yolov5s.yaml --cfg yolov5s.yaml --weights yolov5s.pt --name exp1 --cache
```
其中`--batch-size`指定批量大小,`--epochs`指定训练周期数,`--data`指定训练参数配置文件,`--cfg`指定模型结构配置文件,`--weights`指定预训练模型参数文件,`--name`指定训练实验名称,`--cache`指定是否缓存数据集。
训练过程中会输出训练日志和验证日志,以及每个周期的训练损失和验证损失。训练结束后,模型参数文件将保存在指定的输出目录中。
5. 测试模型
在终端中输入以下命令测试训练好的模型:
```bash
python detect.py --source yolov5/data/val --weights yolov5/runs/train/exp1/weights/best.pt --conf 0.5 --save-txt
```
其中`--source`指定测试数据集目录,`--weights`指定训练好的模型参数文件,`--conf`指定置信度阈值,`--save-txt`指定保存检测结果的标注文件。
测试过程中会输出检测结果可视化和检测结果标注文件。检测结果标注文件可以用于评估模型的检测精度。
阅读全文