np.stack() 与 tf.stack() 的简单理解

说明:np ----> numpy       tf ----> tensorflownp.stack(arraysaxis=0)

np.stack(arrays, axis=0) ---- 同样也适用于tf.stack()

numpy 和 tensorflow 都有 stack() 函数,该函数主要是用来提升维度。

在只提供数组(张量)和axis参数的前提下,  两者的使用方法和结果一样,原理一样,所以这里用numpy做演示。

假设要转变的张量数组arrays的长度为N,其中的每个张量数组的形状为(A, B, C)。

如果轴axis=0,则转变后的张量的形状为(N, A, B, C)。

如果轴axis=1,则转变后的张量的形状为(A, N, B, C)。

如果轴axis=2,则转变后的张量的形状为(A, B, N, C)。其它情况依次类推。

例如:

 

np.stack(arrays, axis=0)则表示arrays[0], arrays[1], arrays[2]进行堆叠,所以结果与原始数组一样。

np.stack(arrays, axis=1)则表示arrays[0][0], arrays[1][0]和arrays[2][0]进行堆叠,然后是arrays[0][1],arrays[1][1]与arrays[2][1]进行堆叠。

np.stack(arrays, axis=2)则表示arrays[0][0][0],arrays[1][0][0]和arrays[2][0][0]进行堆叠,然后是arrays[0][0][1],arrays[1][0][1]与arrays[2][0][1]进行堆叠,接着为arrays[0][0][2],arrays[1][0][2]与arrays[2][0][2]进行堆叠......

图例说明:

注:转化后的索引看上面蓝色和绿色的线。

 

到这里就是我全部的理解,如有错误,欢迎指出。

 

posted on   刘[小]倩  阅读(8106)  评论(1编辑  收藏  举报

编辑推荐:
· 现代计算机视觉入门之:什么是图片特征编码
· .NET 9 new features-C#13新的锁类型和语义
· Linux系统下SQL Server数据库镜像配置全流程详解
· 现代计算机视觉入门之:什么是视频
· 你所不知道的 C/C++ 宏知识
阅读排行:
· 不到万不得已,千万不要去外包
· C# WebAPI 插件热插拔(持续更新中)
· 会议真的有必要吗?我们产品开发9年了,但从来没开过会
· 【译】我们最喜欢的2024年的 Visual Studio 新功能
· 如何打造一个高并发系统?

导航

< 2025年1月 >
29 30 31 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31 1
2 3 4 5 6 7 8
点击右上角即可分享
微信分享提示