2017-04-06 120 views
5

我需要在TensorFlow中創建一個矩陣來存儲一些值。訣竅是矩陣必須支持動態形狀。動態形狀變量TensorFlow

我試圖做同樣的我會做numpy的:

myVar = tf.Variable(tf.zeros((x,y), validate_shape=False) 

其中x=(?)y=2。但這不起作用,因爲零不支持「部分已知的TensorShape」,所以,我應該如何在TensorFlow中執行此操作?

+0

爲什麼你需要一個動態的形狀?你不能通過使用None作爲形狀描述符來修復它嗎? – rmeertens

+0

因爲我的矩陣取決於批次中可以更改的樣本數量。據我所知,tf.zeros或np.zeros都不接受形狀上的None。 – gergf

+0

啊,我明白了。請問你想用這個矩陣做什麼? – rmeertens

回答

1

1)您可以使用tf.fill(dims, value=0.0),它與動態形狀一起使用。

2)你可以使用一個佔位符變量維度,就像例如: -

m = tf.placeholder(tf.int32, shape=[]) 
x = tf.zeros(shape=[m]) 

with tf.Session() as sess: 
    print(sess.run(x, feed_dict={m: 5})) 
+0

「tf.fill(dims,value = 0.0)」操作的結果dtype是什麼? – reubenjohn