Как использовать инструмент отладки tensorflow tfdbg на tf.estimator в Tensorflow?

Я работаю с Tensorflow версии 1.4 и хочу отладить свою функцию train().

По этой ссылке https://www.tensorflow.org/programmers_guide/debugger#debugging_tf-learn_estimators_and_experiments

есть способ сделать это для tf.contrib.learn Estimators, но я не могу найти способ адаптировать его к (новое в версии 1.4) tf.estimator.

Это то, что я пробовал:

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)

Но я сталкиваюсь с этой ошибкой:

> --------------------------------------------------------------------------- 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

Может ли кто-нибудь указать мне в правильном направлении?


person Benjamin Larrousse    schedule 15.12.2017    source источник


Ответы (1)


По умолчанию установлено для работы в командной строке, если вы используете IDE, такую ​​​​как Pycharm, самым простым решением является изменение типа пользовательского интерфейса.

Пытаться:

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

вместо:

hooks = [tf_debug.LocalCLIDebugHook()]      

Если вы используете Pycharm, добавьте в параметры конфигурации --debug

person Lev Lavy    schedule 28.01.2018
comment
Я работаю с ноутбуком Jupyter, и да, он работает с вашим решением. Спасибо - person Benjamin Larrousse; 29.01.2018