mindspore.ops.Cdist
- class mindspore.ops.Cdist(p=2.0)[source]
Computes batched the p-norm distance between each pair of the two collections of row vectors.
- Parameters
p (float) – P value for the p-norm distance to calculate between each vector pair, P ∈ [0,∞]. Default: 2.0.
- Inputs:
input_x (Tensor) - Input tensor of shape \((B, P, M)\). Letter \(B\) represents 0 or positive int number. When \(B\) is equal to 0, it means this dimension can be ignored, i.e. shape of the tensor is \((P, M)\).
input_y (Tensor) - Input tensor of shape \((B, R, M)\).
- Outputs:
Tensor, has the same dtype as input_x, which shape is \((B, P, R)\).
- Raises
TypeError – If input_x or input_y is not a Tensor.
TypeError – If dtype of input_x or input_y is neither float16 nor float32.
TypeError – If p is not a float.
ValueError – If p is a negative float.
ValueError – If dimension of input_x is not the same as input_y.
ValueError – If dimension of input_x or input_y is neither 2 nor 3.
- Supported Platforms:
Ascend
Examples
>>> input_x = Tensor(np.array([[[1.0, 1.0], [2.0, 2.0]]]).astype(np.float32)) >>> input_y = Tensor(np.array([[[3.0, 3.0], [3.0, 3.0]]]).astype(np.float32)) >>> op = ops.Cdist(p=2.0) >>> output = op(input_x, input_y) >>> print(output) [[[2.8284273 2.8284273] [1.4142137 1.4142137]]]