2017-02-27 145 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.' –