2017-03-22 188 views
1

我想要做一個乘法兩個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

+0

「但我無法得到正確的答案」 - 實際問題是什麼?是否有錯誤訊息?有沒有輸出等? – samiles

+0

此代碼在語法上是正確的。它將通過(有效)將第一維上的「a」和「b」拆分(進入大小爲3x3和3x1的矩陣),然後乘以相應的矩陣對來執行一批5次矩陣乘法。 – mrry

回答

0

你確定你使用的是Tensorflow R1.0?

在舊版本中,您將需要使用tf.batch_matmul來乘以批次的矩陣。

+0

是的,我正在使用最新版本,在r1.0中,tf.batch_matmul已經註冊了函數tf.matmul –

+0

我試着使用tf 1.0在你的問題中的代碼,它工作正常。如預期的那樣,結果c具有形狀[5,3,1],並且這些值如期望的那樣。 https://gist.github.com/yahiaetman/98936d503517ac90dabb9e978d58f91a –