2016-05-24 79 views
0

Spyder帶有一個強大的調試器,可用於在執行期間暫停代碼並檢查變量。Spyder調試器,用於Tensorflow

另一方面,Tensorflow變量不容易檢查。有沒有辦法在Spyder的python控制檯中查看它們?

更新: 當我試圖回答阿納託利techtonik的評論,我決定寫一個虛擬的程序,以顯示案件的情況:如果你把一個檢查點上的return語句

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,按調試按鈕並在控制檯中鍵入m.eval(),您可以訪問它的值,在這種情況下,它的值將是5。 我想這回答我的問題。謝謝anatoly techtonik。

+0

爲了達到這個目的,有人需要爲Tensorflow對象添加特殊的渲染來對象檢查器。 –

+0

在對象檢查器中無法看到許多對象,但可以在調試器控制檯中打印它們的值。另一方面,張量似乎更棘手一些。 – Phoenix666

+1

你可以發佈發生了什麼以及應該如何發生的GIF? http://www.cockos.com/licecap/ –

回答