在使用YOLOv5模型进行目标检测时,可能会遇到以下错误:

AttributeError: 'Upsample' object has no attribute 'recompute_scale_factor'

这个问题是由于yolov5版本升级后,Upsample层的参数'recompute_scale_factor'被删除导致的,需要修改'yolo.py'中的代码。具体修改方法如下:

  1. 打开'yolo.py'文件,找到类Upsample(大约在第79行)。

  2. 修改forward函数,将参数'recompute_scale_factor'删除即可。

修改前:

def forward(self, x):
    return F.interpolate(x, scale_factor=self.stride, mode=self.mode, align_corners=self.align_corners, recompute_scale_factor=True)

修改后:

def forward(self, x):
    return F.interpolate(x, scale_factor=self.stride, mode=self.mode, align_corners=self.align_corners)
  1. 保存修改后的'yolo.py'文件并重新运行'detect.py'即可。

完成上述修改后,问题即可解决。

注意: 不同版本的YOLOv5可能存在代码位置差异,请根据实际情况进行调整。

YOLOv5 Upsample层参数错误解决方法

原文地址: https://www.cveoy.top/t/topic/nvO3 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录