pytorch iou取最大

本文深入探讨了在PyTorch中如何有效地计算并最大化交并比(IoU)。通过理解IoU的数学原理,我们介绍了关键的代码实现,并分享了优化策略,帮助提升深度学习模型的定位性能。
摘要由CSDN通过智能技术生成

def iou(box1, box2):
    '''  
    box:[x1, y1, x2, y2]
    '''
    in_h = min(box1[3], box2[3]) - max(box1[1], box2[1])
    in_w = min(box1[2], box2[2]) - max(box1[0], box2[0])
    inner = 0 if in_h<0 or in_w<0 else in_h*in_w
    union = (box1[2] - box1[0]) * (box1[3] - box1[1]) + \
            (box2[2] - box2[0]) * (box2[3] - box2[1]) - inner
    print(inner)
    iou = inner / union
    return iou
box1 = [0,0,10,10]
box2 = [5,5,15,15]
print(iou(box1,box2))

import torch

boxs=torch.Tensor([[0.1,0.5,0.3],[0.2,0.3,0.4],[0.5,0.6,0.7]])# 3个框

iou=torch.Tensor([[0.1,0.5,0.3,0.2],[0.2,0.4,0.6,0.1],[0.2,0.1,0.4,0.1]])


print(boxs.size())
b1,b2=iou.max(0)
print(b1)
print(b2)
c=boxs[b2]
print(c)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

AI算法网奇

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

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

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

打赏作者

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

抵扣说明:

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

余额充值