PyTorchでGPUを使うために
こちらの記事が参考になります.
https://qiita.com/rikinumata/items/b3729ad5144a3e98c6b4
1.PyTorchが要求するCUDAのバージョンの確認
Pythonでありがちな事象ですが,バージョンの組み合わせを熟慮してから取り掛かる必要があります.
PyTorchのウェブサイト(https://pytorch.org/)で以下のようにインタラクティブに実行すべきpipコマンドを教えてくれますが,これだけ見てpipを実行するとハマります.
つまり,ここではバージョンの確認だけします.
2.自分の環境で使えるCUDAのバージョン確認
NVIDIAのウェブサイト https://developer.nvidia.com/cuda-gpus で,自分のPCのGPUについてそのCompute Capabilityを確認します.次に,https://en.wikipedia.org/wiki/CUDA#GPUs_supported を参照して,CUDAのどのバージョンが使えるかを確認します(後者だけでも分かると思います).
この例でいえば,Compute Capabilityが8台であれば,CUDAは11.0~12.5まで使えることがわかります.
3.NVIDIAドライバ,CUDA,cuDNNのインストール
1と2でPyTorchが要求するCUDAのバージョンと自分の環境で使えるCUDAのバージョンが分かったので,一致するように設定します.
たとえばいま画像で示した状況であれば,2で使える最大の12.5ではなく,1と2で一致する12.4を選ばなければなりません.
ドライバ,CUDAとcuDNNのインストールについては他のサイトに詳しく出ているので省略しますが,cuDNNのダウンロードにはアカウントの登録が必要ですので注意してください.
また,CUDAのパスを通す必要もあります.環境変数の設定で,インストールしたCUDAのフォルダを追加してください.
4.visual studioのインストール
私が苦戦したのがここでした.
「開発環境はAnacondaのSpyderを使っているのでvisual studioはいらないだろう」と思ったら大間違いで,あとで「dllがない」エラーでハマりました.つまり,インストール時にダウンロードされるdllがほしいからvisual studioとC++開発環境(「C++によるデスクトップ開発」)をインストールする必要があります.dllだけダウンロードする方法もあるようですが,野良dllサイトはちょっと怖いですね.
5.PyTorchのインストール
ようやくPyTorchのインストールです.https://pytorch.org/で表示されたコマンドをコピペして実行してください.
6.動作チェック
まず,
nvcc -V
を実行しましょう.
これで目的のCUDAのバージョンが出ないときは,システムとしてCUDAが使えていない状態ですから,他の設定を試しても意味がありません.
PyTorchの動作確認は,次のコードを実行します.
import torch
print(torch.__version__)
目的のバージョンが返ってくればOKです.お疲れ様でした.