Ubuntu中yolov5训练自己的数据集
时间: 2025-05-26 14:12:23 浏览: 31
### 在 Ubuntu 上使用 YOLOv5 训练自定义数据集
要在 Ubuntu 系统上使用 YOLOv5 训练自定义数据集,可以按照以下方法操作:
#### 1. 安装依赖环境
首先需要安装必要的 Python 和 PyTorch 环境。确保已安装最新版本的 `pip` 并创建虚拟环境(可选),然后克隆 YOLOv5 的 GitHub 仓库并安装所需依赖项。
```bash
git clone https://github.com/ultralytics/yolov5.git # 克隆YOLOv5仓库
cd yolov5
pip install -r requirements.txt # 安装依赖库
```
上述命令会自动配置好运行 YOLOv5 所需的基础环境[^1]。
---
#### 2. 数据集准备
为了使模型能够正常读取数据集,需要将其转换为适合 YOLO 格式的标注文件。以下是具体步骤:
- **目录结构**
创建如下所示的数据集目录结构:
```
data/
├── images/
│ ├── train/
│ └── val/
├── labels/
├── train/
└── val/
```
- **图像与标签对应关系**
将训练图片存放在 `images/train` 文件夹下,验证图片存放在 `images/val` 下;对应的标注文件则分别存储于 `labels/train` 和 `labels/val` 中。每张图片应有一个同名 `.txt` 文件作为其标注文件[^4]。
- **标注格式**
每行代表一个目标框,格式为:`<class_id> <x_center> <y_center> <width> <height>`,其中坐标均为相对于整幅图的比例值 (范围 `[0, 1]`)。
---
#### 3. 配置 YAML 文件
编写用于描述数据集路径和类别的 YAML 文件,通常命名为 `data.yaml` 或其他名称。该文件的内容大致如下:
```yaml
train: ../data/images/train # 训练集路径
val: ../data/images/val # 测试集路径
nc: 8 # 类别数量
names: ['cat', 'dog', ... ] # 各类别名称列表
```
此文件的作用是指定数据的位置以及分类信息以便加载到网络中[^2]。
---
#### 4. 开始训练过程
完成以上准备工作之后即可启动训练脚本。通过指定参数来调整输入尺寸、批次大小、迭代次数等超参设置。下面是一个典型的调用例子:
```bash
python train.py \
--img 640 \ # 输入分辨率,默认640像素
--batch 16 \ # 单次批量处理样本数
--epochs 300 \ # 总共执行轮次数目
--data ./data/data.yaml \ # 自己制作好的dataset yaml位置
--cfg ./models/yolov5s.yaml \# 使用的小型预设架构
--weights '' # 不加载任何初始权重进行全新训练
```
如果希望基于已有模型微调,则将最后一项替换为相应pt文件地址,比如 `'yolov5s.pt'` 表示从官方提供的小型版权重继续学习[^3]。
---
### 注意事项
- 如果 GPU 显存不足或者 CPU 资源有限,请适当减少 batch size 参数。
- 对于复杂的场景识别任务可能需要更长时间收敛,建议增加 epoch 数量观察效果变化趋势。
---
阅读全文
相关推荐


















