如何在Tensorflow中的tf.estimator上使用tensorflow调试工具tfdbg?
How to use tensorflow debugging tool tfdbg on tf.estimator in Tensorflow?
我正在使用 Tensorflow 1.4 版,我想调试我的 train()
函数。
在此linkhttps://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
有人能指出我正确的方向吗?
默认设置为在命令行中工作,如果您使用 IDE 例如 Pycharm 最简单的解决方案是更改 UI 类型。
尝试:
hooks = [tf_debug.LocalCLIDebugHook(ui_type="readline")]
而不是:
hooks = [tf_debug.LocalCLIDebugHook()]
如果您使用 Pycharm,请在配置参数中添加 --debug
我正在使用 Tensorflow 1.4 版,我想调试我的 train()
函数。
在此linkhttps://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
有人能指出我正确的方向吗?
默认设置为在命令行中工作,如果您使用 IDE 例如 Pycharm 最简单的解决方案是更改 UI 类型。
尝试:
hooks = [tf_debug.LocalCLIDebugHook(ui_type="readline")]
而不是:
hooks = [tf_debug.LocalCLIDebugHook()]
如果您使用 Pycharm,请在配置参数中添加 --debug