本文简要介绍python语言中 torch.lstsq
的用法。
用法:
torch.lstsq(input, A, *, out=None)
out(tuple,可选的) -可选的目标张量
一个命名元组(解决方案,QR)包含:
解(张量):最小二乘解
QR(Tensor):QR分解的细节
计算大小为 的满秩矩阵 和大小为 的矩阵 的最小二乘和最小范数问题的解。
如果
lstsq()
解决最小二乘问题: 、如果
lstsq()
解决了 least-norm 问题: 、返回的张量 具有形状 。 的前 行包含解决方案。如果 ,则每列中解的残差平方和由该列剩余 行中元素的平方和给出。
警告
torch.lstsq()
已弃用,取而代之的是torch.linalg.lstsq()
,并将在未来的 PyTorch 版本中删除。torch.linalg.lstsq()
具有相反的参数,并且不会在返回的元组中返回 QR 分解(它返回有关问题的其他信息)。torch.lstsq()
中返回的solution
存储案例m > n
中最后m - n
列中解的残差。在torch.linalg.lstsq()
中,残差位于返回的命名元组的字段 ‘residuals’ 中。将解决方案解压缩为
X = torch.lstsq(B, A).solution[:A.size(1)]
应替换为X = torch.linalg.lstsq(A, B).solution
注意
GPU 不支持 的情况。
注意
无论输入矩阵的步幅如何,返回的矩阵将始终被转置。也就是说,他们将有步幅
(1, m)
而不是(m, 1)
。例子:
>>> A = torch.tensor([[1., 1, 1], ... [2, 3, 4], ... [3, 5, 2], ... [4, 2, 5], ... [5, 4, 3]]) >>> B = torch.tensor([[-10., -3], ... [ 12, 14], ... [ 14, 12], ... [ 16, 16], ... [ 18, 16]]) >>> X, _ = torch.lstsq(B, A) >>> X tensor([[ 2.0000, 1.0000], [ 1.0000, 1.0000], [ 1.0000, 2.0000], [ 10.9635, 4.8501], [ 8.9332, 5.2418]])
参数:
关键字参数:
返回:
返回类型:
相关用法
- Python PyTorch lstsq用法及代码示例
- Python PyTorch log2用法及代码示例
- 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用法及代码示例
- Python PyTorch lu_solve用法及代码示例
- Python PyTorch logspace用法及代码示例
注:本文由纯净天空筛选整理自pytorch.org大神的英文原创作品 torch.lstsq。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。