2017-01-11 4 views
5

私はUbuntuの-16.04 64ビット上のGPUをサポートしてTFのv0.12.1を使用しますが、私のパイプラインの内部エラーを持っている:テンソルフローのエラーはどこですか?

File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 1034, in _do_call 
    raise type(e)(node_def, op, message) 
tensorflow.python.framework.errors_impl.InternalError: Failed to run py callback pyfunc_4: see error log. 

どこTFは、そのエラーメッセージを記録しますか?

+0

コンテキストを追加できますか?これらの行の前後にあなたのシェルには他にどのようなログが出力されますか? – saeta

+1

@saeta十分な文脈があると思います。私の質問は、私のエラーの修正を見つけることではなく、ログを見つけることです。 –

答えて

5

この例外に対応するログは、opを実行するプロセスの標準エラーに書き込まれる必要があります。エラーメッセージはthis codeによって生成されます。PyErr_Print()を呼び出すと、(C APIの)現在のPython例外が標準エラーにレンダリングされます。

(分散TensorFlowを使用していて、tf.py_func() opが別のタスクに配置されている場合は、ログメッセージの標準エラーを調べる必要があります。ただし、オペコードがtf.py_func()の場合は動作しません。プロセス全体のレジストリに登録されている関数のコードに依存しているため、グラフを作成したプロセスとは異なるプロセスに配置されます)。

+0

IIUCエラーログは実際には_完全なPythonトレースバックです。 (py_func /分散警告のためにありがとう、私は今日の文書でそれを読む) –

+1

うーん、それは区別するのが難しいかもしれない...私は実際に3つの痕跡があることを期待していただろう: (2)失敗した 'Session.run()'呼び出しのトレースバック、(3) 'tf.py_func()' opの場所のトレースバック作成されました。私は例外メッセージが最初に印刷されるべきである(1)の詳細を探すように指示していると思います。これはおそらく、使いやすくすることができます.... – mrry

+0

は感謝します、ありがとう。 –

関連する問題