2017-02-27 101 views
0

我是Tensorflow的新手。我有两个张量/张量流对象,X & Y基本上是两个矩阵。我对它们执行一些计算并希望打印它们的值。TensorFlow - 无法获取变量的值

output = tf.reduce_sum(tf.log(tf.exp(tf.matmul(tf.transpose(X), Y)))) 
print(output.get_shape()) #Shows() 

我想要得到output的值。我无法打印它。

试着这样做:

init = tf.initialize_all_variables() 
sess = tf.Session() 

output = tf.reduce_sum(tf.log(tf.exp(tf.matmul(tf.transpose(X), Y)))) 

print(output.get_shape()) 

sess.run(init) 
v = sess.run(output) 
print(v) 

,但无济于事!引发以下错误:

InvalidArgumentError (see above for traceback): You must feed a value for placeholder tensor 'Placeholder' with dtype int32 and shape [100] 
+0

我只需3小时前[这里](http://stackoverflow.com/questions/42471921/executing-function-in解释此过程-tensorflow/42472053?noredirect = 1#comment72085226_42472053) – RuDevel

回答

0

错误消息本身就是明证。 X和Y是placeholders。占位符只是一个在运行时期望包含值的对象。在你目前的情况下,你需要做类似如下:

v = sess.run(output, feed_dict = {X : matrix_for_X, Y: matrix_for_Y})

+0

谢谢,但是会抛出以下错误: 'TypeError:Feed的值不能是tf.Tensor对象。可接受的提要值包括Python标量,字符串,列表或numpy ndarrays.' –