yolov8 rect batch_shapes 672 图像大小变化

遇到这样一种情况:img_sz=640,但在val时,输入网络的张量h和w是672

为什么输入图像会从640变大到672?

这是因为一种rectangle增强方法,“同个batch里做rectangle宽高等比变换, 加快训练 ,对于多余的黑边做到最小,实现降低计算量”具体查看YOLOV5数据增强有这些!---也可自己新增数据增强方法(裁剪、平移 、旋转、改变亮度、加噪声)-CSDN博客

1.如果你想在训练过程中的验证阶段关掉增大,使数据保持640。可以在train.py的第40行

return build_yolo_dataset(self.args, img_path, batch, self.data, mode=mode, rect=mode == 'val', stride=gs)

将rect=mode == 'val' 改为 rect=False

2.如果你想在单独验证测试集时关掉这种增大,在val.py的第194行

return build_yolo_dataset(self.args, img_path, batch, self.data, mode=mode, stride=gs)

可以看到他没有直接设置rect,所以rect用了默认值

rect=cfg.rect or rect, 

cfg代表default.yaml中的超参数。所以,你只需要在调用val时,增加rect=False即可

model = YOLO("./runs/detect/train2/weights/best.pt")  # load a pretrained model (recommended for training)

metrics = model.val(rect=False)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值