質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

0回答

8793閲覧

Jupyter でのTensorflow-gpu のGPU メモリの割当設定について

ray.prorsum

総合スコア73

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2017/01/21 07:10

<環境>
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 でのメモリ設定の方法もあれば教えてください。

よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問