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

2024-01-07 19:47:54

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

文章来源:https://blog.csdn.net/m0_37738114/article/details/135425967
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。