吉祥猴378 2024-07-12 11:49 采纳率: 95.8%
浏览 3
已结题

哪位大姥,知道yolov5这是怎么回事

results = model(img)

for result in results:
x1, y1, x2, y2 = result["bbox"]
label = result["label"]
confidence = result["confidence"]

下面的是问题
Traceback (most recent call last):
File "F:\yolov5-7.0\YOLO dai ma\78.py", line 39, in
for result in results:
TypeError: 'Detections' object is not iterable

  • 写回答

5条回答 默认 最新

  • 关注

    上午好☀️☀️☀️️
    本答案参考ChatGPT-3.5

    在使用模型时,你需要将输出结果转换为适合机器学习算法的数据结构,例如TensorFlow或PyTorch中的D tensors。对于你的问题,这个错误表示尝试访问一个非可迭代对象的索引。

    解决方案是将D tensors转换为Python列表或其他可迭代数据结构,并检查返回的结果是否为D tensors。

    这是一个简单的示例:

    results = model(img)
    
    for result in results:
        # 将D tensor转换为Python list
        if isinstance(result, dict):
            x1, y1, x2, y2 = result["bbox"]
            label = result["label"]
            confidence = result["confidence"]
        elif isinstance(result, tuple):
            x1, y1, x2, y2 = result[:4]
            label = result[4]
            confidence = result[5]
        else:
            raise ValueError("Invalid output type")
    
    print(results)
    

    在这段代码中,我们首先检查输出结果的类型(是dict、tuple还是其他不可迭代对象)。如果是dict,我们将x和y坐标提取出来,并创建一个D tensor;如果是tuple,我们获取前四个坐标并将其添加到D tensor中,最后一个值作为 Confidence。如果不是可迭代的对象,我们抛出一个ValueError异常。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 7月20日
  • 已采纳回答 7月12日
  • 创建了问题 7月12日

悬赏问题

  • ¥15 微软硬件驱动认证账号申请
  • ¥15 有人知道怎么在R语言里下载Git上的miceco这个包吗
  • ¥15 GPT写作提示指令词
  • ¥20 如何在cst中建立这种螺旋扇叶结构
  • ¥20 根据动态演化博弈支付矩阵完成复制动态方程求解和演化相图分析等
  • ¥20 关于DAC输出1.000V对分辨率和精度的要求
  • ¥20 想写一个文件管理器,加载全部子文件夹后,要一级一级返回
  • ¥15 华为超融合部署环境下RedHat虚拟机分区扩容问题
  • ¥15 哪位能做百度地图导航触点播报?
  • ¥15 请问GPT语言模型怎么训练?