forked from mindspore-Ecosystem/mindspore
45 lines
1.4 KiB
ReStructuredText
45 lines
1.4 KiB
ReStructuredText
mindspore.ops.Gather
|
||
======================
|
||
|
||
.. py:class:: mindspore.ops.Gather()
|
||
|
||
返回输入Tensor在指定 `axis` 上 `input_indices` 索引对应的元素组成的切片。
|
||
|
||
**输入:**
|
||
|
||
- **input_params** (Tensor) - 原始Tensor,shape为 :math:`(x_1, x_2, ..., x_R)` 。
|
||
- **input_indices** (Tensor) - 要切片的索引Tensor,shape为 :math:`(y_1, y_2, ..., y_S)` 。指定原始Tensor中要切片的索引。数据类型必须是int32或int64。
|
||
- **axis** (int) - 指定要切片的维度索引。
|
||
|
||
.. note::
|
||
input_indices的值必须在 `[0, input_param.shape[axis])` 范围内,超出该范围则报错。
|
||
|
||
**输出:**
|
||
|
||
Tensor,shape为 :math:`input\_params.shape[:axis] + input\_indices.shape + input\_params.shape[axis + 1:]` 。
|
||
|
||
**异常:**
|
||
|
||
- **TypeError** - `axis` 不是int。
|
||
- **TypeError** - `input_indices` 不是int类型的Tensor。
|
||
|
||
**支持平台:**
|
||
|
||
``Ascend`` ``GPU`` ``CPU``
|
||
|
||
**样例:**
|
||
|
||
>>> input_params = Tensor(np.array([[1, 2, 7, 42], [3, 4, 54, 22], [2, 2, 55, 3]]), mindspore.float32)
|
||
>>> input_indices = Tensor(np.array([1, 2]), mindspore.int32)
|
||
>>> axis = 1
|
||
>>> output = ops.Gather()(input_params, input_indices, axis)
|
||
>>> print(output)
|
||
[[ 2. 7.]
|
||
[ 4. 54.]
|
||
[ 2. 55.]]
|
||
>>> axis = 0
|
||
>>> output = ops.Gather()(input_params, input_indices, axis)
|
||
>>> print(output)
|
||
[[3. 4. 54. 22.]
|
||
[2. 2. 55. 3.]]
|
||
|