mindspore.ops.gather_nd
- mindspore.ops.gather_nd(input_x, indices)[source]
Gathers slices from a tensor by indices.
Using given indices to gather slices from a tensor with a specified shape.
indices is an K-dimensional integer tensor. Supposes it as a (K-1)-dimensional tensor and each element of it defines a slice of input_x:
\[output[(i_0, ..., i_{K-2})] = input\_x[indices[(i_0, ..., i_{K-2})]]\]The last dimension of indices can not more than the rank of input_x:
\(indices.shape[-1] <= input\_x.rank\).
- Parameters
- Returns
Tensor, has the same type as input_x and the shape is \(indices\_shape[:-1] + input\_x\_shape[indices\_shape[-1]:]\).
- Raises
ValueError – If length of shape of input_x is less than the last dimension of indices.
- Supported Platforms:
Ascend
GPU
CPU
Examples
>>> import mindspore >>> import numpy as np >>> from mindspore import Tensor, ops >>> input_x = Tensor(np.array([[-0.1, 0.3, 3.6], [0.4, 0.5, -3.2]]), mindspore.float32) >>> indices = Tensor(np.array([[0, 0], [1, 1]]), mindspore.int32) >>> output = ops.gather_nd(input_x, indices) >>> print(output) [-0.1 0.5]