Numpy高维数据的理解
當實際處理多維變量時,尤其需要使用到Tensorflow這樣深度學習庫,比如,圖片數據批次其形狀為:N×H×W×CN×H×W×C, 高維序列格式存在難以理解的問題。因此如何讀懂這些高維序列是一個很基礎的問題。
>>>>
列表和1-D Numpy array
如何檢索一個列表中的元素,上圖給出了很好的描述
嵌套列表和2-D Numpy序列
當嵌套兩個List事情就變得很有趣了。2-D表示:矩陣、數據庫里的表格、灰度圖像
上面是一個List里面嵌套了三個List,每個List都表示長方形表中的一個行向量
在Python中訪問一個嵌套列表,通常使用兩個方括號,具體如下:
下面是一些小例子:
我們將嵌套結構看做一棵樹
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封家書,堪稱家庭教育的典范!
?無需語言的數學證明,值得收藏!
?怎樣判斷漂亮女孩是不是單身的?
?顏寧:當科學家是幸福的
?一篇所有研究生都該讀的好文:陽光溫熱 科研靜好
?朱棣文: 華人第一學霸家族,家里都是成功得可怕的人
總結
以上是生活随笔為你收集整理的Numpy高维数据的理解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 施一公获百万科学界大奖!科研大牛如何炼成
- 下一篇: 中枪!这才是当代博士生真实日常大赏