1. 程式人生 > >tensor(4,4,2)+tensor(4,4,2)=?

tensor(4,4,2)+tensor(4,4,2)=?

兩個張量相加如: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,再列印結果就不會得到具體的值,是為什麼?只能得到如下結果


歡迎指導