TensorFlow中张量堆叠操作tf.stack用法

本文详细介绍了在TensorFlow中使用tf.stack方法堆叠张量的过程,包括环境配置、官方说明及具体实例演示,展示了如何通过改变axis参数实现不同维度上的张量堆叠。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、环境

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])

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

csdn-WJW

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值