的原因很可能在tensorflow版本。
從tensorflow最新官方API,tf.conat被定義爲
tf.concat
的concat( 值, 軸, 名= '的concat' )
所以,更好的方法是通過鍵值調用該函數。 我試過下面的代碼,沒有錯誤。
xnew = tf.concat(axis=0, values=[x1, x2])
------------------------------------------- -------
複製官方api解釋如下。
tf.concat 的concat( 值, 軸, 名= '的concat' )
在tensorflow /蟒/操作/ array_ops.py定義。
參見引導:張量變換>切片和加入
串接張量沿着一個維度。
沿尺寸軸連接張量值列表。如果values [i] .shape = [D0,D1,... Daxis(i),... Dn],連接結果的形狀爲
[D0,D1,... Raxis,... Dn ] 其中
Raxis = sum(Daxis(i)) 也就是說,來自輸入張量的數據沿軸維度連接。
輸入張量的維數必須匹配,除軸以外的所有維必須相等。
例如:
t1 = [[1, 2, 3], [4, 5, 6]]
t2 = [[7, 8, 9], [10, 11, 12]]
tf.concat([t1, t2], 0) ==> [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]
tf.concat([t1, t2], 1) ==> [[1, 2, 3, 7, 8, 9], [4, 5, 6, 10, 11, 12]]
# tensor t3 with shape [2, 3]
# tensor t4 with shape [2, 3]
tf.shape(tf.concat([t3, t4], 0)) ==> [4, 3]
tf.shape(tf.concat([t3, t4], 1)) ==> [2, 6]
如果我這樣做,我得到'ValueError異常:形狀(32)和()不兼容 ' – James