はじめに
自分はtensorflowで機械学習しようと思い、CPUだと遅すぎるのでGPUを用いようとしましたが、なかなか環境構築がうまくいかずに3,4時間かかりました。同じような境遇の方の助けになりたいよ思い、この記事を書こうと思いました。
パソコンのスペックや環境によって多少異なるので参考程度に閲覧してください。
環境
・Windows10
・Python3.9.13
・GPU : RTX3060 ti
構築の手順
NVIDIA Driver
まずはじめにNVIDIAドライバーのインストールをおこないます。
自分のGPUのスペックを調べて入力し、検索してください。
自分の場合は、GPU:RTX 3060 tiなので以下の画像のようになります。
検索すると以下のようになります。
※バージョンの数字を覚えておいてください。例:「516.59」
これをダウンロードしてください。
CUDA
次にCUDAのダウンロードですが、NVIDIAドライバーとCUDAの対応表を見てダウンロードするCUDAを選びます。
バージョンを間違えると動きませんので気を付けてください
対応表→https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html
対応表を見て、先ほどのバージョンの数字を確認して図に書いてある数字以下のものを選んでください。
私の場合は「516.59」なので、最新のCUDA11.7まで使うことができます。
この記事ではCUDA11.7をダウンロードします。
バージョンごとによって異なるかもしれませんが、ダウンロード後には自動でPATHが指定されます。
cuDNN
CUDA11.7をダウンロードする方はこちらのサイトを参考にしてください
CUDA11.2以前のバージョンをダウンロードする方はTensorflow公式のサイトを参考にしてください
自分の場合は、CUDA11.7は最新のcuDNN8.4.1を使えるそうなのでこのページからダウンロード
※ダウンロードには会員登録が必要です(無料)。
tensorflow-gpu
GPU版のtensorflowをインストールします。
Pythonのバージョンや上記でいれたもののバージョンを対応させながらtensorflow-gpuをインストールしてください。
人によって異なると思うので、対応表をみつけて丁寧に確認してください。
自分と同じバージョンを入れている方はtensorflow-gpu=2.9.1で大丈夫です。
確認
NVIDIAドライバーとCUDAのバージョン確認
cmdで「nvidia-smi」と入力すると各バージョンが出てくると思います。
cuDNNのバージョン確認
入れたフォルダーによりますが、大体の人が以下のpathに「cudnn_version.h」があると思います。
PATH:「C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.7\include」
自分の場合は
CUDNN_MAJOR 8
CUDNN_MINOR 4
CUDNN_PATCHLEVEL 1
となっているのでバージョン8.4.1であることが確認できました。
#ifndef CUDNN_VERSION_H_
#define CUDNN_VERSION_H_
#define CUDNN_MAJOR 8
#define CUDNN_MINOR 4
#define CUDNN_PATCHLEVEL 1
tensorflow-gpuの動作確認
ここまで確認できた方はcmdで以下のコードを入力してください。
from tensorflow.python.client import device_lib
device_lib.list_local_devices()
このような表示がされれば成功です。
逆に、CPUのみであったり、「skipping ~」のようなものが出ていれば、どこかバージョンが違っていると思われます。
, name: "/device:GPU:0"
device_type: "GPU"
memory_limit: 5762973696
locality {
bus_id: 1
links {
}
}
incarnation: 9287072046004413228
さいごに
もし上手くいかなかったり、いい対応表などがあればコメントで書いてくれると嬉しいです。