24
22

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 1 year has passed since last update.

TensorflowでGPUを使う方法

Last updated at Posted at 2022-07-09

はじめに

自分はtensorflowで機械学習しようと思い、CPUだと遅すぎるのでGPUを用いようとしましたが、なかなか環境構築がうまくいかずに3,4時間かかりました。同じような境遇の方の助けになりたいよ思い、この記事を書こうと思いました。

パソコンのスペックや環境によって多少異なるので参考程度に閲覧してください。

環境

・Windows10
・Python3.9.13
・GPU : RTX3060 ti

構築の手順

NVIDIA Driver

まずはじめにNVIDIAドライバーのインストールをおこないます。

自分のGPUのスペックを調べて入力し、検索してください。

自分の場合は、GPU:RTX 3060 tiなので以下の画像のようになります。
image.png

検索すると以下のようになります。
※バージョンの数字を覚えておいてください。例:「516.59」
これをダウンロードしてください。

image.png

CUDA

次にCUDAのダウンロードですが、NVIDIAドライバーとCUDAの対応表を見てダウンロードするCUDAを選びます。
バージョンを間違えると動きませんので気を付けてください
対応表→https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html

対応表を見て、先ほどのバージョンの数字を確認して図に書いてある数字以下のものを選んでください。
私の場合は「516.59」なので、最新のCUDA11.7まで使うことができます。
この記事ではCUDA11.7をダウンロードします。
バージョンごとによって異なるかもしれませんが、ダウンロード後には自動でPATHが指定されます。
image.png

cuDNN

CUDA11.7をダウンロードする方はこちらのサイトを参考にしてください

CUDA11.2以前のバージョンをダウンロードする方はTensorflow公式のサイトを参考にしてください

自分の場合は、CUDA11.7は最新のcuDNN8.4.1を使えるそうなのでこのページからダウンロード
※ダウンロードには会員登録が必要です(無料)。

tensorflow-gpu

GPU版のtensorflowをインストールします。

Pythonのバージョンや上記でいれたもののバージョンを対応させながらtensorflow-gpuをインストールしてください。
人によって異なると思うので、対応表をみつけて丁寧に確認してください。
自分と同じバージョンを入れている方はtensorflow-gpu=2.9.1で大丈夫です。
image.png

image.png

確認

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 ~」のようなものが出ていれば、どこかバージョンが違っていると思われます。

-1
, name: "/device:GPU:0"
device_type: "GPU"
memory_limit: 5762973696
locality {
  bus_id: 1
  links {
  }
}
incarnation: 9287072046004413228

さいごに

もし上手くいかなかったり、いい対応表などがあればコメントで書いてくれると嬉しいです。

24
22
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
24
22

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?