Numpy高维数据的理解

当实际处理多维变量时,尤为须要使用到Tensorflow这样深度学习库,好比,图片数据批次其形状为:N×H×W×CN×H×W×C, 高维序列格式存在难以理解的问题。所以如何读懂这些高维序列是一个很基础的问题。
数据库

>>>>c#

列表和1-D Numpy array


如何检索一个列表中的元素,上图给出了很好的描述
学习

嵌套列表和2-D Numpy序列

当嵌套两个List事情就变得颇有趣了。2-D表示:矩阵、数据库里的表格、灰度图像spa


上面是一个List里面嵌套了三个List,每一个List都表示长方形表中的一个行向量
3d

在Python中访问一个嵌套列表,一般使用两个方括号,具体以下:

code

下面是一些小例子:

图片

咱们将嵌套结构看作一棵树

get

2-D numpy arrays

V=np.array([[1, 0, 0],[0,1, 0],[0,0,1]])
  • 1深度学习

2-D Numpy arrays 的加法运算数学

X=np.array([[1,0],[0,1]])
Y=np.array([[2,1][1,2]])
Z=X+Y;
Z:array([[3,1],[1,3]])
  • 1

  • 2

  • 3

  • 4

2-D Numpy arrays 的乘法运算

X=np.array([[1,0],[0,1]])
Y=np.array([[2,1][1,2]])
Z=X*Y;
Z:array([[2,0],[2,0]])
  • 1

  • 2

  • 3

  • 4

嵌套三个列表和3-DNumpys arrays

能够看到相比于2-D列表,3-DNumpys arrays增长了一个方括号

咱们能够这样检索其中一个元素。

为了生活化场景,基本的二维表格形状不变,而增长了相应的多个表格,相似于地址- 楼层- 房间号的表达方式

而检索过程也相似于这样过程

nDNumpy序列的加法表达是这样:

4DNumpy

思考一下:
1. 如何表达以下矩阵Tensor?
1×2×2×11×2×2×1
3×3×1×13×3×1×1
3×3×2×13×3×2×1
3×3×2×23×3×2×2




给出答案:

[[[[1],[1]],
   [[1],[1]]]]

[[[[1]],[[1]],[[1]]],
 [[[1]],[[1]],[[1]]],
 [[[1]],[[1]],[[1]]]]

[[[[1],[1]],[[1],[1]],[[1],[1]]],
 [[[1],[1]],[[1],[1]],[[1],[1]]],
 [[[1],[1]],[[1],[1]],[[1],[1]]]]

[[[[1,1],[1,1]],[[1,1],[1,1]],[[1,1],[1,1]]],
 [[[1,1],[1,1]],[[1,1],[1,1]],[[1,1],[1,1]]],
 [[[1,1],[1,1]],[[1,1],[1,1]],[[1,1],[1,1]]]]
  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

  • 11

  • 12

  • 13

  • 14

  • 15

在原文章中,表达较为清晰,适合新手入门。
Reference:From Python Nested Lists to Multidimensional numpy Arrays

—THE END—

编辑 ∑Gemini

来源:CSDN@Nianzu_Ethan_Zheng

文章推荐

如何把女儿培养进麻省理工学院?博士爸爸的40封家书,堪称家庭教育的典范!

无需语言的数学证实,值得收藏!

怎样判断漂亮女孩是否是单身的?

颜宁:当科学家是幸福的

一篇全部研究生都该读的好文:阳光温热 科研静好

朱棣文: 华人第一学霸家族,家里都是成功得可怕的人

相关文章
相关标签/搜索