Shortcuts

torch.var

torch.var(input, dim=None, *, correction=1, keepdim=False, out=None) 张量

计算在由 dim 指定的维度上的方差。dim 可以是一个单一维度、维度列表,或者 None 以减少所有维度。

方差(σ2\sigma^2)的计算公式为

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

其中 xx 是元素的样本集,xˉ\bar{x} 是样本均值,NN 是样本数量,δN\delta N修正

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

Parameters
  • 输入 (张量) – 输入张量。

  • dim (inttupleints可选) – 要减少的维度或多个维度。 如果 None,则所有维度都被减少。

Keyword Arguments
  • 校正 (int) –

    样本大小与样本自由度之间的差异。 默认为 贝塞尔校正correction=1

    版本 2.0 中的更改: 以前此参数称为 unbiased,并且是一个布尔值 其中 True 对应于 correction=1Falsecorrection=0

  • keepdim (布尔值) – 输出张量是否保留dim

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

示例

>>> 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.var(a, dim=1, keepdim=True)
tensor([[1.0631],
        [0.5590],
        [1.4893],
        [0.8258]])