2017-01-11 10 views
5

używam TF v0.12.1 z obsługą GPU na Ubuntu 16.04 64 bity, ale mają wewnętrzny błąd w moim rurociągu:Gdzie jest błąd dziennika tensorflow?

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. 

Skąd TF logowaniu swoje komunikaty o błędach?

+0

Czy można uwzględnić więcej kontekstu? Jakie inne logi są drukowane w twojej powłoce przed i po tych liniach? – saeta

+1

@saeta Myślę, że jest wystarczająco dużo kontekstu. Moje pytanie nie dotyczy znalezienia poprawki dla mojego błędu, ale znalezienia logu. –

Odpowiedz

5

Dziennik odpowiadający temu wyjątkowi powinien być zapisany jako błąd standardowy w procesie, w którym uruchomiono operację. Komunikat o błędzie jest generowany przez this code, który wywołuje PyErr_Print(), który renderuje bieżący wyjątek Pythona (w C API) do błędu standardowego.

(Zwróć uwagę, że jeśli używasz rozproszonego TensorFlow, a tf.py_func() op jest umieszczany w innym zadaniu, powinieneś sprawdzić standardowy błąd dla tego zadania dla komunikatów dziennika.) Należy jednak pamiętać, że tf.py_func() nie działa, jeśli operacja jest umieszczany w innym procesie niż proces, który utworzył wykres, ponieważ opiera się na kodzie funkcji zarejestrowanej w rejestrze obejmującym cały proces).

+0

IIUC dziennik błędów to _in fact_ (wyczerpujące) Python traceback I _already_ have. (Dzięki za ostrzeżenie py_func/distributed, przeczytałem to w dzisiejszym dokumencie) –

+1

Hmm, to może być trudne do odróżnienia ... Spodziewałbym się, że istnieją trzy tracebacki: (1) Niepowodzenie, które wystąpiło, gdy TF op nazwał treść 'tf.py_func()' op, (2) Wywołanie zwrotne dla wywołania 'Session.run()', które się nie powiodło, oraz (3) Funkcja traceback dla miejsca, w którym 'tf.py_func()' op powstał. Myślę, że komunikat o wyjątku mówi ci, aby szukać więcej informacji w (1), który powinien być wydrukowany jako pierwszy. To może być prawdopodobnie łatwiejsze w użyciu .... – mrry

+0

ma sens, dzięki. –

Powiązane problemy