用于Tensorflow的Spyder调试器

时间:2016-05-24 22:21:09

标签: python anaconda tensorflow spyder

Spyder附带了一个功能强大的调试器,可用于在执行期间暂停代码并检查变量。

另一方面,Tensorflow变量不容易检查。有没有办法在spyder的python控制台中查看它们?

更新: 当我试图回答anatoly techtonik的评论时,我决定写一个虚拟程序来展示这种情况:

import tensorflow as tf

class foo(object):

    def __init__(self, a, b):
        self.a = tf.constant(a)
        self.b = tf.constant(b)
        init = tf.initialize_all_variables()
        self.c = self._foo_add()
        # Launch the session
        self.sess = tf.InteractiveSession()
        self.sess.run(init)

    def _foo_add(self):
        m = tf.add(self.a,self.b)
        return tf.add(m, tf.constant(1))

    def print_foo(self):
        return self.sess.run(self.c)

f = foo(2,3)
print f.print_foo()

如果在函数_foo_add的return语句上放置检查点,请按调试按钮并在控制台中键入m.eval(),您可以访问其值,在这种情况下为5。 我猜这回答了我的问题。谢谢anatoly techtonik。

1 个答案:

答案 0 :(得分:0)

您是否考虑过使用tensorflow调试器

https://www.tensorflow.org/api_guides/python/tfdbg

参加MNIST教程

www.tensorflow.org/programmers_guide/debugger

替代方案:Jupyter笔记本似乎有类似的扩展 (提示项目似乎已经不存在了)

https://github.com/ericjang/tdb