具体报错: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)