np.argmax()表示回傳索引最大值,需要區分索引和元素值,
先說結論:三維張量時,將張量看成正方體,axis=0時表示沿高度軸(深度方向)各元素最大值,回傳結果形狀與正方體頂面相同;axis=1時表示沿寬度軸(矩陣行方向)各元素最大值,回傳結果與正方體前面形狀相同;axis=2時表示沿長度軸(矩陣列方向)各元素最大值,回傳結果與正方體側面形狀相同,
第一維矩陣:

第二維矩陣:

第三維矩陣:

組成的三維張量正方體:

求b=np.argmax(a,axis=0)時,從上往下比較元素值(高度方向),取最大值,容易看到最大值將均出現在正方體底面,如max(7, 16, 25)=25,即底面,這一面各元素索引均為2,故結果為各元素均為2的3×3的矩陣,
求c=np.argmax(a,axis=1)時,從后往前比較元素值(寬度方向),取最大值,容易看到最大值將均出現在正方體前面,如max(1, 4, 7)=7,即前面,這一面各元素索引仍均為2,故結果仍為各元素均為2的3×3的矩陣,
求d=np.argmax(a,axis=2)時,從左往右比較元素值(長度方向),取最大值,容易看到最大值將均出現在正方體側面,如max(7, 8, 9)=9,即側面,這一面各元素索引仍均為2,故結果仍為各元素均為2的3×3的矩陣,
代碼結果如下,
import numpy as np
a=np.array([[[1,2,3],
[4,5,6],
[7,8,9]],
[[10,11,12],
[13,14,15],
[16,17,18]],
[[19,20,21],
[22,23,24],
[25,26,27]]])
b=np.argmax(a,axis=0)
print(b)
c=np.argmax(a,axis=1)
print(c)
d=np.argmax(a,axis=2)
print(d)
#結果
[[2 2 2]
[2 2 2]
[2 2 2]]
[[2 2 2]
[2 2 2]
[2 2 2]]
[[2 2 2]
[2 2 2]
[2 2 2]]
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/297500.html
標籤:AI
下一篇:OpenCV-影像飽和度
