美文网首页
高维数组真正"有意义的数"是最底层的两维

高维数组真正"有意义的数"是最底层的两维

作者: 胜负55开 | 来源:发表于2019-10-27 12:27 被阅读0次

说明:不论是cupy和numpy,要想矢量化编程都要涉及"高维数组"!但其实高维数组中只有最开始的两个维度是有意义的,越高的维度只会代表"数量的多少"而已。

下面以numpy的使用为例:

import numpy as np

a = [1, 2, 3, 4] ; b = [4, 5, 6, 4]; c = [7, 8, 9, 4]

g = np.array([a,b,c])       # 创建一个二维数组
c1 = np.zeros( (2,2,3,4) )  # 初始化一个高维数组
c2 = c1 + g                 #  给高维数组赋值

print(g); print(c2)

# print(g)的结果:
[[1 2 3 4]
 [4 5 6 4]
 [7 8 9 4]]   

# print(c2)的结果:
[[[[1. 2. 3. 4.]
   [4. 5. 6. 4.]
   [7. 8. 9. 4.]]

  [[1. 2. 3. 4.]
   [4. 5. 6. 4.]
   [7. 8. 9. 4.]]]

 [[[1. 2. 3. 4.]
   [4. 5. 6. 4.]
   [7. 8. 9. 4.]]

  [[1. 2. 3. 4.]
   [4. 5. 6. 4.]
   [7. 8. 9. 4.]]]]

可以看到:虽然c2的维度很高(有4维),但有实际数值意义的数值还是最底层的两维( 如(2,2,3,4)中最后的(3,4)二维数组 )。高维的参数设置只用来描述:这样的"底层二维数组,有多少个"而已!

因此,可以用"纸和书"的关系来很好的比喻"高维数组":
第2维:就是一张纸,它上面记录了各种有实际含义的内容(可变的数);
第3维:很多张纸拼凑起来成为一本书;但书的实质内涵还是每一页的内容;
第4维:很多书拼凑起来成为一个书架;但书架的实质内涵还是每一页;
第5维:很多书架拼凑起来成为一间书房;但书房的实质内涵还是每一页;
第6维:很多书房拼凑起来成为一座图书馆;但图书馆的实质内涵还是每一页;
。。。

规律很明显:

  • 维度再高,不过是基本单位(二维数组)的大量堆叠而已!真正有实际内涵/内容(可以变化的各种数值)的还是它的基本单位——各个二维数组。页与页之间当然可以不同,即二维数组里面的内容完全可变
  • 给高维数组初始话,只需要"加上一个二维数组"即可!由上面的例子已明显可以看出。

其实:高维数组的初衷,就是为了做"矢量化编程"服务的!因为现实世界没有什么实体直接对应那么高维的数组,就连"矩阵也最多只有二维"。(从矩阵的最高维只有2维来理解也可以)。

相关文章

  • Numpy:3维数组的合并 —— 还是3维,但最高维负责计数

    前言:高维数组真正"有意义的数"是最底层的两维。这篇文章中已经明确说明:2维以上的数组,真正"有实际意义数值"的是...

  • 高维数组真正"有意义的数"是最底层的两维

    说明:不论是cupy和numpy,要想矢量化编程都要涉及"高维数组"!但其实高维数组中只有最开始的两个维度是有意义...

  • 理解高维数组

    理解高维数组 在使用matlab或者python等语言进行数据处理时,高维数组是常用基本数据结构。高维数组对应的数...

  • 对python 广播规则的理解

    python 广播机制: 1. 如果两个数组的维数不同,那么维数小的数组的 shape属性会在最左边加上1(使维...

  • Java数组的定义和遍历方法

    Java数组 定义:数组是具有相同数据类型的一组数据的集合。数组根据维数的不同分为一维数组、二维数组和多维数组。数...

  • 常用数据类型(二)

    二维数组 概念:一个 一维数组 的 每个元素 又是 一维数组 定义// 元素类型 数组名 [一维数组个数][一维数...

  • pytorch快速入门

    Tensor Tensor是PyTorch中重要的数据结构,可认为是一个高维数组。它可以是一个数(标量)、一维数组...

  • C语言二维数组

    二维数组 格式: 数据类型 数组名称[一维数组的个数][一维数组中元素的个数]; 数据类型: 一维数组中存储数...

  • 数组

    数组是一个存储相同类型元素的固定大小的集合。 多维数组 多维数组最简单的形式是二维数组。二维数组的本质是一个一维数...

  • 2019-04-24 《deep learning》深度学习“花

    一、概念梳理 1.1数学概念 标量:一个单独的数 向量:一列数 矩阵:二维数组 张量:超过两维的数...

网友评论

      本文标题:高维数组真正"有意义的数"是最底层的两维

      本文链接:https://www.haomeiwen.com/subject/omvpvctx.html