该接口计划废弃,可以使用torch_npu.npu_diou接口进行替换。
torch_npu.contrib.function.npu_diou(boxes1,boxes2,trans=True, is_cross=False, mode=0):
应用基于NPU的DIoU操作。考虑到目标之间距离,以及距离和范围的重叠率,不同目标或边界需趋于稳定。
Tensor - IoU,size为[1,n]。
到目前为止,DIoU向后只支持当前版本中的trans==True、is_cross==False、mode==0('iou')。如果需要反向传播,确保参数正确。
1 2 3 4 5 6 7 8 | >>> from torch_npu.contrib.function import npu_diou >>> box1 = torch.randn(4, 32).npu() >>> box1.requires_grad = True >>> box2 = torch.randn(4, 32).npu() >>> box2.requires_grad = True >>> diou = npu_diou(box1, box2) >>> l = diou.sum() >>> l.backward() |