2016-05-24 2 views
0

Spyder поставляется с мощным отладчиком, который может использоваться для приостановки кода во время выполнения и проверки переменных.Spyder debugger for Tensorflow

С другой стороны, переменные Tensorflow не могут быть легко проверены. Есть ли способ просмотреть их в консоли python в spyder?

Update: Пока я пытался ответить на комментарий Анатолий 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, нажмите кнопку отладки и введите m.eval() в консоли, вы можете получить доступ к ее значению, которое в этом случае будет 5. Я думаю, это отвечает на мой вопрос. Спасибо anatoly techtonik.

+0

Для этого кому-то нужно добавить специальный рендеринг для объектов Tensorflow для инспектора объектов. –

+0

Многие объекты не видны в инспекторе объектов, но их можно распечатать в консоли отладчика. Тензоры, с другой стороны, кажутся немного более сложными. – Phoenix666

+1

Можете ли вы опубликовать gif о том, что происходит и как это должно быть? http://www.cockos.com/licecap/ –

ответ