美文网首页
tf.debugger调试实例

tf.debugger调试实例

作者: yalesaleng | 来源:发表于2018-07-16 20:32 被阅读20次

    使用tf的debugger调试十分简单,总分为以下几个流程:#

    1. import tensorflow的调试模块

    fromf  tensorflow.python import debug as tfdbg
    

    2. 用调试模块的会话对象包装原有的Session对象:

    withw  tf.Session(config=config) as sess:
    sess = tfdbg.LocalCLIDebugWrapperSession(sess)
    

    3. 加入异常值对应的过滤器(可以自定义过滤器)

    sess.add_tensor_filter("has_inf_or_nan", tfdbg.has_nan_or_inf)
    

    4. 运行代码,并在带过滤器的情况下运行

    r -f has_inf_or_nan
    

    5. 跟踪异常值产生的节点,并找到异常值来源在源码中的位置(这个较灵活,有些可能需要回溯几个节点,有些直接可查)

    nin  -t Discrim/add_2
    

    6. 退出debugger

    nin  -t Discrim/add_2
    

    如何在实例中调用tfdbg(以mnist为例):

    1. 其他地方都不需要改动,只需要使用调试模块来包装sess对象:

    2. 添加需要用到的异常值所对应的过滤器

    3. 然后在命令行中输入以下代码:

    4. 等待片刻即可进入tensorflow的debugger模式:

    5. 输入命令run即可得到所有变量

    6. 输入命令run -f has_inf_or_nan即可得到所有值为inf或nan的变量

    7. 输出命令 例如:pt conv2d_1/random_uniform/shape:0 即可得到conv2d_1/random_uniform/shape:0的值


    tfdbg CLI常用命令:

    详情请见:http://cwiki.apachecn.org/pages/viewpage.action?pageId=10029501

    相关文章

      网友评论

          本文标题:tf.debugger调试实例

          本文链接:https://www.haomeiwen.com/subject/fzqipftx.html