Windows10のGPU環境でPyTorchやTensorFlowを利用したい。
そのためにはCUDAのcudnnのインストールが必要となる。
今回はWindows10とCUDAでPyTorchを使う準備について紹介する。
WindowsでCUDAを使う準備
PyTorchにしろTensorFlowにしろ、GPU環境で利用するにはCUDAの準備が必要だ。
WindowsでCUDAを使う準備としては以下の通り。
CUDA設定の流れ
- Visual Studioのインストール
- CUDAのインストール
- cudnnファイルの設置
Visual Studioのインストール
機械学習がしたいだけなのに
何故Visual Studioをインストールしなきゃいけないのか
と思うかも知れない。
しかしWindows環境でGPUを使うにはVisual Studioが必要である。
厳密にはCUDAのソフトウェアをインストールするためにVisual Studioのビルドツールが必要となる。
まずVisual Studioのダウンロードページから Build Tools for Visual Studo
をダウンロードする。
Visual Studio Build Tool のダウンロード |
---|
そしてダウンロードした vs_buildtools__xxx.xxx.exe
のような名前のファイルを実行する。
そしてインストールするツールを選択する際に C+ Build Tools
を選択してインストールする。
Visual Studio Build Tool のインストール |
---|
この作業を行わないとCUDAのインストールしても実は正常にインストールされていないという自体になるので、Visual Studio Build Toolのインストールは忘れず行っておこう。
CUDAのインストール
次はCUDAのインストールだが、ここでも注意が必要だ。
何故ならCUDAは最新をインストールしておけばいいわけではないからだ。
PCに刺さっているGPUや、使おうとしている機械学習ライブラリによって必要なバージョンが異なるので、最新をインストールするとバージョンが合ってなくて動かないという事態になる。
CUDAのバージョンとTensorFlow1.x系については以前の記事を参考にしてほしい。
またインストールするCUDAのバージョンを間違えた場合は、アンインストールが必要となる。
アンインストール方法についても過去の記事で触れている。
PyTorchについては公式ページに組み合わせとインストールコマンドが載っているのでこれを参考にしたい。
注意が必要な点として、2020年3月時点でCUDAの最新は10.2だが、PyTorchが対応しているバージョンは10.1である。
なのでNVIDIAのアーカイブサイトから10.1に対応した cuda_10.1.243_win10_network.exe
をダウンロードしてインストールする。
ちなみにVisual Studio Build Toolをインストールしておかないと、 Visual Studio 20XX was not found
という理由で、必要なファイルがインストールされずに終了してしまうので注意。
cudnnファイルの設置
CUDAのインストールが済めばcudnnファイルの設置は簡単だ。
同じくNVIDIAのサイトからCUDAのバージョンに対応したcudnnのzipファイルをダウンロードする。
そしてダウンロードしたzipファイルを解凍すると中に
- bin
- include
- lib
というフォルダが入っている。
これらのフォルダをCUDAをインストールしたフォルダ C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1
にコピペする。
CUDAをインストールしたフォルダの中にも bin 等フォルダがあり、コピペによってそこにcudnn用のファイルを追加している。
PyTorchやTensorFlowのインストール
ここまで実行できればPyTorchやTensorFlowのインストールも成功するはずだ。
例えばAnaconda環境であれば以下のコマンドでPyTorchのインストールができる。
conda install pytorch torchvision cudatoolkit=10.1 -c pytorch
準備が不完全だとインストールが失敗する
準備が不完全だとインストールが失敗する。
例えばPyTorchだと以下のようなエラーが発生する。
ModuleNotFoundError: No module named 'tools.nnwrap'
関連
まとめ
Windows10のGPU環境でPyTorchやTensorFlowを利用するにはCUDAの設定が必要だ。
そしてCUDAは以下の手順で設定できる。
CUDAをビルドする為に、Visual Studio (Build Tool) のインストールを先に行う必要があるので忘れないようにしよう。
CUDA設定の流れ
- Visual Studioのインストール
- CUDAのインストール
- cudnnファイルの設置