<環境>
ubuntu 16.04
Tensorflow-gpu 0.12.1
Jupyter 1.0.0
グラフィックボード GeForce GTX 1050 Ti
Jupyter にてTensorflow-gpu を使ってTensorflow のチュートリアル、MNIST For ML Beginners を実行すると、最後の
python
1print(sess.run(accuracy, feed_dict={x: mnist.test.images, y_: mnist.test.labels}))
で
python
1InternalError: Dst tensor is not initialized. 2 [[Node: _recv_Placeholder_1_0/_5 = _Recv[client_terminated=false, recv_device="/job:localhost/replica:0/task:0/gpu:0", send_device="/job:localhost/replica:0/task:0/cpu:0", send_device_incarnation=1, tensor_name="edge_9__recv_Placeholder_1_0", tensor_type=DT_FLOAT, _device="/job:localhost/replica:0/task:0/gpu:0"]()]] 3 [[Node: Mean/_9 = _Recv[client_terminated=false, recv_device="/job:localhost/replica:0/task:0/cpu:0", send_device="/job:localhost/replica:0/task:0/gpu:0", send_device_incarnation=1, tensor_name="edge_27_Mean", tensor_type=DT_FLOAT, _device="/job:localhost/replica:0/task:0/cpu:0"]()]]
というエラーが出てしまいます。
調べたところこちらのサイトGPUのメモリ不足だという指摘がありました。
グラフィックボードのメモリは4GBほどあるはずなので、メモリ不足ではないと思い、jupyter からではなくpython から実行するとエラーはでませんでした。
またグラフィックボードを確認すると
sh
1nvidia-smi 2 3+-----------------------------------------------------------------------------+ 4| NVIDIA-SMI 375.26 Driver Version: 375.26 | 5|-------------------------------+----------------------+----------------------+ 6| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | 7| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | 8|===============================+======================+======================| 9| 0 GeForce GTX 105... Off | 0000:01:00.0 On | N/A | 10| 40% 22C P8 35W / 75W | 3803MiB / 4037MiB | 0% Default | 11+-------------------------------+----------------------+----------------------+ 12 13+-----------------------------------------------------------------------------+ 14| Processes: GPU Memory | 15| GPU PID Type Process name Usage | 16|=============================================================================| 17| 0 915 G /usr/lib/xorg/Xorg 49MiB | 18| 0 18035 C ...pyenv/versions/anaconda3-4.2.0/bin/python 165MiB | 19| 0 18284 C python 3585MiB | 20+-----------------------------------------------------------------------------+
と出てきており、jupyter(processの下から2つめ) では165MiBしか使われていないのに対して、通常のpython(一番下)では3585MiB使われています。
(最初にjupyter を走らせて、その後にpython で走らせたので、python でメモリを使いすぎて、jupyter にまわらなかったということはないです)
jupyter での実行時にメモリの割当を実行すれば解決できそうなのですが、調べてもわかりませんでした。
ということで、jupyter でgpu のメモリ割り当ての方法を教えてください。
また将来的にKeras を使おうと思っているので、同様にKeras でのメモリ設定の方法もあれば教えてください。
よろしくお願いいたします。
あなたの回答
tips
プレビュー