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.
Для этого кому-то нужно добавить специальный рендеринг для объектов Tensorflow для инспектора объектов. –
Многие объекты не видны в инспекторе объектов, но их можно распечатать в консоли отладчика. Тензоры, с другой стороны, кажутся немного более сложными. – Phoenix666
Можете ли вы опубликовать gif о том, что происходит и как это должно быть? http://www.cockos.com/licecap/ –