def npu_bbox_coder_decode_xywh2xyxy()
API接口
def npu_bbox_coder_decode_xywh2xyxy(bboxes,pred_bboxes,means=None,stds=None,max_shape=[9999, 9999],wh_ratio_clip=16 / 1000):
功能描述
应用基于NPU的bbox格式编码操作,将格式从xywh编码为xyxy。
参数说明
- anchors (torch.Tensor) - 基础框,shape为(N, 4)。支持dtype:float, half。
- pred_bboxes (torch.Tensor) - 编码框,shape为(N, 4)。支持dtype:float, half。
- means (List[float],默认值为None) - 对delta坐标的目标去归一化的方法。该参数需要与编码参数对齐。
- stds (List[float],默认值为None) - 对delta坐标的目标去归一化的标准差。该参数需要与编码参数对齐。
- max_shape (Tuple[int],可选,默认为[9999,9999]不受限制):最大框shape(H, W),一般对应bbox所在的真实图片的大小。
- wh_ratio_clip (Float,可选,默认值为16/1000) - 可允许的宽高比。
输出说明
Tensor - shape为(N, 4)的框,其中4表示tl_x、tl_y、br_x、br_y。
示例
调用方式示例:
from torch_npu.contrib.function import npu_bbox_coder_decode_xywh2xyxy out = npu_bbox_coder_decode_xywh2xyxy(bboxes, pred_bboxes, max_shape=(max_shape, max_shape))
使用示例:
>>> A = 1024 >>> max_shape = 512 >>> bboxes = torch.randint(0, max_shape, size=(A, 4)) >>> pred_bboxes = torch.randn(A, 4) >>> torch.npu.set_device(0) >>> bboxes = bboxes.npu() >>> pred_bboxes = pred_bboxes.npu() >>> out = npu_bbox_coder_decode_xywh2xyxy(bboxes, pred_bboxes, max_shape=(max_shape, max_shape)) >>> torch.npu.synchronize >>> () >>> print('_npu_bbox_coder_decode_xywh2xyxy done. output shape is ', out.shape)
父主题: torch_npu.contrib