最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

深入理解numpy中argmax的具體使用

 更新時間:2022年01月13日 16:05:45   作者:木心  
本文主要介紹了深入理解numpy中argmax的具體使用,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

一、基本介紹

numpy中的argmax簡而言之就是返回最大值的索引,當(dāng)使用np.argmax(axis),這里方向axis的指定往往讓人不理解。
簡而言之:這里axis可以讓我們從、、或者是深度方向來看一個高維數(shù)組。

二、代碼實驗

1、一維數(shù)組情況

在這里插入圖片描述

簡單一維情況,np.argmax()直接返回最大值的索引,不指定axis可以認為是將數(shù)組拉平之后尋找最大值的索引

1.1、axis=0

當(dāng)我們指定axis=0時,其實是在中作比較,尋找最大的的索引

在這里插入圖片描述

當(dāng)然對于這個一維情況沒有什么影響。

1.2、axis=1

在這里插入圖片描述

當(dāng)我們指定axis=1的時候報錯了,這是因為我們的a是一維數(shù)組,沒有axis=1這個軸,可見當(dāng)我們使用np.argmax()時axis的指定不能超過所需要排序的數(shù)組

2、二維數(shù)組情況

在這里插入圖片描述

不指定axis就是相當(dāng)于把二維數(shù)組拉平,直接選取最大值的索引

2.1、axis=0

在這里插入圖片描述

指定axis=0就是比較,返回索引中的最大值

在這里插入圖片描述

我們改寫一個b中的元素,我們期望的結(jié)果是[2,2,1,2]

在這里插入圖片描述

實際結(jié)果和我們期望相符合

2.2、axis=1

在這里插入圖片描述

指定axis=0就是比較,返回索引中的最大值

3、三維數(shù)組情況

一個三維數(shù)組可以視作一張圖片,它的三個維度分別為(high, width, channels) 分別表示圖像的高、寬、通道數(shù)(深度)。常見的彩色圖像都有三個通道,我們以常見的RGB圖像為例構(gòu)建一個數(shù)組。

在這里插入圖片描述

直接使用np.argmax(),就是之間將三維數(shù)組拉平,尋找最大值的索引

3.1、axis=0

單獨查看c的三個通道的數(shù)據(jù),如圖所示

在這里插入圖片描述

對于三個通道取axis=0意味分別比較列返回行的最大值索引

在這里插入圖片描述

我們期望的返回值應(yīng)該是[[1,1,1,],[1,1,1],[1,1,1]],實際的結(jié)果和我們的期望一致

在這里插入圖片描述

3.2、axis=1

在這里插入圖片描述

對于三個通道取axis=1意味分別比較行返回列的最大值索引

我們期望的結(jié)果是[[2, 2, 2],[2, 2, 2],[2, 2, 2],[2, 2, 2]],,實際的結(jié)果和我們的期望一致

在這里插入圖片描述

3.3、axis=2

取axis=2意味著我們從圖像的深度方向(通道方向)來進行比較,可以認為三個數(shù)組的疊在一起的,分別對應(yīng)channel0,channel1,channel2而我們?nèi)∽畲笾档乃饕褪?strong>返回對應(yīng)pixel像素所在的通道索引。

在這里插入圖片描述

c的channel2所有的像素值均大于其他兩個channel所有返回值應(yīng)該是[[2,2,2,],[2,2,2,],[2,2,2,],[2,2,2,]],實際結(jié)果和我的期望一致

在這里插入圖片描述

3.4、axis=-1

axis=-1即是反過來看軸,對于三維情況axis=-1axis=2一致

在這里插入圖片描述

其他
對于二維情況axis=-1anxis=1一致
對于一維情況axis=0anxis=-1一致

四、Reference

https://blog.csdn.net/weixin_39190382/article/details/105854567

https://www.cnblogs.com/zhouyang209117/p/6512302.html

PS:補充

1.對一個一維向量

import numpy as np
a = np.array([3, 1, 2, 4, 6, 1])
b=np.argmax(a)#取出a中元素最大值所對應(yīng)的索引,此時最大值位6,其對應(yīng)的位置索引值為4,(索引值默認從0開始)
print(b)#4

2.對2維向量(通常意義下的矩陣)a[][]

