Neural Network Console 02(GPU設定、効果)

2018-03-17

AI Neural_Network_Console

Neural Network Console 01(インストールとサンプル実行) の続き

関連記事
  1. ASUS ZENBOOK UX303LN メモリー故障、交換
  2. Windows 10 1709(Fall Creators Update) クリーンインストール
参考情報
関連記事1以来、Neural Network Consoleをいじってみているが、エンジンにはCPUを用いていた。でもよく考えると、私の自宅PCにはGPUがついている。PCのスペックは以下。

Setup(右上アイコン)→ENGINE→GPU でGPUを選択して、サンプルを実行してみた。
"…Failed `status == CUDNN_STATUS_SUCCESS`: NOT_INITIALIZED"
と言われて実行できない。
最初に思ったことは、そういえばこのPCは、GPUとIntel内臓グラフィックを適時切り替えて使うということだったので、GPUが使われていないのかも、だった。デバイスドライバーからIntel(R) HD Graphics Familyを無効にしてみたが、症状は変わらなかった。
CUDA(NVIDIAのGPUを演算に使う仕組み?。NNCはCUDAのみ対応)の何か(開発環境とか)を入れないといけないのかとも思ったが(そういう事を書いている方もいた)、Sonyさんはそんなことは言っていない。
SonyさんのFAQ(参考情報1)で、NVIDIAのドライバーを最新にするようにと言っているので、デバイスマネージャーから更新してみたが、最新だという事だった。バージョンは忘れたけど2016年のものだったので、もうちょっと新しいものがあるかと思い、NVIDIAからダウンロード、インストールしたところ(2018/02/23バージョン23.21.13.9101)、GPUエンジンで実行できるようになった。

効果を確認してみた。比較として、別のPC(X1 Carbon)でも確認してみた。こちらはCPUのみだが、CPUは新しい。

測定結果:サンプルプロジェクトのTRAINING実行時間(Elapsed 分:秒)
*初めて実行するときにデータのコピーがあるようなので、一度実行してから計測

UX303LN
CPU
UX303LN
GPU
X1Carbon
01_logistic_regression 00:12 00:17 00:07
02_binary_cnn 01:37 00:27 01:10
LeNet 08:26 01:35 06:19

  • 01だけは、CPUの方が速いが、それ以外はGPUの方が速い。特に時間が長いLeNetでの差は圧倒的。GPUを使うのに何かオーバーヘッドがあるけど、演算は圧倒的に速いという事かな。
  • CPUの差はあるけど、大きな差ではない。CPUの能力差がその程度なのかも。またHDDとSSDの差もあるので、純粋にCPUの差だけではない。
ということで、GPUは確かに効果があるようだ。実用的なものに使うなら演算時間は相当伸びるだろうから、より効果は大きいだろう。
もともとGPU付きのPCを買ったのは、3D CADでも使うかもと思ったからだが、やっぱり家ではめったに使わない。ゲームもしないし、今までほとんど役立ったことはなかったが、こんなところで役立つとは。もちろん今後いっぱい使わないと意味はないけど。NVIDIAが持てはやされるわけだ。

Neural Network Console 03(自前データ)
Neural Network Console 04(繰り返し回数と学習結果 Max Epoch ) に続く