TensorFlow调试器(tfdbg)是TensorFlow的专用调试器。它提供了运行TensorFlow图的内部结构和状态的可见性。从这种可见性获得的洞察力应该有助于在训练和推理期间调试各种类型的模型错误。
tfdbg 用起来是十分简单的。以至于简单到我们只需要增加两行代码,就可以将之前的模型改成可 debug 的。
在 debug 界面,也只需熟悉几个常用的命令就可以了。
# 第一行: 引包
from tensorflow.python import debug as tf_debug
sess = tf.Session()
# 初始化的 sess 没必要加上 debug wrapper
sess.run(tf.global_variables_initializer())
# 第二行,给 session 加个 wrapper
debug_sess = tf_debug.LocalCLIDebugWrapperSession(sess=sess)
debug_sess.run(train_op) # 用 加了 wrapper 的 session,来代替之前的 session 做训练操作
然后命令行执行
python demo_debug.py
# 或者
python -m demo_debug
调试包装器会话将在您即将执行第一次run()调用时提示您,并提供有关 获取的张量和馈送字典显示在屏幕上的信息。
image2017-6-8 12_41_16.png
Tips
: debug 界面中 带 下划线的 东西 都是可以用鼠标点一下,就会触发相应操作的
关于debug 界面的命令,官方文档有详细的说明
https://www.tensorflow.org/programmers_guide/debugger#debugging_model_training_with_tfdbg
核心的几个命令是:
- run :执行一次 debug_session.run() , 这次执行产生中间 tensor 的值都可以通过 debug 界面查看
- exit : 退出 debug
网友评论