yolov5启用数据增强、tensorboard可视化及cutout马赛克增强

yolov5启用数据增强与tensorboard可视化

一,yolov5启用数据增强

1.data目录下,有两个hyp的文件:data/hyp.scratch.yaml和data/hyp.finetune.yaml具体内容如下:

# Hyperparameters for VOC fine-tuning
# python train.py --batch 64 --cfg '' --weights yolov5m.pt --data voc.yaml --img 512 --epochs 50
# See tutorials for hyperparameter evolution https://github.com/ultralytics/yolov5#tutorials


lr0: 0.01  # initial learning rate (SGD=1E-2, Adam=1E-3)
momentum: 0.94  # SGD momentum/Adam beta1
weight_decay: 0.0005  # optimizer weight decay 5e-4
giou: 0.05  # GIoU loss gain
cls: 0.4  # cls loss gain
cls_pw: 1.0  # cls BCELoss positive_weight
obj: 0.5  # obj loss gain (scale with pixels)
obj_pw: 1.0  # obj BCELoss positive_weight
iou_t: 0.20  # IoU training threshold
anchor_t: 4.0  # anchor-multiple threshold
fl_gamma: 0.0  # focal loss gamma (efficientDet default gamma=1.5)
hsv_h: 0.015  # image HSV-Hue augmentation (fraction)
hsv_s: 0.7  # image HSV-Saturation augmentation (fraction)
hsv_v: 0.6  # image HSV-Value augmentation (fraction)
degrees: 1.0  # image rotation (+/- deg)
translate: 0.1  # image translation (+/- fraction)
scale: 0.6  # image scale (+/- gain)
shear: 1.0  # image shear (+/- deg)
perspective: 0.0  # image perspective (+/- fraction), range 0-0.001
flipud: 0.01  # image flip up-down (probability)
fliplr: 0.5  # image flip left-right (probability)
mixup: 0.2  # image mixup (probability)

2.启用方法
在train.py中添加指定,当然程序本身也会默认启动hyp.scratch.yaml这个,可以直接修改其内部参数,如果需要启用另一个,可以如图:
在这里插入图片描述
训练时会在终端打印显示出相关参数设置情况

二,tensorboard可视化

良心yolov5!感觉好多东西都直接写好了,调用即可。
models/yolo.py中,代码最底部作者将tensorboard代码注释了,启用即可。
yolov5启用数据增强、tensorboard可视化及cutout马赛克增强_第1张图片
取消注释后,点击启动tensorboard会话。
vs code上出现如下提示:
yolov5启用数据增强、tensorboard可视化及cutout马赛克增强_第2张图片
直接点击使用当前目录时,无法查看效果。需要定位到runs文件夹。
点击‘选择另一个文件夹’,找到runs文件夹。效果如图:
yolov5启用数据增强、tensorboard可视化及cutout马赛克增强_第3张图片

三、马赛克增强启用(cutout)

马赛克(cutout)需要手动启用; 启用方法:
1.datasets.py文件中,将Apply cutouts这一段代码的注释取消;

             Apply cutouts
             if random.random() < 0.9:
                 labels = cutout(img, labels)

2.general.py中,将cv2.imwrite(‘test%i.jpg’%j,cutout)的注释取消; 3.在启动训练后,查看run文件夹下的训练图像,可以看到马赛克效果。

                cv2.imwrite('test%i.jpg' % j, cutout)

你可能感兴趣的:(yolo系列算法学习,深度学习,pytorch)