快捷方式

torch.std_mean

torch.std_mean(input, dim=None, *, correction=1, keepdim=False, out=None)

计算指定维度 dim 上的标准差和均值。dim 可以是一个单个维度、维度列表或 None 以在所有维度上进行归约。

标准差 (σ\sigma) 的计算公式为

σ=1max(0, NδN)i=0N1(xixˉ)2\sigma = \sqrt{\frac{1}{\max(0,~N - \delta N)}\sum_{i=0}^{N-1}(x_i-\bar{x})^2}

其中 xx 是样本集,xˉ\bar{x} 是样本均值,NN 是样本数量,δN\delta Ncorrection

如果 keepdimTrue,输出张量的大小与 input 相同,只是在维度 dim 上大小为 1。否则,dim 会被压缩(参阅 torch.squeeze()),导致输出张量的维度减少 1 (或 len(dim)) 个。

参数
  • input (Tensor) – 输入张量。

  • dim (inttuple of int, 可选) – 用于归约的一个或多个维度。如果为 None,则在所有维度上进行归约。

关键字参数
  • correction (int) –

    样本大小与样本自由度之间的差值。默认为 Bessel 校正,即 correction=1

    在 2.0 版本中更改: 之前此参数名为 unbiased 且为布尔值,True 对应 correction=1False 对应 correction=0

  • keepdim (bool) – 输出张量是否保留 dim 的维度。

  • out (Tensor, 可选) – 输出张量。

返回值

包含标准差和均值的元组 (std, mean)。

示例

>>> a = torch.tensor(
...     [[ 0.2035,  1.2959,  1.8101, -0.4644],
...      [ 1.5027, -0.3270,  0.5905,  0.6538],
...      [-1.5745,  1.3330, -0.5596, -0.6548],
...      [ 0.1264, -0.5080,  1.6420,  0.1992]])
>>> torch.std_mean(a, dim=0, keepdim=True)
(tensor([[1.2620, 1.0028, 1.0957, 0.6038]]),
 tensor([[ 0.0645,  0.4485,  0.8707, -0.0665]]))

文档

访问 PyTorch 全面的开发者文档

查看文档

教程

获取面向初学者和高级开发者的深度教程

查看教程

资源

查找开发资源并获得问题解答

查看资源