net.getUnconnectedOutLayers()报错IndexError: invalid index to scalar variable.

一、net.getUnconnectedOutLayers()报错IndexError: invalid index to scalar variable.

使用opencv内置的YOLOv3做检测时报错IndexError: invalid index to scalar variable.即标量用了无效的索引。

原代码

ln = net.getLayerNames()
ln = [ln[i[0] - 1] for i in net.getUnconnectedOutLayers()]

对ln和net.getUnconnectedOutLayers()进行打印输出,发现ln = [ln[i[0] - 1] for i in net.getUnconnectedOutLayers()]是为了获取YOLO输出层的名字,net.getUnconnectedOutLayers()得到的是[200 227 254],每个元素都是标量,不能用索引来取,因此将i[0]改为i即可,具体修改如下

修改后

    ln = net.getLayerNames()
    print(ln)#('conv_0', 'bn_0', 'leaky_1', 'conv_1', 'bn_1', 'leaky_2', ...
    print(net.getUnconnectedOutLayers())#[200 227 254]
    ln = [ln[i - 1] for i in net.getUnconnectedOutLayers()]

二、AttributeError: ‘Upsample‘ object has no attribute ‘recompute_scale_factor‘

在yolov5训练完成后,运行detect.py进行推理测试时,出现这样的错误AttributeError: ‘Upsample‘ object has no attribute ‘recompute_scale_factor‘
在这里插入图片描述原因可能是使用的torch版本太高,降低下torch版本就不会报错,或者直接修改下报错的文件
修改方法:进入unsampling种报错的地方,修改如下:
在这里插入图片描述

  • 17
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

视觉AI

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

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

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

打赏作者

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

抵扣说明:

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

余额充值