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代码注释了,启用即可。
在这里插入图片描述
取消注释后,点击启动tensorboard会话。
vs code上出现如下提示:
在这里插入图片描述
直接点击使用当前目录时,无法查看效果。需要定位到runs文件夹。
点击‘选择另一个文件夹’,找到runs文件夹。效果如图:
在这里插入图片描述

三、增强启用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)
### 回答1: yolov5可以使用TensorBoard进行可视化TensorBoard是一个用于可视化TensorFlow运行结果的工具,可以帮助用户更好地理解模型的训练过程和性能表现。在yolov5中,可以通过在训练命令中添加--tensorboard选项来启用TensorBoard可视化功能,训练完成后,可以在指定的日志目录中查看TensorBoard可视化结果。通过TensorBoard,用户可以查看模型的损失曲线、学习率曲线、精度曲线等信息,还可以查看模型的结构、参数分布等详细信息,帮助用户更好地理解和优化模型。 ### 回答2: Yolov5是一种目标检测算法,在训练常常会使用TensorBoard进行可视化,以更好地监测训练过程。 要在Yolov5中使用TensorBoard可视化,首先需要训练脚本中添加写tensorboard的代码: ``` # train.py 文件中,引入tensorboard from torch.utils.tensorboard import SummaryWriter writer = SummaryWriter() # 在训练过程中添加以下代码 for i, (imgs, targets, paths, _) in enumerate(dataloader): loss, outputs = model(imgs, targets) loss.backward() optimizer.step() # 写入tensorboard writer.add_scalar('train/loss', loss.item(), global_step=step) for j, x in enumerate(zip(model.module.stride, outputs)): stride, out = x writer.add_images(f'train/layer{j}_stride{stride}', out.sigmoid()[:6], global_step=step) step += 1 ``` 执行上述代码后,可以在命令行中输入以下命令查询Tensorboard可视化结果: ``` tensorboard --logdir runs ``` 其中,--logdir 参数指定tensorboard在哪个文件夹下查找tensorboard文件。 执行成功后,可以在浏览器中打开http://localhost:6006/,查看TensorBoard可视化结果。 在TensorBoard中,可以查看到训练过程中的各项指标,包括训练loss,各层权重分布情况,每个batch的输出结果等。TensorBoard提供了非常直观的图表,方便我们进行训练结果的分析与比较。 总之,Yolov5中使用TensorBoard可视化非常简单,只需要添加几行代码即可实现。在训练过程中,使用TensorBoard可视化能够帮助我们更好地监控训练过程,及发现问题并进行调整,从而提高模型训练的效果。 ### 回答3: yolov5作为一种目标检测的算法,其训练过程中会生成很多的数据,其中包括模型训练的loss变化、训练集和验证集的指标等等。这些数据虽然可以通过命令行输出来查看,但是有候我们需要更直观的方式来查看这些数据,这候就需要用到TensorBoard。 首先我们需要训练yolov5的命令行中加上--tensorboard选项,生成的数据就会存储到runs文件夹中。然后我们需要在命令行中运行tensorboard命令,启动可视化界面。在可视化界面中,我们可以查看模型训练过程中的loss曲线、训练集和验证集的指标变化等等,这些数据都可以帮助我们更好地了解模型的训练情况。 除了查看训练过程中的数据,我们还可以在TensorBoard中查看模型结构、权重分布等信息。这些信息对于优化模型和调试错误都非常有帮助。 总之,使用TensorBoard可以让我们更直观地了解模型训练情况,帮助我们优化模型、调试错误,提高模型的性能。
评论 23
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小俊俊的博客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值