Windows 10上のTensorflow(Keras)でGPUを有効にする

Windows 10でディープラーニングの勉強をする際にKerasとTensorflowを少し使っているのですが、自分ちのPCが一応ゲーミングPCなので、GPUを有効にしてみた。

ほとんど、

www.kkaneko.jp

を参考にさせてもらったのですが、一部違いとしては、Visual Studio Community 2019のC++によるデスクトップ開発をインストールしないと、CUDAをインストールするときに、CUDA Visual Studio Integration非サポートの警告が表示されました。あと、Tensorflowのインストールは、

www.tensorflow.org

のとおり、

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

  • GPUあり:実行時間:144.0960705280304秒
  • GPUなし:実行時間:294.20286107063293秒

と速くなりました。

*1:とある学習サイトのコピペモデルなので、版権の関係上ここには載せません