mindspore.ops.var_mean
- mindspore.ops.var_mean(input, axis=None, ddof=0, keepdims=False)[源代码]
计算tensor在指定轴上的方差及平均值。
- 参数:
input (Tensor[Number]) - 输入tensor。
axis (Union[int, tuple(int)],可选) - 指定轴。如果为
None
,计算 input 中的所有元素。默认None
。ddof (Union[int, bool],可选) - δ自由度。默认
0
。如果为整数,计算中使用的除数是
,其中 表示元素的数量。如果为bool值,
True
与False
分别对应ddof为整数时的1
与0
。如果取值为0、1、True或False,支持的平台只有 Ascend 和 CPU 。其他情况下,支持平台是 Ascend 、 GPU 和 CPU 。
keepdims (bool,可选) - 输出tensor是否保留维度。默认
False
。
- 返回:
两个tensor组成的tuple(var, mean)。
- 支持平台:
Ascend
GPU
CPU
样例:
>>> import mindspore >>> input = mindspore.tensor([[1., 3, 4, 2], ... [4, 2, 5, 3], ... [5, 4, 2, 3]]) >>> # case 1: By default, compute the variance and mean of all elements. >>> mindspore.ops.var_mean(input) (Tensor(shape=[], dtype=Float32, value= 1.47222), Tensor(shape=[], dtype=Float32, value= 3.16667)) >>> >>> # case 2: Compute the variance and mean along axis 0. >>> output = mindspore.ops.var_mean(input, axis=0) (Tensor(shape=[4], dtype=Float32, value= [ 2.88888884e+00, 6.66666687e-01, 1.55555570e+00, 2.22222194e-01]), Tensor(shape=[4], dtype=Float32, value= [ 3.33333325e+00, 3.00000000e+00, 3.66666675e+00, 2.66666675e+00])) >>> >>> # case 3: If keepdims=True, the output shape will be same of that of the input. >>> output = mindspore.ops.var_mean(input, axis=0, keepdims=True) (Tensor(shape=[1, 4], dtype=Float32, value= [[ 2.88888884e+00, 6.66666687e-01, 1.55555570e+00, 2.22222194e-01]]), Tensor(shape=[1, 4], dtype=Float32, value= [[ 3.33333325e+00, 3.00000000e+00, 3.66666675e+00, 2.66666675e+00]])) >>> >>> # case 4: If ddof=1: >>> output = mindspore.ops.var_mean(input, axis=0, keepdims=True, ddof=1) (Tensor(shape=[1, 4], dtype=Float32, value= [[ 4.33333349e+00, 1.00000000e+00, 2.33333349e+00, 3.33333313e-01]]), Tensor(shape=[1, 4], dtype=Float32, value= [[ 3.33333325e+00, 3.00000000e+00, 3.66666675e+00, 2.66666675e+00]])) >>> >>> # case 5: If ddof=True, same as ddof=1: >>> output = mindspore.ops.var_mean(input, axis=0, keepdims=True, ddof=True) (Tensor(shape=[1, 4], dtype=Float32, value= [[ 4.33333349e+00, 1.00000000e+00, 2.33333349e+00, 3.33333313e-01]]), Tensor(shape=[1, 4], dtype=Float32, value= [[ 3.33333325e+00, 3.00000000e+00, 3.66666675e+00, 2.66666675e+00]])) >>> >>> # case 6: If ddof=False, same as ddof=0: >>> output = mindspore.ops.var_mean(input, axis=0, keepdims=True, ddof=False) (Tensor(shape=[1, 4], dtype=Float32, value= [[ 2.88888884e+00, 6.66666687e-01, 1.55555570e+00, 2.22222194e-01]]), Tensor(shape=[1, 4], dtype=Float32, value= [[ 3.33333325e+00, 3.00000000e+00, 3.66666675e+00, 2.66666675e+00]]))