mindspore.mint.std

查看源文件
mindspore.mint.std(input, dim=None, *, correction=1, keepdim=False)[源代码]

计算Tensor在指定维度上的标准差。

标准差 (\(\sigma\)) 计算如下:

\[\sigma =\sqrt{\frac{1}{N-\delta N}\sum_{j-1}^{N-1}\left(s e l f_{i j}-\overline{x_{i}}\right)^{2}}\]

其中 \(x\) 表示用来计算标准差的样本集, \(\bar{x}\) 表示样本的均值, \(N\) 表示样本的数量,\(\delta N\) 则为 correction 的值。

警告

这是一个实验性API,后续可能修改或删除。

参数:
  • input (Tensor) - 输入tensor。

  • dim (None, int, tuple(int), 可选) - 指定维度。如果为 None ,计算所有元素。默认 None

关键字参数:
  • correction (int, 可选) - 样本大小和样本自由度之间的差异。默认为Bessel校正,默认 1

  • keepdim (bool, 可选) - 输出tensor是否保留维度。默认 False

返回:

Tensor

支持平台:

Ascend

样例:

>>> import mindspore
>>> input = mindspore.tensor([[1, 2, 3], [-1, 1, 4]], mindspore.float32)
>>> mindspore.mint.std(input, dim=1, correction=1, keepdim=False)
Tensor(shape=[2], dtype=Float32, value= [ 1.00000000e+00,  2.51661134e+00])
>>> mindspore.mint.std(input, dim=1, correction=1, keepdim=True)
Tensor(shape=[2, 1], dtype=Float32, value=
[[ 1.00000000e+00],
[ 2.51661134e+00]])
>>> mindspore.mint.std(input, dim=[0, 1], correction=1, keepdim=False)
Tensor(shape=[], dtype=Float32, value= 1.75119)
>>> mindspore.mint.std(input, dim=[0, 1], correction=1, keepdim=True)
Tensor(shape=[1, 1], dtype=Float32, value=
[[ 1.75119019e+00]])
>>> mindspore.mint.std(input, dim=[0, 1], correction=2, keepdim=True)
Tensor(shape=[1, 1], dtype=Float32, value=
[[ 1.95789003e+00]])