是否有充分理由使用tf.concat
代替tf.stack
?它们看起来很相似。是否只是为了保证得到的张量与张量的输入列表具有相同的维数?
答案 0 :(得分:21)
实际上,我误解了tf.stack
是如何运作的。如果axis
参数在现有维度的范围内,则会在该索引处插入新轴。
示例:
import tensorflow as tf
t1 = tf.random_normal([1, 3])
t2 = tf.random_normal([1, 3])
tf.stack([t1, t2], axis=1).shape.as_list() == [1, 2, 3]
tf.concat([t1, t2], axis=1).shape.as_list() == [1, 6]