關於深度學習中矩陣的Axis(軸)

一.矩陣是深度學習中一個非常非常重要得概念,下面是關於維的一些理解

           張量的階數有時候也稱爲維度,或者軸,軸這個詞翻譯自英文axis。譬如一個矩陣[[1,2],[3,4]],是一個2階張量,有兩個維度或軸,沿着第0個軸(爲了與python的計數方式一致,本文檔維度和軸從0算起)你看到的是[1,2],[3,4]兩個向量,沿着第1個軸你看到的是[1,3],[2,4]兩個向量。

要理解“沿着某個軸”是什麼意思,不妨試着運行一下下面的代碼:

import numpy as np

a = np.array([[[1,2],[3,4]],[[5,6],[7,8]]])
sum0 = np.sum(a, axis=0)
sum1 = np.sum(a, axis=1)
sum2 = np.sum(a ,axis=2)
print(sum0)
print(sum1)
print(sum2)

Axis=0 表示的是所示矩陣中最外層的“軸”,“1 5 ”,“2 6”,“3 7”...

Axis=1 表示的是剔除最外層矩陣後最外層的“”軸“  ”1 3“ “2 4 ”,“5 7”,“6 8”...

Axis=2 依此類推,剔除前面所有的”軸” ”1 2“ “3 4 ”,“5 6”,“7 8”..

因此sum分別爲

[[ 6  8] [10 12]]          [[ 4  6][12 14]]                   [[ 3  7][11 15]]

 

               理解了這個“軸”,再談談這個“軸”的應用 ,運行下列代碼:

import numpy as np

arr2 = np.random.randn(2,3)
print(arr2)

表示從標準正態分佈中返回一個或多個樣本值。 而(2,3)正是返回值的矩陣,由此推測返回形式爲Axis=0 有2個數,Axis=1有3個數的矩陣,即

[[ 1.01679582  0.02093434 -0.48180997]   [-0.13738242  0.48746367  0.22310166]]

            由此,通過(x,y,z,...)的形式,我們便可以搭建出矩陣

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章