TensorFlow2.0中如何实现张量的合并与分割操作示例?

2026-06-09 21:561阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计517个文字,预计阅读时间需要3分钟。

TensorFlow2.0中如何实现张量的合并与分割操作示例?

使用 `tf.concat` 函数合并张量:

输入:- a: 形状为 [4, 35, 8] 的张量- b: 形状为 [2, 35, 8] 的张量

输出:- 合并后的张量 c,形状为 [6, 35, 8]

**

一 tf.concat( ) 函数–合并
**

TensorFlow2.0中如何实现张量的合并与分割操作示例?

In [2]: a = tf.ones([4,35,8]) In [3]: b = tf.ones([2,35,8]) In [4]: c = tf.concat([a,b],axis=0) In [5]: c.shape Out[5]: TensorShape([6, 35, 8]) In [6]: a = tf.ones([4,32,8]) In [7]: b = tf.ones([4,3,8]) In [8]: c = tf.concat([a,b],axis=1) In [9]: c.shape Out[9]: TensorShape([4, 35, 8])

**

二 tf.stack( ) 函数–数据的堆叠,创建新的维度
**

In [2]: a = tf.ones([4,35,8]) In [3]: a.shape Out[3]: TensorShape([4, 35, 8]) In [4]: b = tf.ones([4,35,8]) In [5]: b.shape Out[5]: TensorShape([4, 35, 8]) In [6]: tf.concat([a,b],axis=-1).shape Out[6]: TensorShape([4, 35, 16]) In [7]: tf.stack([a,b],axis=0).shape Out[7]: TensorShape([2, 4, 35, 8]) In [8]: tf.stack([a,b],axis=3).shape Out[8]: TensorShape([4, 35, 8, 2])

**

三 tf.unstack( )函数–解堆叠
**

In [16]: a = tf.ones([4,35,8]) In [17]: b = tf.ones([4,35,8]) In [18]: c = tf.stack([a,b],axis=0) In [19]: a.shape,b.shape,c.shape Out[19]: (TensorShape([4, 35, 8]), TensorShape([4, 35, 8]), TensorShape([2, 4, 35, 8])) In [20]: aa,bb = tf.unstack(c,axis=0) In [21]: aa.shape,bb.shape Out[21]: (TensorShape([4, 35, 8]), TensorShape([4, 35, 8])) In [22]: res = tf.unstack(c,axis=1) In [23]: len(res) Out[23]: 4

**

四 tf.split( ) 函数
**

In [16]: a = tf.ones([4,35,8]) In [17]: b = tf.ones([4,35,8]) In [18]: c = tf.stack([a,b],axis=0) In [19]: a.shape,b.shape,c.shape Out[19]: (TensorShape([4, 35, 8]), TensorShape([4, 35, 8]), TensorShape([2, 4, 35, 8])) In [20]: aa,bb = tf.unstack(c,axis=0) In [21]: aa.shape,bb.shape Out[21]: (TensorShape([4, 35, 8]), TensorShape([4, 35, 8])) In [22]: res = tf.unstack(c,axis=1) In [23]: len(res) Out[23]: 4

以上这篇TensorFlow2.0:张量的合并与分割实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持易盾网络。

本文共计517个文字,预计阅读时间需要3分钟。

TensorFlow2.0中如何实现张量的合并与分割操作示例?

使用 `tf.concat` 函数合并张量:

输入:- a: 形状为 [4, 35, 8] 的张量- b: 形状为 [2, 35, 8] 的张量

输出:- 合并后的张量 c,形状为 [6, 35, 8]

**

一 tf.concat( ) 函数–合并
**

TensorFlow2.0中如何实现张量的合并与分割操作示例?

In [2]: a = tf.ones([4,35,8]) In [3]: b = tf.ones([2,35,8]) In [4]: c = tf.concat([a,b],axis=0) In [5]: c.shape Out[5]: TensorShape([6, 35, 8]) In [6]: a = tf.ones([4,32,8]) In [7]: b = tf.ones([4,3,8]) In [8]: c = tf.concat([a,b],axis=1) In [9]: c.shape Out[9]: TensorShape([4, 35, 8])

**

二 tf.stack( ) 函数–数据的堆叠,创建新的维度
**

In [2]: a = tf.ones([4,35,8]) In [3]: a.shape Out[3]: TensorShape([4, 35, 8]) In [4]: b = tf.ones([4,35,8]) In [5]: b.shape Out[5]: TensorShape([4, 35, 8]) In [6]: tf.concat([a,b],axis=-1).shape Out[6]: TensorShape([4, 35, 16]) In [7]: tf.stack([a,b],axis=0).shape Out[7]: TensorShape([2, 4, 35, 8]) In [8]: tf.stack([a,b],axis=3).shape Out[8]: TensorShape([4, 35, 8, 2])

**

三 tf.unstack( )函数–解堆叠
**

In [16]: a = tf.ones([4,35,8]) In [17]: b = tf.ones([4,35,8]) In [18]: c = tf.stack([a,b],axis=0) In [19]: a.shape,b.shape,c.shape Out[19]: (TensorShape([4, 35, 8]), TensorShape([4, 35, 8]), TensorShape([2, 4, 35, 8])) In [20]: aa,bb = tf.unstack(c,axis=0) In [21]: aa.shape,bb.shape Out[21]: (TensorShape([4, 35, 8]), TensorShape([4, 35, 8])) In [22]: res = tf.unstack(c,axis=1) In [23]: len(res) Out[23]: 4

**

四 tf.split( ) 函数
**

In [16]: a = tf.ones([4,35,8]) In [17]: b = tf.ones([4,35,8]) In [18]: c = tf.stack([a,b],axis=0) In [19]: a.shape,b.shape,c.shape Out[19]: (TensorShape([4, 35, 8]), TensorShape([4, 35, 8]), TensorShape([2, 4, 35, 8])) In [20]: aa,bb = tf.unstack(c,axis=0) In [21]: aa.shape,bb.shape Out[21]: (TensorShape([4, 35, 8]), TensorShape([4, 35, 8])) In [22]: res = tf.unstack(c,axis=1) In [23]: len(res) Out[23]: 4

以上这篇TensorFlow2.0:张量的合并与分割实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持易盾网络。