1. 程式人生 > 程式設計 >tensorflow多維張量計算例項

tensorflow多維張量計算例項

兩個三維矩陣的乘法怎樣計算呢?我通過實驗發現,tensorflow把前面的維度當成是batch,對最後兩維進行普通的矩陣乘法。也就是說,最後兩維之前的維度,都需要相同。

首先計算shape為(2,2,3)乘以shape為(2,3,2)的張量。

import tensorflow as tf
import numpy as np
a = tf.constant(np.arange(1,13,dtype=np.float32),shape=[2,3])
b = tf.constant(np.arange(1,2])
c = tf.matmul(a,b)
# c = tf.matmul(a,b)
sess = tf.Session()
print("a*b = ",sess.run(c))
c1 = tf.matmul(a[0,:,:],b[0,:])
print("a[1]*b[1] = ",sess.run(c1))

執行結果:

tensorflow多維張量計算例項

計算結果表明,兩個三維矩陣相乘,對應位置的最後兩個維度的矩陣乘法。

再驗證高維的張量乘法:

import tensorflow as tf
import numpy as np
a = tf.constant(np.arange(1,36,shape=[3,sess.run(c1))

執行結果:

tensorflow多維張量計算例項

以上這篇tensorflow多維張量計算例項就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。