本文简要介绍python语言中 torch.lu_unpack
的用法。
用法:
torch.lu_unpack(LU_data, LU_pivots, unpack_data=True, unpack_pivots=True, *, out=None)
将数据解包并从张量的 LU 因式分解为张量
L
和U
以及排列张量P
以便LU_data, LU_pivots = (P @ L @ U).lu()
。返回张量的元组为
(the P tensor (permutation matrix), the L tensor, the U tensor)
.注意
P.dtype == LU_data.dtype
和P.dtype
不是整数类型,因此可以使用P
的矩阵乘积而不将其转换为浮点类型。例子:
>>> A = torch.randn(2, 3, 3) >>> A_LU, pivots = A.lu() >>> P, A_L, A_U = torch.lu_unpack(A_LU, pivots) >>> >>> # can recover A from factorization >>> A_ = torch.bmm(P, torch.bmm(A_L, A_U)) >>> # LU factorization of a rectangular matrix: >>> A = torch.randn(2, 3, 2) >>> A_LU, pivots = A.lu() >>> P, A_L, A_U = torch.lu_unpack(A_LU, pivots) >>> P tensor([[[1., 0., 0.], [0., 1., 0.], [0., 0., 1.]], [[0., 0., 1.], [0., 1., 0.], [1., 0., 0.]]]) >>> A_L tensor([[[ 1.0000, 0.0000], [ 0.4763, 1.0000], [ 0.3683, 0.1135]], [[ 1.0000, 0.0000], [ 0.2957, 1.0000], [-0.9668, -0.3335]]]) >>> A_U tensor([[[ 2.1962, 1.0881], [ 0.0000, -0.8681]], [[-1.0947, 0.3736], [ 0.0000, 0.5718]]]) >>> A_ = torch.bmm(P, torch.bmm(A_L, A_U)) >>> torch.norm(A_ - A) tensor(2.9802e-08)
参数:
相关用法
- Python PyTorch lu_solve用法及代码示例
- Python PyTorch lu用法及代码示例
- Python PyTorch log2用法及代码示例
- Python PyTorch lstsq用法及代码示例
- Python PyTorch lerp用法及代码示例
- Python PyTorch logical_xor用法及代码示例
- Python PyTorch load_state_dict_from_url用法及代码示例
- Python PyTorch logical_and用法及代码示例
- Python PyTorch lt用法及代码示例
- Python PyTorch log_softmax用法及代码示例
- Python PyTorch lgamma用法及代码示例
- Python PyTorch logical_or用法及代码示例
- Python PyTorch lazy_apply用法及代码示例
- Python PyTorch logit用法及代码示例
- Python PyTorch logical_not用法及代码示例
- Python PyTorch ldexp用法及代码示例
- Python PyTorch logcumsumexp用法及代码示例
- Python PyTorch log10用法及代码示例
- Python PyTorch logaddexp用法及代码示例
- Python PyTorch logdet用法及代码示例
- Python PyTorch load_sp_model用法及代码示例
- Python PyTorch log用法及代码示例
- Python PyTorch list用法及代码示例
- Python PyTorch logsumexp用法及代码示例
- Python PyTorch linspace用法及代码示例
注:本文由纯净天空筛选整理自pytorch.org大神的英文原创作品 torch.lu_unpack。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。