PyTorch torch.var():求方差(附带实例)
使用 torch.var() 函数求方差,该函数返回输入张量中所有元素的方差,有以下两种格式:
分别设置不同参数的示例如下:
1) 设置参数 input 和 dim:
2) 设置参数 unbiased:
3) 设置参数 keepdim:
torch.var(input, unbiased=True) torch.var(input, dim, unbiased=True, keepdim=False, *, out=None)参数说明:
- input:输入一个张量;
- dim:要求和的维度,可以是一个列表,当 dim=0 时,即第 0 个维度会缩减,也就是说将 N 行压缩成一行,故相当于对列进行求和,当 dim=1 时,对行进行求和;
- unbiased:是否使用无偏估计,布尔型。如果 unbiased 为 False,则将通过有偏估计量计算方差,否则将使用“贝塞尔校正”更正;
- keepdim:求和之后,这个 dim 的元素个数为 1,所以要被去掉,如果要保留这个维度,则应该将 keepdim 设置为 True。
分别设置不同参数的示例如下:
1) 设置参数 input 和 dim:
# 导入torch库 import torch # 创建一个张量a a = torch.tensor([[1, 2], [3, 4]]) # 沿着第1维计算张量a的元素方差,并将结果赋值给变量var_result var_result = torch.var(a.float(), 1) # 打印var_result的值 print(var_result)输出结果如下:
var_result = torch.var(a.float(), 1)
2) 设置参数 unbiased:
torch.var(a.float(),1,unbiased=False)输出结果如下:
tensor([0.2500, 0.2500])
3) 设置参数 keepdim:
torch.var(a.float(), 1, unbiased=False, keepdim=True)输出结果如下:
tensor([[0.2500],[0.2500]])