ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

张量tensor高维数组的理解(Tensor 与numpy操作类似,本文以高维数组举例)

2022-01-29 11:32:47  阅读:175  来源: 互联网

标签:数组 -- shape 中括号 一维 高维 Tensor


a = np.arange(120).reshape(2,3,4,5)

 得到shape为(2,3,4,5)的高维数组a,输出a为:

[[[[  0   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  32  33  34]
   [ 35  36  37  38  39]]

  [[ 40  41  42  43  44]
   [ 45  46  47  48  49]
   [ 50  51  52  53  54]
   [ 55  56  57  58  59]]]


 [[[ 60  61  62  63  64]
   [ 65  66  67  68  69]
   [ 70  71  72  73  74]
   [ 75  76  77  78  79]]

  [[ 80  81  82  83  84]
   [ 85  86  87  88  89]
   [ 90  91  92  93  94]
   [ 95  96  97  98  99]]

  [[100 101 102 103 104]
   [105 106 107 108 109]
   [110 111 112 113 114]
   [115 116 117 118 119]]]]

假如我要输出a[:,2,:,4],从后往前看就是,取出最后一维的第4列(红色框),取出第2维所有列,取出第1维的第2列(黄色框),取出第0维的所有列。

最后输出的结果就是红黄框交界的地方的值:

[[ 44,  49,  54,  59],
 [104, 109, 114, 119]]

同时也可以看到,输出结果的shape变成了两维。因此对于一个numpy多维array,[:,:,:,:,...,:],将多少个“:”替换为具体的值,最后的结果就降低几维。

总结技巧:shape为[2,3,4,5];  从维度考虑,可以从后往前看(5-->4-->3-->2),一层中括号内有5个元素;双层中括号内包含四个一维数组;三层中括号包含3个二维数组;四层中括号包括两个3维数组。

从元素考虑,从内部往外拔;最里面5个元素组成一维数组;然后往外,四个一维数组组成一个二维数组;再往外,三个二维数组组成一个三维数组;最后,两个三维数组组成一个四维数组。

标签:数组,--,shape,中括号,一维,高维,Tensor
来源: https://blog.csdn.net/weixin_41889723/article/details/122740664

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有