LoginSignup
0
0

【PyTorch】torch.solveをtorch.linalg.solveに置き換える

Last updated at Posted at 2024-01-13

数年前に作ったリポジトリの torch==1.7.0torch==1.13.0 に置き換えていて気付いた torch.solve の仕様変更に関するメモ。

Pytorchでは、線型方程式 $\mathbf{A} \mathbf{X} = \mathbf{B}$ を解く(行列$\mathbf{A}$ と 行列orベクトル$\mathbf{B}$ から解 $\mathbf{X}$ を求める)ソルバーが提供されている。

torch<=1.7 では torch.solve が利用可能で、torch>=1.8 からは torch.linalg.solve が新しく利用できる。

ただし、

torch.solvetorch.linalg.solve では引数と返り値が異なる

ことに注意する。

torch==1.7.0
X, LU = torch.solve(B, A)

torch==1.8.0
X = torch.linalg.solve(A, B)
LU = torch.lu(A)    # LU分解したい場合

そしてさらに

torch==1.9 から torch.solve の利用が非推奨

image.png

になり、

torch>=1.12 では torch.linalg.solve に一本化されて torch.solve は使えない

ことに注意。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0