yolov3/yolov5 val.py训练正常测试错误

基于u版的yolov3/yolov5上搭建自己的模型,修改主干网络或者head,训练可以正常训练,训练完成后用命令python val.py --weights runs/exp/train/best.pt进行测试,报错:
RuntimeError: Sizes of tensors must match except in dimension 2. Got 27 and 28 (The offending index is 0)
如下图所示
在这里插入图片描述
开始以为是维度错误或者特征图大小不匹配,但能正常训练,应该不是搭建的网络有问题,最后在github/yolov5找到了解决方法:
定位common.py,将#stride = int(model.stride.max())修改为stride = max(int(model.stride.max()), 32),如下:

elif pt:  # PyTorch
            from models.experimental import attempt_load  # scoped to avoid circular import
            model = torch.jit.load(w) if 'torchscript' in w else attempt_load(weights, map_location=device)
            #stride = int(model.stride.max())  # model stride
            stride = max(int(model.stride.max()), 32)  # model stride
  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: YOLOv5是一个目标检测算法,val.pyYOLOv5的验证脚本,用 回答:根据您提供的信息,我了解到YOLOv5是一种目标检测算法,而val.pyYOLOv5的验证脚本,用于在验证集上评估YOLOv5模型的性能。val.py脚本会读取验证集的图像和标注文件,并使用YOLOv5模型进行目标检测,然后计算模型的性能指标,例如精度、召回率和mAP等。在训练过程中,使用val.py脚本可以帮助监测模型的训练进展并调整模型超参数,以提高模型的性能。 ### 回答2: yolov5 val.py是一种用于检测神经网络模型性能的工具,它的主要作用是用来计算物体检测的准确率和召回率。在训练神经网络模型后,为了测试模型的性能,可以使用val.py对模型进行验证,确认该模型对于检测任务的性能表现。 具体来说,通过提供测试图像集和标注数据集,val.py会在图像集上应用模型对物体进行检测,然后将检测结果与标注数据进行比对,并计算出模型的检测准确率和召回率。准确率指的是相对于所有检测结果而言,正确检测的物体数量占所有检测结果的比例。召回率指的是相对于标注数据集而言,正确检测的物体数量占所有标注数据集中的物体数量的比例。 除此之外,val.py还可以输出计算后的各项指标,方便用户更加深入地了解模型性能。这些指标有AP(平均精度)、AP50、AP75、AP50-95和AR(平均召回率)等。AP和AR是最常用的模型性能指标,其中AP表示平均精度,AR表示平均召回率。 总之,yolov5 val.py是一个对于模型检测性能要求高的应用程序,它能够对神经网络模型进行全面的性能测试,提供有价值的指标结果,帮助用户判断模型的实际应用价值。 ### 回答3: Yolov5是一种先进的目标检测模型,可以在复杂环境下快速准确地检测图像中的目标。Val.pyYolov5模型中的验证脚本,用于评估模型的性能。在Yolov5训练模型时,往往需要对训练过程进行验证,确保模型在训练过程中的性能和准确率。这时就需要使用Val.py脚本进行模型验证。 Val.py脚本主要包括以下三个功能: 1. 在训练过程中评估模型,查看各类别的准确率、召回率等指标。这些指标可以帮助我们监控模型的性能,及时发现模型存在的问题,为模型的优化提供支持。 2. 对数据集进行测试,检测模型在不同场景下的性能。可以通过测试数据集中的图片对模型进行测试,评估模型的性能表现,帮助我们了解模型针对不同场景的表现情况。 3. 在测试集上生成预测的结果,给出输出文件。这个功能可以帮助我们对模型的输出结果进行分析,进一步优化模型,提高目标检测的准确率和效率。 总之,Val.py脚本是Yolov5模型和训练过程中必不可少的工具之一,它可以帮助我们对模型的性能进行全面评估和测试,提高模型的性能。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值