keras的axis的解讀

2021-08-19 22:13:13 字數 1524 閱讀 6157

我們在寫keras的**的時候會遇見下面的類似場景:

atten_mul=merge([image_embedding,attention_probs],mode='dot',dot_axes=(1,1))
然後會經常困惑dot_axes那個括號裡面的是啥意思,這裡舉個例子,如果乙個張量的大小為:

(19,19,5,80)

axis = 0 - 19 elements

axis = 1 - 19 elements

axis = 2 - 5 elements

axis = 3 - 80 elements

其實就是從左到右的順序,而python numpy裡面的axis:

通過不同的axis,numpy會沿著不同的方向進行操作:如果不設定,那麼對所有的元素操作;如果axis=0,則沿著縱軸進行操作;axis=1,則沿著橫軸進行操作。但這只是簡單的二位陣列,如果是多維的呢?可以總結為一句話:設axis=i,則numpy沿著第i個下標變化的放下進行操作。

>>> import numpy as np

>>> data=np.array([

... [1,2,1],

... [1,4,5],

... [2,3,4],

... [5,2,4]])

>>> np.sum(data,axis=0)

array([ 9, 11, 14])

>>> np.sum(data,axis=1)

array([ 4, 10, 9, 11])

上面是二維的,我們來看三維的例子:

>>> data = np.random.randint(0, 5, [4,3,2])

>>> data.shape

(4, 3, 2)

>>> data

array([[[4, 3],

[3, 2],

[2, 3]],

[[1, 3],

[2, 2],

[1, 0]],

[[4, 4],

[4, 4],

[2, 2]],

[[4, 2],

[4, 4],

[1, 1]]])

>>> data.sum(axis=0)

array([[13, 12],

[13, 12],

[ 6, 6]])

>>> data.sum(axis=1)

array([[ 9, 8],

[ 4, 5],

[10, 10],

[ 9, 7]])

>>> data.sum(axis=2)

array([[7, 5, 5],

[4, 4, 1],

[8, 8, 4],

[6, 8, 2]])

[1].numpy模組之axis.

[2].what is the meaning of axis=-1 in keras.argmax?.

關於numpy中axis 0和axis的區別的問題

很多人在學習numpy時,遇到axis 0和axis 1的問題,究竟是如何定義的 如一下列子 import numpy as np ww np.arange 10 reshape 2,5 print ww 結果 array 0,1,2,3,4 5,6,7,8,9 ww.mean axis 0 沿著縱...

JFreechart的Axis的方法總結

1.一些關於axis類的方法 2.axis 類 3.void setvisible boolean flag 座標軸是否可見 4.void setaxislinepaint paint paint 座標軸線條顏色 3d軸無效 5.void setaxislinestroke stroke strok...

pandas 的axis引數的理解

pandas的axis引數怎樣理解?axis 0 或者 index 如果是單行操作,就指的是某一行 如果是聚合操作,指的是跨行cross rows axis 1 或者 columns 如果是單列操作,就指的是某一列 如果是聚合操作,指的是跨列cross columns 按哪個axis,就是這個axi...