简体   繁体   English

如何在Tensorflow中的tf.estimator上使用tensorflow调试工具tfdbg?

[英]How to use tensorflow debugging tool tfdbg on tf.estimator in Tensorflow?

I am working with Tensorflow version 1.4, and I want to debug my train() function. 我正在使用Tensorflow 1.4版,我想调试我的train()函数。

In this link https://www.tensorflow.org/programmers_guide/debugger#debugging_tf-learn_estimators_and_experiments 在此链接https://www.tensorflow.org/programmers_guide/debugger#debugging_tf-learn_estimators_and_experiments

there is a way to do it for tf.contrib.learn Estimators , but I can not find a way to adapt it to the (new in version 1.4) tf.estimator . 有一种方法可以为tf.contrib.learn Estimators做到这tf.contrib.learn Estimators ,但我找不到一种方法来使它适应(1.4版本中的新版本) tf.estimator

This is what I have tried: 这是我尝试过的:

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)

But I am running into this error: 但我遇到了这个错误:

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

Can someone point me in the right direction? 有人能指出我正确的方向吗?

The default is set for working in command line, if you use IDE such as Pycharm the simplest solution is to change UI type. 默认设置为在命令行中工作,如果使用诸如Pycharm之类的IDE,最简单的解决方案是更改UI类型。

Try: 尝试:

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

instead of: 代替:

hooks = [tf_debug.LocalCLIDebugHook()]      

In case you use Pycharm, add to the configuration parameters --debug 如果您使用Pycharm,请添加配置参数--debug

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM