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