当实际处理多维变量时,尤为须要使用到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封家书,堪称家庭教育的典范!