def npu_ciou(boxes1,boxes2,trans=True, is_cross=False, mode=0):
应用基于NPU的CIoU操作。在DIoU的基础上增加了penalty item,并propose CIoU。
到目前为止,CIoU向后只支持当前版本中的trans==True、is_cross==False、mode==0('iou')。如果需要反向传播,确保参数正确。
from torch_npu.contrib.function import npu_ciou ciou = npu_ciou(box1, box2)
>>> box1 = torch.randn(4, 32).npu() >>> box1.requires_grad = True >>> box2 = torch.randn(4, 32).npu() >>> box2.requires_grad = True >>> ciou = npu_ciou(box1, box2) >>> l = ciou.sum() >>> l.backward()