我想要做一個乘法兩個3D張量,定義爲:與tensorflow tf.matmul三維張量
a = tf.random_uniform(shape = [5,3,3])
b = tf.ones(shape = [5,3,1])
c = tf.matmul(a,b)
,但我不能得到正確的答案在tf.matmul功能描述
https://www.tensorflow.org/api_docs/python/tf/matmul
我想要做一個乘法兩個3D張量,定義爲:與tensorflow tf.matmul三維張量
a = tf.random_uniform(shape = [5,3,3])
b = tf.ones(shape = [5,3,1])
c = tf.matmul(a,b)
,但我不能得到正確的答案在tf.matmul功能描述
https://www.tensorflow.org/api_docs/python/tf/matmul
你確定你使用的是Tensorflow R1.0?
在舊版本中,您將需要使用tf.batch_matmul來乘以批次的矩陣。
是的,我正在使用最新版本,在r1.0中,tf.batch_matmul已經註冊了函數tf.matmul –
我試着使用tf 1.0在你的問題中的代碼,它工作正常。如預期的那樣,結果c具有形狀[5,3,1],並且這些值如期望的那樣。 https://gist.github.com/yahiaetman/98936d503517ac90dabb9e978d58f91a –
「但我無法得到正確的答案」 - 實際問題是什麼?是否有錯誤訊息?有沒有輸出等? – samiles
此代碼在語法上是正確的。它將通過(有效)將第一維上的「a」和「b」拆分(進入大小爲3x3和3x1的矩陣),然後乘以相應的矩陣對來執行一批5次矩陣乘法。 – mrry