38
30

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

windows10でCUDA:GPUを使ってPyTorchを動かすためのポイント

Last updated at Posted at 2021-03-14

##PytorchをCUDAで動かす
###日経ソフトウェア21/01の記事の後半部
日経ソフトウェアの21年1月号にpytorchでのCNNを動かす特集記事があります。わかりやすい記事で良かったです。この記事の後半部にGPUでPytrochを動かす方法がのっています。そこで、CUDAを入れてみたのですが、動かすまでに時間がかかりましたので、自分がはまったポイントを覚えのために書いておきます。
(※10/04 5のパスについて追記しました)

###4つの条件が合わないといけない
まず4つのドライバーやライブラリーは以下の4つです。
このバージョンが合わないと動かない。

・NvideaのGPUドライバー
・CUDA toolkit
・cuDNN
・Pytorch

まずPytorch公式サイトを見ます。
INSTALL PYTORCHのところを見ると
image.png

今は、CUDAのv10かv11のようです。
ここの指定は、V11.1ですが、私は最新(21/03/14)のv11.2を入れてしまいました。

CUDAの入れ方は基本的には、この方のHPで良いと思いました。でも、この方のHPはtensorflowですので、最後でPytorchを入れないといけません。
TensorFlow (v2.2.0)でGPUを使う方法 (Windows)

0.GPUドライバーを最新にする。

1.Visual Studio のインストール
たぶん、これは、途中でCUDAが動いているかどうかの確認をするために必要なのだけだと思う。この確認を省くならば、いらないと思う。私は、以前入れていたVisual studia2017を使用することにした。

2.CUDA Toolkitのインストール
私は、最新のV11.2をインストールした。結論としては、V11.1でなくてもV11.2で動いた。

3.CUDA Toolkit が正常に入ったか確認
これを省くかどうかはやる人任せですね。私はVisual studia2017が入っていたので、bandwidthTest_vs2017.slnをビルドして実行して、確認した。ここでCUDA自体が動いているのが確認できた。

4.cuDNN のダウンロードおよび解凍
まず、CUDAでGPUを動かすためには、cuDNNがいる。これをダウンロードして解凍すると、CUDAというフォルダーができます。他のHPには、これを3でできたCUDAのフォルダーの中に入れてしまうというのもあるが、このHPのように、別で置いておいた方が、何かあった時によさそうだと思ったので、C:\tools\cudaにおいた。

5.Pathを通す(10/04追記)
CUDAtoolkitのPATHで自動で入るものもありますが、このHPTensorFlow (v2.2.0)でGPUを使う方法 (Windows)で書いてあるすべてのPATHは自動で入らない。私の場合は、2つ目と3つ目は自動では入っていなかった。後、cuDnnは自分でPATHを通さないといけない。
そういうわけなので、とりあえず、この4つ5つのPATHが通るように、windowsのシステムのプロパティから環境変数の設定に入って、自分で設定します。

5つのパスはこれです。
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\bin
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\libnvvp
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\extras\CUPTI\lib64
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\include
C:\tools\cuda\bin

このHPTensorFlow (v2.2.0)でGPUを使う方法 (Windows)から一つ増えていますが、どれが必要でどれがいらないのか、よくわかっていません。

ここまでで、CUDAの設定は終了。
基本はTensorFlow (v2.2.0)でGPUを使う方法 (Windows)で良いのですが、ここからがPytorch用で異なります。

6.CUDAのバージョンに合うPytorchを入れる。
Pytorch公式サイトで、自分のCUDAに合うPytorchのpipコマンドを作る。条件を選択すると、Run this Command:のところにインストールコマンドが出てきます。
私の場合は、stable版+windows+pip+CUDA11です。

pip install torch==1.8.0+cu111 torchvision==0.9.0+cu111 torchaudio===0.8.0 -f https://download.pytorch.org/whl/torch_stable.html

このコマンドをコピペして、pipインストールする。

これでCUDAとPytorchのインストールは完了です。

CUDAが有効かどうか?は


import torch
print(torch.cuda.is_available())

#True

こで、Trueがでれば、成功です。

はまったポイント

・そもそもcuDNNがいるとは思っていなかった。CUDAToolkitのみで動くと思っていた(笑)
・PATHを通すのが自動で入るもの以外にもいるみたい(検証していませんが)
・CUDAに合うPytorchがいることも知らなかった。

知らないということは恐ろしい。(苦笑)

38
30
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
38
30

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?