You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

mindspore.ops.Gather.rst 1.5 kB

4 years ago
4 years ago
4 years ago
4 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. mindspore.ops.Gather
  2. ======================
  3. .. py:class:: mindspore.ops.Gather()
  4. 返回输入Tensor在指定 `axis` 上 `input_indices` 索引对应的元素组成的切片。
  5. **输入:**
  6. - **input_params** (Tensor) - 原始Tensor,shape为 :math:`(x_1, x_2, ..., x_R)` 。
  7. - **input_indices** (Tensor) - 要切片的索引Tensor,shape为 :math:`(y_1, y_2, ..., y_S)` 。指定原始Tensor中要切片的索引。数据类型必须是int32或int64。
  8. - **axis** (int) - 指定要切片的维度索引。
  9. .. note::
  10. input_indices的值必须在 `[0, input_param.shape[axis])` 范围内,超出该范围则报错。
  11. **输出:**
  12. Tensor,shape为 :math:`input\_params.shape[:axis] + input\_indices.shape + input\_params.shape[axis + 1:]` 。
  13. **异常:**
  14. - **TypeError** - `axis` 不是int。
  15. - **TypeError** - `input_indices` 不是int类型的Tensor。
  16. **支持平台:**
  17. ``Ascend`` ``GPU`` ``CPU``
  18. **样例:**
  19. >>> input_params = Tensor(np.array([[1, 2, 7, 42], [3, 4, 54, 22], [2, 2, 55, 3]]), mindspore.float32)
  20. >>> input_indices = Tensor(np.array([1, 2]), mindspore.int32)
  21. >>> axis = 1
  22. >>> output = ops.Gather()(input_params, input_indices, axis)
  23. >>> print(output)
  24. [[ 2. 7.]
  25. [ 4. 54.]
  26. [ 2. 55.]]
  27. >>> axis = 0
  28. >>> output = ops.Gather()(input_params, input_indices, axis)
  29. >>> print(output)
  30. [[3. 4. 54. 22.]
  31. [2. 2. 55. 3.]]