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。
答案 0 :(得分:0)
您是否考虑过使用tensorflow调试器
https://www.tensorflow.org/api_guides/python/tfdbg
参加MNIST教程
www.tensorflow.org/programmers_guide/debugger
替代方案:Jupyter笔记本似乎有类似的扩展 (提示项目似乎已经不存在了)