やることは、下記
1.tensorflow-gpu インストール
2.Visual Studio インストール
3.CUDAインストール
4.cuDNNインストール
5.システム環境変数を設定
OSなどの環境は以下
OS: Windows 10 64bit
GPU: NVIDIA GeForce GTX 1650 SUPER
Python 3.9.10
tensorflow-gpu 2.8.0
cuda 11.5
cudnn 8.3
1.tensorflow-gpu
cmdにて
$pip3 install tensorflow-gpu
4.cuDNN 8.3(cudaのバージョンに合わせる)
https://developer.nvidia.com/rdp/cudnn-download
ダウンロードにアカウント登録が必要
以下参考にインストール
https://docs.nvidia.com/deeplearning/cudnn/install-guide/index.html#installcuda-windows
cuDNN を含む <インストールパス> ディレクトリに移動します。
cuDNN パッケージを解凍します。
cudnn-windows-x86_64--archive.zip
以下のファイルをCUDAツールキットディレクトリにコピーします。
\cuda\bin\cudnn.dll を C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vx.x\bin にコピーします。
\cuda\include\cudnn*.h を C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vx.x\include にコピーします。
\cuda\lib\x64\cudnn*.lib を C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vx.x\lib\x64 にコピーします。
次の環境変数を、cuDNN が置かれている場所を指すように設定します。$(CUDA_PATH) 環境変数の値にアクセスするには、以下のステップを実行します。
[スタート]メニューからコマンドプロンプトを開きます。
「実行」と入力し、Enter キーを押します。
制御 sysdm.cpl コマンドを発行します。
ウィンドウの上部にある [詳細設定] タブを選択します。
ウィンドウの下部にある「環境変数」をクリックします。
次の値が設定されていることを確認します。
Variable Name: CUDA_PATH
Variable Value: C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vx.x
Visual Studio プロジェクトに cudnn.lib を含めます。
Visual Studio プロジェクトを開き、プロジェクト名を右クリックします。
[リンカ] をクリックして、[入力] >追加の依存関係>します。(プロジェクトのプロパティ、リンカー、入力、追加の依存ファイル)
cudnn.lib を追加し、「OK」をクリックします。
5.システム環境変数を設定
以下を、システム環境変数のpathに追加します
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.5\bin
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.5\extras\CUPTI\lib64
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.5\include
C:\tools\cuda\bin
Cuda ダウンロード後、展開してできたcudaディレクトリをc:\tools\以下に移動
以上で設定は完了し、一度コンピュータの再起動を行う
次にcmdを開き
$python
>>> from tensorflow.python.client import device_lib
>>> device_lib.list_local_devices()
2022-03-31 16:04:14.691598: I tensorflow/core/platform/cpu_feature_guard.cc:151] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations: AVX AVX2
To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.
2022-03-31 16:04:20.684652: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1525] Created device /device:GPU:0 with 2138 MB memory: -> device: 0, name: NVIDIA GeForce GTX 1650 SUPER, pci bus id: 0000:01:00.0, compute capability: 7.5
[name: "/device:CPU:0"
device_type: "CPU"
memory_limit: 268435456
locality {
}
incarnation: 17513321691424484793
xla_global_id: -1
, name: "/device:GPU:0"
device_type: "GPU"
memory_limit: 2241986560
locality {
bus_id: 1
links {
}
}
incarnation: 6836223347096653990
physical_device_desc: "device: 0, name: NVIDIA GeForce GTX 1650 SUPER, pci bus id: 0000:01:00.0, compute capability: 7.5"
xla_global_id: 416903419
]
以上でGPU計算環境設定完了