Osomaki67のブログ

個人的な備忘録兼日記にしたいと思います。

AI 事始め6:ちょっと寄り道:tensorflow ハードウェア条件の確認

tensorflow_gpu-1.11.0もインストールしたので、サポートしていないGPUにどんな反応をするか、しつこく調べてみました。Using GPUsという記事にサンプルコードが記載されており、ご親切にコピーボタンまで付いてます。

f:id:Osomaki67:20181009144847p:plain
早速コピーして、テキストファイルに張り付けて、

import tensorflow as tf という行を先頭に加えて、拡張子を.pyにして、utf-8文字コードで、名前を例えば、devmapping.pyとして保存する。この作業には、サクラエディタを利用しました。

先に作成したGPU用のenvironment ”tfggg”から、Terminalを起動し、下記で実行しました。

>python devmapping.py
2018-10-09 15:56:25.944437: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1411] Found device 0 with properties:
name: GeForce GT 710 major: 3 minor: 5 memoryClockRate(GHz): 0.954
pciBusID: 0000:01:00.0
totalMemory: 2.00GiB freeMemory: 1.67GiB
2018-10-09 15:56:25.948722: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1461] Ignoring visible gpu device (device: 0, name: GeForce GT 710, pci bus id: 0000:01:00.0, compute capability: 3.5) with Cuda compute capability 3.5. The minimum required Cuda capability is 3.7.
2018-10-09 15:56:25.953086: I tensorflow/core/common_runtime/gpu/gpu_device.cc:971] Device interconnect StreamExecutor with strength 1 edge matrix:
2018-10-09 15:56:25.955495: I tensorflow/core/common_runtime/gpu/gpu_device.cc:977] 0
2018-10-09 15:56:25.956933: I tensorflow/core/common_runtime/gpu/gpu_device.cc:990] 0: N
Device mapping: no known devices.
2018-10-09 15:56:25.959448: I tensorflow/core/common_runtime/direct_session.cc:291] Device mapping:

MatMul: (MatMul): /job:localhost/replica:0/task:0/device:CPU:0
2018-10-09 15:56:25.962255: I tensorflow/core/common_runtime/placer.cc:922] MatMul: (MatMul)/job:localhost/replica:0/task:0/device:CPU:0
a: (Const): /job:localhost/replica:0/task:0/device:CPU:0
2018-10-09 15:56:25.965878: I tensorflow/core/common_runtime/placer.cc:922] a: (Const)/job:localhost/replica:0/task:0/device:CPU:0
b: (Const): /job:localhost/replica:0/task:0/device:CPU:0
2018-10-09 15:56:25.968120: I tensorflow/core/common_runtime/placer.cc:922] b: (Const)/job:localhost/replica:0/task:0/device:CPU:0
[[22. 28.]
[49. 64.]]

やはり、GeForce GT 710は使えませんでしたが、理由はThe minimum required Cuda capability is 3.7.でした。

tensorflowに使用できるハード条件では、NVIDIA® GPU card は Compute Capability 3.5以上とあるのに、いつの間にか変わっています。

NvidiaのToolkitの情報では、5.x以上となっていますので、これとも違います。進化の激しい分野では、この辺の確認が作業が極めて大変そうですね。注意1秒ケガ一生ではないですが、普段の注意が肝要ですね。

それでも、CPUを使って、計算結果の出力まで実行してくれ、途中でハングすることは無いようなので、自分が何をしているかを、常に把握していれば、問題無いようです。