TensorFlow tensor张量拼接concat & stack

Posted xiaoniu-666

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TensorFlow tensor张量拼接concat & stack相关的知识,希望对你有一定的参考价值。

TensorFlow提供两种类型的拼接:

tf.concat(values, axis, name=concat):按照指定的已经存在的轴进行拼接
tf.stack(values, axis=0, name=stack):按照指定的新建的轴进行拼接

 concat

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]]
== t1.expand(t2)
tf.concat([t1, t2], 1) ==> [[1, 2, 3, 7, 8, 9], [4, 5, 6, 10, 11, 12]]


 stack

t1 = [[1, 2, 3], [4, 5, 6]]
t2 = [[7, 8, 9], [10, 11, 12]]
tf.stack([t1, t2], 0) ==> [[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]]
x = []; x.append(t1); x.append(t2)

tf.stack([t1, t2], 1) ==> [[[1, 2, 3], [7, 8, 9]], [[4, 5, 6], [10, 11, 12]]]
tf.stack([t1, t2], 2) ==> [[[1, 7], [2, 8], [3, 9]], [[4, 10], [5, 11], [6, 12]]]

x = tf.constant([1, 4])
y = tf.constant([2, 5])
z = tf.constant([3, 6])
tf.stack([x, y, z])      # [[1, 4], [2, 5], [3, 6]] (Pack along first dim.)
tf.stack([x, y, z], axis=1) # [[1, 2, 3], [4, 5, 6]]

 


 














以上是关于TensorFlow tensor张量拼接concat & stack的主要内容,如果未能解决你的问题,请参考以下文章

TensorFlow张量Tensor

AI - TensorFlow Tensor

PyTorch:tensor-张量维度操作(拼接维度扩展压缩转置重复……)

对Tensorflow中tensor的理解

张量(tensor)的阶、形状、数据类型

如何在tensorflow中判断tensor(张量)的值