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封家書,堪稱家庭教育的典範!

無需語言的數學證實,值得收藏!

怎樣判斷漂亮女孩是否是單身的?

顏寧:當科學家是幸福的

一篇全部研究生都該讀的好文:陽光溫熱 科研靜好

朱棣文: 華人第一學霸家族,家裏都是成功得可怕的人

相關文章
相關標籤/搜索