#GPU対応のPyTorchをWindowsへ導入したい
(注意 conda と pip はごちゃまぜにしない)
AssertionError Traceback (most recent call last)
<ipython-input-2-94528e288f7d> in <module>()
2 import torch
3 print(torch.cuda.is_available())
----> 4 torch.cuda.current_device()
# ~ 省略 ~
AssertionError:
The NVIDIA driver on your system is too old (found version 9010).
Please update your GPU driver by downloading and installing a new
version from the URL: http://www.nvidia.com/Download/index.aspx
Alternatively, go to: https://pytorch.org to install
a PyTorch version that has been compiled with your version
of the CUDA driver.
Windows10でPyTorchのtorch.device("cuda", gpu_id)ができなかったので入れ直しました。
【本題】PyTorchの入れ直しの前と後
はじめは以下のようにしてPytorchを導入しました。
pip install torch===1.4.0 torchvision===0.5.0 -f https://download.pytorch.org/whl/torch_stable.html
ただしこれだと上述の通りGPUに対応しませんでした。CUDAなどのバージョンとあっていないのが原因だと思われます。
そこで以下のようにしました。
pip uninstall torch
pip uninstall torchvision
# Anaconda Promptを管理者権限で起動して以下を実行(下記サイトを参考にバージョンを変更)
conda install pytorch==1.1.0 torchvision==0.3.0 cudatoolkit=9.0 -c pytorch
**condaとpipは混在させてはいけません。**最悪Anacondaの入れ直しになります。そうならないようにAnaconda Navigatorで環境を管理しておくべきです。僕の場合は既にぐちゃぐちゃの環境のPCで試した後にきれいな環境のPCに整えようと思っているので、とりあえず実行できればいいやと思ってます。
PyTorchを始めようと思っていてWindowsがまだ綺麗な状態なら、conda installを使って管理してみるのはいかがでしょうか。
ちなみにCUDAとの対応などを確認するには以下のサイトが参考になります。
https://pytorch.org/get-started/previous-versions/
https://pytorch.org/
今回はCUDA9.0なのでPyTorch==1.1.0を選びました。例えば上記サイトによるとCUDA9.2だとPyTorch==1.2.0が選べます。
#以下、環境やバージョン確認方法についての詳細
環境
- Windows10
- GTX1060
- NVIDIA CUDA 9.0
- NVIDIA Driver Version 390.65
- cuDNN 7.0.5
NVIDIA CUDA Windowsでの確認方法
Anaconda Promptなどで
nvcc -V
NVIDIA Driver Windowsでの確認方法
Anaconda Promptなどで
cd C:\Program Files\NVIDIA Corporation\NVSMI
nvidia-smi.exe
NVIDIA cuDNN Windowsでの確認方法
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\include\cudnn.h
#define CUDNN_MAJOR 7
#define CUDNN_MINOR 0
#define CUDNN_PATCHLEVEL 5
の行を探す。上から順に7.0.5ということがわかる。
PyTorchのGPU対応の確認
import torch
print(torch.cuda.is_available())
torch.cuda.current_device()
出力が以下のようになっていればPytorchからGPUを使うことができます。
追記 torchsummaryインストール
torchsummaryをインストールしたかったのでやってみたら、これはconda installができませんでした。なのでAnaconda Promptで、
pip install torchsummary
としました。
参考
http://tecsingularity.com/cuda/version_conf/
https://qiita.com/kekekekenta/items/19972a45025a97330e21
https://qiita.com/nabenabe0928/items/7962dcf3030889667de4