mindspore.numpy.ravel_multi_index

mindspore.numpy.ravel_multi_index(multi_index, dims, mode='clip', order='C')[源代码]

将元素为索引数组的tuple转换为展平的索引数组,并对多重索引应用边界模式。

说明

不支持 raise 模式。 默认模式为 clip

参数:
  • multi_index (类数组的tuple) - 一个元素为整数数组的tuple,每一维包含一个数组。

  • dims (Union[int, tuple(int)]) - multi_index 的索引将应用到的数组的shape。

  • mode ({wrap, clip}, 可选) - 指定如何处理越界索引。 默认值: 'clip''wrap' :取越界索引除以轴长的余数。 'clip' :裁剪到范围内。 在 'clip' 模式下,取余后的负索引将裁剪至0。

  • order ({C, F}, 可选) - 确定多重索引是以行优先(C风格)还是列优先(Fortran风格)顺序查看。

返回:

展平的索引数组。 表示 dims 维的展平的索引值。

异常:
  • TypeError - 如果 multi_indexdims 不能转换为Tensor,或者 dims 不是整数值的序列。

  • ValueError - 如果 multi_indexdims 的长度不相等。

支持平台:

GPU

样例:

>>> import mindspore.numpy as np
>>> arr = np.array([[3, 6, 6], [4, 5, 1]])
>>> output = np.ravel_multi_index(arr, (7, 6))
>>> print(output)
[22. 41. 37.]
>>> output = np.ravel_multi_index((3, 1, 4, 1), (6, 7, 8, 9))
>>> print(output)
1621.0