# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
path: ../datasets/coco128 # dataset root dir
train: images/train2017 # train images (relative to 'path') 128 images
val: images/train2017 # val images (relative to 'path') 128 images
test: # test images (optional)
# Classes
nc: 80 # number of classes
names: [ 'person', 'bicycle', 'car', 'motorcycle', 'airplane', 'bus', 'train', 'truck', 'boat', 'traffic light',
'fire hydrant', 'stop sign', 'parking meter', 'bench', 'bird', 'cat', 'dog', 'horse', 'sheep', 'cow',
'elephant', 'bear', 'zebra', 'giraffe', 'backpack', 'umbrella', 'handbag', 'tie', 'suitcase', 'frisbee',
'skis', 'snowboard', 'sports ball', 'kite', 'baseball bat', 'baseball glove', 'skateboard', 'surfboard',
'tennis racket', 'bottle', 'wine glass', 'cup', 'fork', 'knife', 'spoon', 'bowl', 'banana', 'apple',
'sandwich', 'orange', 'broccoli', 'carrot', 'hot dog', 'pizza', 'donut', 'cake', 'chair', 'couch',
'potted plant', 'bed', 'dining table', 'toilet', 'tv', 'laptop', 'mouse', 'remote', 'keyboard', 'cell phone',
'microwave', 'oven', 'toaster', 'sink', 'refrigerator', 'book', 'clock', 'vase', 'scissors', 'teddy bear',
'hair drier', 'toothbrush' ] # class names
1.2 创建标签
使用标注工具标记图像后,讲标签导出为YOLO格式,每个图像有一个*.txt文件(如果图像中没有对象,则不需要*.txt文件)。txt文件规范为:
../datasets/coco128/images/im0.jpg # image
../datasets/coco128/labels/im0.txt # label
选择一个模型
选择一个预训练模型开始训练。有关预训练模型的比较参考README。
训练
通过指定数据集、batch-size、image size和预训练的 --weights yolov5s.pt,在COCO128上训练YOLOv5s模型。预训练权重是从最新的YOLOv5版本自动下载的。
# Train YOLOv5s on COCO128 for 3 epochs
$ python train.py --img 640 --batch 16 --epochs 3 --data coco128.yaml --weights yolov5s.pt
tips:始终从本地数据集进行训练。网络挂载会很慢。添加 --cache ram或 --cache disk 以加快训练速度。
weights和Biases日志
权重和偏移现在与YOLOv5集成,用于训练运行的实时可视化和云记录。这允许更好的允许比较和自省,以及提高团队成员之间的可见性和协作。要启用W&B日志记录,要安装wandb,然后正常训练。
$ pip install wandb
训练期间通过https://wandb.ai查看更新。
本地日志
所有结果都默认记录到runs/train,并为每个新训练创建一个新的实验目录。
内容译自yolo DOC