tensorflow中的concat

本文讲解了张量的维度表示方法及其在TensorFlow中的应用,通过具体实例演示了如何使用concat函数实现张量的合并,并展示了不同维度下张量合并的效果。

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

张量的维度

张量用符合的[]来表示

a = tf.constant([[[1,1],[2,2]],[[3,3],[4,4]]])

举例说明,这里的[[[1,1],[2,2]],[[3,3],[4,4]]]最左边的连着的三个‘[‘就表示三维张量,最外边的’[‘表示0维度,也就是张量整体,第一维度是第二个’[’,对应[[1,1],[2,2]],第二维度对应[1,1],第三维度对应1。

concat的用法

这个函数起到张量合并的作用将两个张量在某一维度进行整合
concat(values, axis, name = “concat”)
其中,values填充一个列表,列表中存在待处理张量,axis表示整合的维度。下面分别从0维度,1维度,二维度进行整合(第三维度只有一个元素,无法整合)
在终端依次输入:

a = tf.constant([[[1,1],[2,2]],[[3,3],[4,4]]])
 b = tf.constant([[[5,5],[6,6]],[[7,7],[8,8]]])
sess = tf.Session()
sess.run(a)
a.shape

终端输出

array([[[1, 1],
        [2, 2]],

       [[3, 3],
        [4, 4]]])
TensorShape([Dimension(2), Dimension(2), Dimension(2)])

再分别输入

sess.run(tf.concat([a,b],0))
tf.concat([a,b],0).shape
sess.run(tf.concat([a,b],1))
tf.concat([a,b],1).shape
sess.run(tf.concat([a,b],2))
tf.concat([a,b],2).shape

分别对应输出

array([[[1, 1],
        [2, 2]],

       [[3, 3],
        [4, 4]],

       [[5, 5],
        [6, 6]],

       [[7, 7],
        [8, 8]]])
TensorShape([Dimension(4), Dimension(2), Dimension(2)])
array([[[1, 1],
        [2, 2],
        [5, 5],
        [6, 6]],

       [[3, 3],
        [4, 4],
        [7, 7],
        [8, 8]]])
TensorShape([Dimension(2), Dimension(4), Dimension(2)])
array([[[1, 1, 5, 5],
        [2, 2, 6, 6]],

       [[3, 3, 7, 7],
        [4, 4, 8, 8]]])
TensorShape([Dimension(2), Dimension(2), Dimension(4)])
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值