0
点赞
收藏
分享

微信扫一扫

torch.solve已弃用,如何改为torch.linalg.solve?


具体报错:RuntimeError: This function was deprecated since version 1.9 and is now removed. Please use the `torch.linalg.solve` function instead.

报错代码:

X, LU = torch.solve(rhs, lhs)

1、torch.solve 函数的期望输入有2个:右侧向量、系数矩阵;而 torch.linalg.solve 函数的期望输入也有2个:系数矩阵、右侧向量(顺序与torch.solve的输入相反)。

2、torch.solve 和 torch.linalg.solve 在返回值上也有所不同。

torch.solve 函数返回一个元组 (solution, LU),其中 solution 是解向量,LU 是矩阵 A 的 LU 分解。LU 分解是一种将矩阵分解为下三角矩阵 L 和上三角矩阵 U 的方法。

而 torch.linalg.solve 函数只返回解向量,不返回 LU 分解。因此,torch.linalg.solve 只给出了线性方程组的解,而没有提供 LU 分解的信息。

所以这行代码需要改为:

X = torch.linalg.solve(lhs, rhs)

举报

相关推荐

0 条评论