文章目录
TensorFlow合并与分割
主要是4中方法,tf.concat, tf.split, tf.stack, tf.unstack
tf.concat
def concat(values, axis, name="concat"):
其中values是若干的Tensor类型的array。即根据axis所指定的轴,对values当中的tensor进行拼接。
那么它是怎么拼接的呢?
假设有两个数组:
t1 = [[1, 2, 3], [4, 5, 6]],这个t1实质上是:
t 1 = ( 1 2 3 4 5 6 ) t1 = \begin{pmatrix}1&2&3 \\4&5&6 \end{pmatrix} t1=(142536)
t2 = [[7, 8, 9], [10, 11, 12]],这个t2实质上是
t 2 = ( 7 8 9 10 11 12 ) t2 = \begin{pmatrix}7&8&9\\10&11&12\end{pmatrix} t2=(710811912)
我调用tf.concat([t1,t2],axis=0),输出的结果就是:
[[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]
shape=[4, 3]
这是一个什么过程呢?
首先,我们看axis=0,意思是,沿着0轴的方向(即:纵轴方向),进行拼接。于是拼的结果就是:
( 1 2 3 4 5 6 7 8 9 10 11 12 ) \begin{pmatrix}1&2&3 \\4&5&6\\7&8&9\\10&11&12 \end{pmatrix} ⎝⎜⎜⎛1471025811