tensor(4,4,2)+tensor(4,4,2)=?
阿新 • • 發佈:2018-12-03
兩個張量相加如:tensor(4,4,2)+tensor(4,4,2)
其中,括號表示維度,剛開始誤以為加起來等於tensor(4,4,4),然後算模型尺寸,就發現對不上,實際是等於tensor(4,4,2)
tensor的加法必須滿足shape相同才能相加,因為是對應位置的值相加,而不是把tensor疊加起來。舉例說明
import tensorflow as tf sess = tf.Session() x = tf.constant(2,shape=[4, 4, 2], dtype=tf.float32) y = tf.ones(shape=[4, 4, 2], dtype=tf.float32) a = x + y print(sess.run(a)) print(a.get_shape())
按照我們剛才的說法 a應該等於維度是(4,4,2),每個值都是3的tensor。
我們驗證以下:
Yes!
這裡發現一個待解決的問題,我也是新手哦,需要指點:
import tensorflow as tf
sess = tf.Session()
x = tf.constant(2,shape=[4, 4, 2], dtype=tf.float32)
y = tf.ones(shape=[4, 4, 2], dtype=tf.float32)
a = x + y
sess.run(a)
print(a)
當我先執行a,再列印結果就不會得到具體的值,是為什麼?只能得到如下結果
歡迎指導