2016-07-28 72 views
4

如何在不使用eval或sess.run()的情況下將張量轉換爲Numpy ndarray?Tensorflow:將張量轉換爲numpy數組而不帶.eval()或sess.run()

我需要將張量傳遞給Feed字典,並且我已經有一個會話正在運行。

+0

將張量看作計算圖中的佔位符,它沒有任何價值,因此您不能將其轉換爲Numpy數組。但是,您可以使用eval或運行「查詢」在計算中流向它的值。你究竟想達到什麼目的?可能有更好的方法來做到這一點。 –

回答

3

您說「已經有會話正在運行」這一事實意味着對sess.run()實際上做了什麼的誤解。

如果您啓動了tf.Session(),您應該可以使用它來使用sess.run()檢索任何張量。如果你需要檢索一個變量或常數張量,這是非常簡單的。

value = sess.run(tensor_to_retrieve) 

如果張量是對佔位符張量的操作的結果,則需要將它們傳遞給feed_dict。

value = sess.run(tensor, feed_dict={input_placeholder: input_value}) 

沒有什麼能夠阻止你多次調用sess.run()。