我們在寫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...