mindspore.ops.CheckValid
- class mindspore.ops.CheckValid[源代码]
检查边界框。
检查由 bboxes 指定的一些边框是否是有效的。 如果边框在由 img_metas 确定的边界内部则返回
True
,否则返回False
。- 输入:
bboxes (Tensor) - shape大小为 \((N, 4)\) 。 \(N\) 表示边界框的数量, 4 表示 x0 、 y0 、 x1 、 y1 。数据类型必须是float16或float32。
img_metas (Tensor) - 原始图片的信息 \((长度, 宽度, 比率)\) ,指定有效边界为 \((长度 * 比率, 宽度 * 比率)\) 。数据类型必须是float16或float32。
- 输出:
Tensor,shape为 \((N,)\) ,类型为bool,指出边界框是否在图片内。
True
表示在,False
表示不在。- 异常:
TypeError - 如果 bboxes 或者 img_metas 不是Tensor。
TypeError - 如果 bboxes 或者 img_metas 的数据类型既不是float16,也不是float32。
- 支持平台:
Ascend
GPU
CPU
样例:
>>> import mindspore >>> import mindspore.nn as nn >>> import numpy as np >>> from mindspore import Tensor, ops >>> class Net(nn.Cell): ... def __init__(self): ... super(Net, self).__init__() ... self.check_valid = ops.CheckValid() ... def construct(self, x, y): ... valid_result = self.check_valid(x, y) ... return valid_result ... >>> bboxes = Tensor(np.linspace(0, 6, 12).reshape(3, 4), mindspore.float32) >>> img_metas = Tensor(np.array([2, 1, 3]), mindspore.float32) >>> net = Net() >>> output = net(bboxes, img_metas) >>> print(output) [ True False False]