Windows 10上のTensorflow(Keras)でGPUを有効にする
Windows 10でディープラーニングの勉強をする際にKerasとTensorflowを少し使っているのですが、自分ちのPCが一応ゲーミングPCなので、GPUを有効にしてみた。
環境
インストールしたバージョン
- Visual Studio Community 2019
- C++によるデスクトップ開発
- Visual Studio Build Tools 2019
- C++ Build Tools
- CUDA 10.1 update2
- cuDNN 7.6
- Tensorflow 2.3.1 (pip)
- Keras 2.4.3 (pip)
- Visual Studio Community 2019
ほとんど、
を参考にさせてもらったのですが、一部違いとしては、Visual Studio Community 2019のC++によるデスクトップ開発をインストールしないと、CUDAをインストールするときに、CUDA Visual Studio Integration非サポートの警告が表示されました。あと、Tensorflowのインストールは、
のとおり、
pip install tensorflow
だけで、特にtensorflow-gpuを着けなくても、GPUは有効化されました。
from tensorflow.python.client import device_lib device_lib.list_local_devices()
[name: "/device:CPU:0" device_type: "CPU" memory_limit: 268435456 locality { } incarnation: 5082371811293174043, name: "/device:XLA_CPU:0" device_type: "XLA_CPU" memory_limit: 17179869184 locality { } incarnation: 1801013567918152845 physical_device_desc: "device: XLA_CPU device", name: "/device:GPU:0" device_type: "GPU" memory_limit: 5060693856 locality { bus_id: 1 links { } } incarnation: 3644703809891559097 physical_device_desc: "device: 0, name: GeForce GTX 1060 6GB, pci bus id: 0000:01:00.0, compute capability: 6.1", name: "/device:XLA_GPU:0" device_type: "XLA_GPU" memory_limit: 17179869184 locality { } incarnation: 2100757963281322856 physical_device_desc: "device: XLA_GPU device"]
kerasでMNISTの分類の学習時間の計測をしてみたところ、モデルによるとは思いますが*1、
と速くなりました。
*1:とある学習サイトのコピペモデルなので、版権の関係上ここには載せません