tensorflow多維張量計算實例
兩個三維矩陣的乘法怎樣計算呢?我通過實驗發(fā)現(xiàn),tensorflow把前面的維度當(dāng)成是batch,對最后兩維進(jìn)行普通的矩陣乘法。也就是說,最后兩維之前的維度,都需要相同。
首先計算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, 2, 3])
b = tf.constant(np.arange(1, 13, dtype=np.float32), shape=[2, 3, 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))
運行結(jié)果:

計算結(jié)果表明,兩個三維矩陣相乘,對應(yīng)位置的最后兩個維度的矩陣乘法。
再驗證高維的張量乘法:
import tensorflow as tf
import numpy as np
a = tf.constant(np.arange(1, 36, dtype=np.float32), shape=[3, 2, 2, 3])
b = tf.constant(np.arange(1, 36, dtype=np.float32), shape=[3, 2, 3, 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, 0, :, :], b[0, 0, :, :])
print("a[1]*b[1] = ", sess.run(c1))
運行結(jié)果:

以上這篇tensorflow多維張量計算實例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
在python中寫個自定義數(shù)據(jù)包協(xié)議的打包和解包測試
這篇文章主要介紹了在python中寫個自定義數(shù)據(jù)包協(xié)議的打包和解包測試,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-09-09
python grpc實現(xiàn)異步調(diào)用(不用grpc異步接口)
grpc同步調(diào)用更簡單,但是在處理復(fù)雜任務(wù)時,會導(dǎo)致請求阻塞,影響吞吐,本文主要介紹了python grpc實現(xiàn)異步調(diào)用,不用grpc異步接口,具有一定的參考價值,感興趣的可以了解一下2024-04-04