import numpy as np
a = np.array([[1, 5, 5, 2],
? ? ? ? ? ? ? [9, 6, 2, 8],
? ? ? ? ? ? ? [3, 7, 9, 1]])
b=np.argmax(a, axis=0)#對二維矩陣來講a[0][1]會有兩個索引方向,第一個方向為a[0],默認按列方向搜索最大值
#a的第一列為1,9,3,最大值為9,所在位置為1,
#a的第一列為5,6,7,最大值為7,所在位置為2,
#此此類推,因為a有4列,所以得到的b為1行4列,
print(b)#[1 2 2 1]
?
c=np.argmax(a, axis=1)#現(xiàn)在按照a[0][1]中的a[1]方向,即行方向搜索最大值,
#a的第一行為1,5,5,2,最大值為5(雖然有2個5,但取第一個5所在的位置),索引值為1,
#a的第2行為9,6,2,8,最大值為9,索引值為0,
#因為a有3行,所以得到的c有3個值,即為1行3列
print(c)#[1 0 2]

3.對于三維矩陣a[0][1][2],情況最為復(fù)制,但在lstm中應(yīng)用最廣

import numpy as np
a = np.array([
? ? ? ? ? ? ? [
? ? ? ? ? ? ? ? ? [1, 5, 5, 2],
? ? ? ? ? ? ? ? ? [9, -6, 2, 8],
? ? ? ? ? ? ? ? ? [-3, 7, -9, 1]
? ? ? ? ? ? ? ],
?
? ? ? ? ? ? ? [
? ? ? ? ? ? ? ? ? [-1, 7, -5, 2],
? ? ? ? ? ? ? ? ? [9, 6, 2, 8],
? ? ? ? ? ? ? ? ? [3, 7, 9, 1]
? ? ? ? ? ? ? ],
? ? ? ? ? ? [
? ? ? ? ? ? ? ? ? [21, 6, -5, 2],
? ? ? ? ? ? ? ? ? [9, 36, 2, 8],
? ? ? ? ? ? ? ? ? [3, 7, 79, 1]
? ? ? ? ? ? ? ]
? ? ? ? ? ? ])
b=np.argmax(a, axis=0)#對于三維度矩陣,a有三個方向a[0][1][2]
#當(dāng)axis=0時,是在a[0]方向上找最大值,即兩個矩陣做比較,具體
#(1)比較3個矩陣的第一行,即拿[1, 5, 5, 2],
# ? ? ? ? ? ? ? ? ? ? ? ? [-1, 7, -5, 2],
# ? ? ? ? ? ? ? ? ? ? ? ? [21, 6, -5, 2],
#再比較每一列的最大值在那個矩陣中,可以看出第一列1,-2,21最大值為21,在第三個矩陣中,索引值為2
#第2列5,7,6最大值為7,在第2個矩陣中,索引值為1.....,最終得出比較結(jié)果[2 1 0 0]
#再拿出三個矩陣的第二行,按照上述方法,得出比較結(jié)果 [0 2 0 0]
#一共有三個,所以最終得到的結(jié)果b就為3行4列矩陣
print(b)
#[[0 0 0 0]
?#[0 1 0 0]
?#[1 0 1 0]]
?
c=np.argmax(a, axis=1)#對于三維度矩陣,a有三個方向a[0][1][2]
#當(dāng)axis=1時,是在a[1]方向上找最大值,即在列方向比較,此時就是指在每個矩陣內(nèi)部的列方向上進行比較
#(1)看第一個矩陣
? ? ? ? ? ? ? ? ? # [1, 5, 5, 2],
? ? ? ? ? ? ? ? ? # [9, -6, 2, 8],
? ? ? ? ? ? ? ? ? # [-3, 7, -9, 1]
#比較每一列的最大值,可以看出第一列1,9,-3最大值為9,,索引值為1
#第2列5,-6,7最大值為7,,索引值為2
# 因此對第一個矩陣,找出索引結(jié)果為[1,2,0,1]
#再拿出2個,按照上述方法,得出比較結(jié)果 [1 0 2 1]
#一共有三個,所以最終得到的結(jié)果b就為3行4列矩陣
print(c)
#[[1 2 0 1]
?# [1 0 2 1]
?# [0 1 2 1]]
?
d=np.argmax(a, axis=2)#對于三維度矩陣,a有三個方向a[0][1][2]
#當(dāng)axis=2時,是在a[2]方向上找最大值,即在行方向比較,此時就是指在每個矩陣內(nèi)部的行方向上進行比較
#(1)看第一個矩陣
? ? ? ? ? ? ? ? ? # [1, 5, 5, 2],
? ? ? ? ? ? ? ? ? # [9, -6, 2, 8],
? ? ? ? ? ? ? ? ? # [-3, 7, -9, 1]
#尋找第一行的最大值,可以看出第一行[1, 5, 5, 2]最大值為5,,索引值為1
#第2行[9, -6, 2, 8],最大值為9,,索引值為0
# 因此對第一個矩陣,找出行最大索引結(jié)果為[1,0,1]
#再拿出2個矩陣,按照上述方法,得出比較結(jié)果 [1 0 2 1]
#一共有三個,所以最終得到的結(jié)果d就為3行3列矩陣
print(d)
# [[1 0 1]
# ?[1 0 2]
# ?[0 1 2]]
###################################################################
#最后一種情況,指定矩陣a[0, -1, :],第一個數(shù)字0代表取出第一個矩陣(從前面可以看出a有3個矩陣)為
# [1, 5, 5, 2],
# [9, -6, 2, 8],
# [-3, 7, -9, 1]
#第二個數(shù)字“-1”代表拿出倒數(shù)第一行,為
# [-3, 7, -9, 1]
#這一行的最大索引值為1
?
# ,-1,代表最后一行
m=np.argmax(a[0, -1, :])
print(m)#1
?
#h,取a的第2個矩陣
# [-1, 7, -5, 2],
# [9, 6, 2, 8],
# [3, 7, 9, 1]
#的第3行
# [3, 7, 9, 1]
#的最大值為9,索引為2
h=np.argmax(a[1, 2, :])
print(h)#2
?
g=np.argmax(a[1,:, 2])#g,取出矩陣a,第2個矩陣的第3列為-5,2,9,最大值為9,索引為2
print(g)#2

