PyTorchでCUDAを使用したい!と思っていろいろ調べてみるが、どれも肝心な部分が「分かっている」前提で書かれていて役に立たない。
なので結局自分で試行錯誤してあれやこれややってみることになるのだが、どうやってもコンピュータちゃんがGPUを使ってくれない。。。
完全に積んだと思っていたのだが、やけくそでガチャガチャしていたら偶然使えるようになったのでここに備忘録として書きなぐっていこうと思う。
まず、PyTorchでCUDAを使用する際の参考サイトの例としては以下がある。
https://qiita.com/motoyuki1963/items/a334c9488c2f55a867cf
https://happy-shibusawake.com/windows_cuda-pytorch/909/
https://koubou-rei.com/entry/cuda_cudnn
基本的にはこれの通りやればいいのだが、めちゃくちゃ重要な点が抜け落ちているので追記する。
グラボのCUDAバージョンを確認しろ!
コマンドプロンプトでnvidia-smi
と打つとコンピュータに搭載されてるNVIDIAグラボの詳細情報が表示される。
> nvidia-smi
Thu Aug 10 11:45:14 1919
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 536.67 Driver Version: 536.67 CUDA Version: 12.2 |
|-----------------------------------------+----------------------+----------------------+
| GPU Name TCC/WDDM | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+======================+======================|
| 0 NVIDIA GeForce GTX 1660 ... WDDM | 00000000:01:00.0 On | N/A |
| 38% 39C P8 15W / 125W | 725MiB / 6144MiB | 5% Default |
| | | N/A |
+-----------------------------------------+----------------------+----------------------+
+---------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=======================================================================================|
~~省略~~
確認する箇所はCUDA Version:
の項目
ここに記載のVersionにあったCUDA Toolkitを入れる必要がある。(これに気付くのに3日かかった...)
この場合は12.2
なのでver12.2のやつを入れる。
>12.2のDL↓
https://developer.nvidia.com/cuda-downloads
あとは上のサイトの通りにやってprint(torch.cuda.is_available())
でTrue
が出ればOK