2017-12-15 1 views
8

Ich arbeite mit Tensorflow Version 1.4, und ich möchte meine train() Funktion debuggen.Wie benutzt man Tensorflow Debugging Tool tfdbg auf tf.estimator in Tensorflow?

In diesem Link https://www.tensorflow.org/programmers_guide/debugger#debugging_tf-learn_estimators_and_experiments

gibt es eine Möglichkeit, es für tf.contrib.learn Estimators zu tun, aber ich kann es auf den (neu in Version 1.4) tf.estimator nicht einen Weg finden, anzupassen.

Dies ist, was ich versucht habe:

from tensorflow.python import debug as tf_debug 

# Create an estimator 
my_estimator = tf.estimator.Estimator(model_fn=model_fn, 
             params=model_params, 
             model_dir='/tb_dir', 
             config=config_estimator) 

# Create a LocalCLIDebugHook and use it as a hook when calling train(). 
hooks = [tf_debug.LocalCLIDebugHook()] 

# Train 
my_estimator.train(input_fn=train_input_fn, steps=10,hooks=hooks) 

Aber ich in diesen Fehler leite:

> --------------------------------------------------------------------------- error 
Traceback (most recent call 
> last) <ipython-input-14-71325f3c8f14> in <module>() 
>  7 
>  8 # Train 
> ----> 9 my_estimator.train(input_fn=train_input_fn, steps=10,hooks=hooks) 
> 
[...] 
> 
> /root/anaconda3/lib/python3.6/site-packages/tensorflow/python/debug/cli/curses_ui.py 
> in _screen_launch(self, enable_mouse_on_start) 
>  443 
>  444  curses.noecho() 
> --> 445  curses.cbreak() 
>  446  self._stdscr.keypad(1) 
>  447 
> 
> error: cbreak() returned ERR 

Kann jemand mich in die richtige Richtung?

Antwort

2

Der Standardwert ist für die Arbeit in der Befehlszeile festgelegt, wenn Sie IDE wie Pycharm verwenden, ist die einfachste Lösung, den UI-Typ zu ändern.

Versuchen:

hooks = [tf_debug.LocalCLIDebugHook(ui_type="readline")] 

statt:

hooks = [tf_debug.LocalCLIDebugHook()]  

Falls Sie PyCharm verwenden, fügen Sie die Konfigurationsparameter --debug

+0

ich mit einem Jupyter Notebook arbeite, und ja, Es arbeitet mit Ihrer Lösung. Vielen Dank –

Verwandte Themen