mindspore.ops.cdist
- mindspore.ops.cdist(x, y, p=2.0)[源代码]
批量计算两个Tensor每一批次所有向量两两之间的p-范数距离。
- 参数:
x (Tensor) - 输入tensor x,输入shape [B, P, M],B维度可以为0,即shape为 [P, M]。
y (Tensor) - 输入tensor y,输入shape [B, R, M]。
p (float) - P -范数距离的P值,P∈[0,∞]。默认值:2.0。
- 返回:
Tensor,p-范数距离,shape为[B, P, R]。
- 异常:
TypeError - input_x 或 input_x 不是Tensor。
TypeError - input_x 或 input_y 的数据类型不是float16,也不是float32。
TypeError - p 不是float32。
ValueError - p 是负数。
ValueError - input_x 与 input_y 维度不同。
ValueError - input_x 与 input_y 的维度不是2,也不是3。
- 支持平台:
Ascend
CPU
样例:
>>> x = Tensor(np.array([[[1.0, 1.0], [2.0, 2.0]]]).astype(np.float32)) >>> y = Tensor(np.array([[[3.0, 3.0], [3.0, 3.0]]]).astype(np.float32)) >>> output = ops.cdist(x, y, 2.0) >>> print(output) [[[2.8284273 2.8284273] [1.4142137 1.4142137]]]