(beta)torch_npu.contrib.function.npu_bbox_coder_encode_xyxy2xywh
接口原型
torch_npu.contrib.function.npu_bbox_coder_encode_xyxy2xywh(bboxes,gt_bboxes,means=None,stds=None,is_normalized=False,normalized_scale=10000.):
功能描述
应用基于NPU的bbox格式编码操作,将格式从xyxy编码为xywh。
参数说明
- bboxes (Tensor) - 待转换的框,shape为(N, 4)。支持dtype:float,half。
- gt_bboxes (Tensor) - 用作基准的gt_bboxes,shape为(N, 4)。支持dtype:float,half。
- means (List[float],默认值为None) - 对delta坐标的目标去归一化的方法。
- stds (List[float],默认值为None) - 对delta坐标的目标去归一化的标准差。
- is_normalized (Bool,默认值为False) - 坐标值是否已归一化。
- normalized_scale (Float,默认值为10000.) - 设置坐标恢复的归一化比例。
输出说明
torch.Tensor - 框转换deltas。
约束说明
不支持动态shape。由于算子语义限制,仅支持二维(n, 4)场景。Bboxes和gt_bboxesshape和dtype必须相同,dtype只可为float16和float32。第三个输入(步长)仅支持1D,且第一个维度与第一个输入(bboxes)相同。
支持的型号
- Atlas 训练系列产品
- Atlas A2 训练系列产品
- Atlas 推理系列产品
调用示例
>>> from torch_npu.contrib.function import npu_bbox_coder_encode_xyxy2xywh >>> A = 1024 >>> bboxes = torch.randint(0, 512, size=(A, 4)).npu() >>> gt_bboxes = torch.randint(0, 512, size=(A, 4)).npu() >>> stride = torch.randint(0, 32, size=(A,)).npu() >>> out = npu_bbox_coder_encode_xyxy2xywh(bboxes, gt_bboxes, stride) >>> torch.npu.synchronize() >>> print('_npu_bbox_coder_encode_yolo done. output shape is ', out.shape)
父主题: torch_npu.contrib