到此這篇關(guān)于深入理解numpy中argmax的具體使用的文章就介紹到這了,更多相關(guān)numpy argmax內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • pytorch GPU計算比CPU還慢的可能原因分析

    pytorch GPU計算比CPU還慢的可能原因分析

    這篇文章主要介紹了pytorch GPU計算比CPU還慢的可能原因,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • 解決Keras的自定義lambda層去reshape張量時model保存出錯問題

    解決Keras的自定義lambda層去reshape張量時model保存出錯問題

    這篇文章主要介紹了解決Keras的自定義lambda層去reshape張量時model保存出錯問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • Python Numpy計算各類距離的方法

    Python Numpy計算各類距離的方法

    這篇文章主要介紹了Python Numpy計算各類距離的方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • Python3讀取文件的操作詳解

    Python3讀取文件的操作詳解

    說到fileinput,可能90%的碼農(nóng)表示沒用過,甚至沒有聽說過。但是,今天小編還是要介紹fileinput這個方法,因為太奈斯了,快跟隨小編一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • python requests更換代理適用于IP頻率限制的方法

    python requests更換代理適用于IP頻率限制的方法

    今天小編就為大家分享一篇python requests更換代理適用于IP頻率限制的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • 新版Pycharm顯示Conda?executable?is?not?found解決辦法

    新版Pycharm顯示Conda?executable?is?not?found解決辦法

    這篇文章主要給大家介紹了關(guān)于新版Pycharm顯示Conda?executable?is?not?found解決辦法,文中通過圖文介紹的非常詳細,對大家學(xué)習(xí)或者使用Pycharm具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-07-07
  • python實現(xiàn)與Oracle數(shù)據(jù)庫交互操作示例

    python實現(xiàn)與Oracle數(shù)據(jù)庫交互操作示例

    這篇文章主要為大家介紹了python實現(xiàn)與Oracle數(shù)據(jù)庫交互操作示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家,多多進步,早日升職加薪
    2021-10-10
  • pytorch 狀態(tài)字典:state_dict使用詳解

    pytorch 狀態(tài)字典:state_dict使用詳解

    今天小編就為大家分享一篇pytorch 狀態(tài)字典:state_dict使用詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • Pycharm打開.py文件和項目的幾種實現(xiàn)方式

    Pycharm打開.py文件和項目的幾種實現(xiàn)方式

    這篇文章主要介紹了Pycharm打開.py文件和項目的幾種實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • Python實現(xiàn)合并多張圖片成視頻的示例詳解

    Python實現(xiàn)合并多張圖片成視頻的示例詳解

    隨著短視頻的興起,越來越多的人開始用各種形式進行視頻制作,本篇博客從程序員的角度為大家解析一下如何通過?Python?合并多個圖片為一個視頻,需要的可以參考一下
    2023-02-02

最新評論

漠河县| 克山县| 忻城县| 安塞县| 探索| 宾川县| 揭东县| 蚌埠市| 石林| 融水| 南召县| 福泉市| 麻阳| 马关县| 洛隆县| 和平县| 新宁县| 镇江市| 米易县| 外汇| 汉川市| 青海省| 宝鸡市| 沧州市| 利津县| 峨眉山市| 莱芜市| 库伦旗| 舞钢市| 峨眉山市| 扶沟县| 泰宁县| 大连市| 东山县| 乐业县| 巴马| 夏津县| 遂昌县| 鄯善县| 乐清市| 赞皇县|