一、环境
TensorFlow API r1.12
CUDA 9.2 V9.2.148
cudnn64_7.dll
Python 3.6.3
Windows 10
二、官方说明
将一个列表中的所有秩为R的张量堆叠在一起组成一个值为R+1的张量
https://www.tensorflow.org/api_docs/python/tf/stack
tf.stack(
values,
axis=0,
name='stack'
)
该方法在TensorFlow以前的版本叫tf.pack(values,name),但已废弃不用了,tf.pack和tf.stack的用法一样,仅仅是改变了名称
输入:
(1)values:具有相同形状和数据类型的张量对象所组成的列表
(2)axis:整型,定义沿着那个轴的堆叠张量,默认是第一维度,负值环绕,因此有效范围是[-(R+1),(R+1)]
(3)name:可选参数,定义操作的名称
返回结果:
(1)和输入张量对象组成的列表具有相同类型的堆叠后的列表
三、实例
>>> x = tf.constant([1,4])
>>> y = tf.constant([2,5])
>>> z = tf.constant([3,6])
>>> pack1 = tf.stack([x,y,z])
>>> pack2 = tf.stack([x,y,z], axis=1)
>>> sess = tf.Session()
>>> sess.run(pack1)
array([[1, 4],
[2, 5],
[3, 6]])
>>> sess.run(tf.shape(pack1))
array([3, 2])
>>> sess.run(pack2)
array([[1, 2, 3],
[4, 5, 6]])
>>> sess.run(tf.shape(pack2))
array([2, 3])