当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python PyTorch logdet用法及代码示例


本文简要介绍python语言中 torch.logdet 的用法。

用法:

torch.logdet(input) → Tensor

参数

input(Tensor) -大小为 (*, n, n) 的输入张量,其中 * 是零个或多个批处理维度。

计算方阵或方阵批次的对数行列式。

注意

如果input 的对数行列式为零,则结果为-inf,如果input 的行列式为负,则结果为nan

注意

input 不可逆时,向后通过 logdet() 在内部使用 SVD 结果。在这种情况下,当 input 没有明显的奇异值时,通过 logdet() 进行双倍向后将不稳定。详情请参阅 svd()

例子:

>>> A = torch.randn(3, 3)
>>> torch.det(A)
tensor(0.2611)
>>> torch.logdet(A)
tensor(-1.3430)
>>> A
tensor([[[ 0.9254, -0.6213],
         [-0.5787,  1.6843]],

        [[ 0.3242, -0.9665],
         [ 0.4539, -0.0887]],

        [[ 1.1336, -0.4025],
         [-0.7089,  0.9032]]])
>>> A.det()
tensor([1.1990, 0.4099, 0.7386])
>>> A.det().log()
tensor([ 0.1815, -0.8917, -0.3031])

相关用法


注:本文由纯净天空筛选整理自pytorch.org大神的英文原创作品 torch.logdet。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。