mindspore.numpy.apply_over_axes
- mindspore.numpy.apply_over_axes(func, a, axes)[源代码]
在多个轴上重复应用
func
函数。res = func(a, axis)
,其中axis
是axes
的第一个元素。函数返回的结果res
具有与a
相同的维度或少一个维度。如果res
比a
少一个维度,则在aixs
之前插入一个维度。然后将res
作为func
的第一个参数,对axes
中的每个轴重复调用func
。- 参数:
func (function) - 该函数必须有两个参数
a
,axis
。a (Union[int, float, bool, list, tuple, Tensor]) - 输入的Tensor。
axes (Union[int, list, tuple]) - 应用
func
函数的轴。输入元素必须是整数
- 返回:
Tensor,维度与
a
的相同,但shape可以不同。这取决于func
函数是否改变输出的shape。- 异常:
TypeError - 如果输入的
a
不是类似数组的对象,或者axes
参数的类型不是int型或int型的序列。ValueError - 如果
axes
中的轴重复或超出索引范围。
- 支持平台:
Ascend
GPU
CPU
样例:
>>> import mindspore.numpy as np >>> x = np.arange(10).reshape(2, 5).astype('float32') >>> print(x) [[0. 1. 2. 3. 4.] [5. 6. 7. 8. 9.]] >>> print(np.apply_over_axes(np.sum, x, axes=0)) [[ 5. 7. 9. 11. 13.]]