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

TensorFlow和Numpy矩陣操作中axis理解及axis=-1的解釋

 更新時(shí)間:2022年03月24日 11:09:45   作者:洋芋炒土豆片片  
在調(diào)用numpy庫中的concatenate()時(shí),有遇到axis=-1/1/0的情況,下面這篇文章主要給大家介紹了關(guān)于TensorFlow和Numpy矩陣操作中axis理解及axis=-1解釋的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下

1. axis的基本使用

axis常常用在numpy和tensorflow中用到,作為對(duì)矩陣(張量)進(jìn)行操作時(shí)需要指定的重要參數(shù)之一。設(shè)定axis=-1,0,1...,用來指定執(zhí)行操作的數(shù)據(jù)如何劃分。

一句話解釋:設(shè)axis=i,則沿著第i個(gè)下標(biāo)變化的方向進(jìn)行操作![1]

簡(jiǎn)單例子就不舉了,其他博客有很多,這里舉一個(gè)稍微復(fù)雜一點(diǎn)的三維矩陣的例子:

設(shè)embeddings是一個(gè)shape=[3,4,5]的矩陣,如下:

embeddings =    [[[-0.30166972  0.25741747 -0.07442257  0.24321035 -0.3538919 ]
                  [-0.22572032  0.1288028  -0.4686908  -0.07217035  0.05287632]
                  [ 0.15845934  0.07064888  0.00922218  0.2841002  -0.24992025]
                  [ 0.43347922 -0.43738696 -0.08176881  0.34185413 -0.2826353 ]]
                
                 [[-0.08590135  0.06792518 -0.07807922 -0.28746927 -0.10613027]
                  [ 0.07476929  0.132256   -0.0926154   0.39621904  0.2497718 ]
                  [-0.15389556  0.0867373   0.19403657 -0.11003655  0.317669  ]
                  [ 0.3949038  -0.17275128  0.34710506 -0.02576578 -0.17427891]]
                
                 [[-0.27703786  0.02631402  0.22129896 -0.07714707  0.41439041]
                  [-0.08512023  0.19059369 -0.13418713 -0.12881753 -0.26143318]
                  [-0.333749    0.27034065  0.45429572 -0.46164128 -0.3955955 ]
                  [ 0.24430516 -0.3841647   0.37126407 -0.463441   -0.1441828 ]]]

對(duì)embeddings矩陣執(zhí)行下面操作:

a = tf.math.argmax(embeddings, axis=-1) ? # tf.math.argmax=tf.argmax,用來返回最大數(shù)值對(duì)應(yīng)的index
b = tf.math.argmax(embeddings, axis=1)
c = tf.math.argmax(embeddings, axis=0)

with tf.Session() as sess:
? ? sess.run(tf.global_variables_initializer())
? ?
? ? print(embeddings.eval()) ? # a.eval 在打印時(shí),等同于 sess.run(a)
? ? print(a.eval())
? ? print(b.eval())
? ? print(c.eval())

得到的結(jié)果是:

[[1 1 3 0]
 [1 3 4 0]
 [4 1 2 2]]   # axis=-1, shape=[3,4]
 
[[3 0 2 3 1]
 [3 1 3 1 2]
 [3 2 2 0 0]]   # axis=1, shape=[3,5]
 
[[1 0 2 0 2]
 [1 2 1 1 1]
 [0 2 2 0 1]
 [0 1 2 0 2]]   # axis=0, shape=[4,5]

看懂了嗎?參考上面的一句話解釋,再結(jié)合矩陣的下標(biāo)表示理解一下。

剛剛的矩陣寫成下標(biāo)表示就是:

embeddings = [[[a000,a001,a002,a003,a004],
               [a010,a011,a012,a013,a014],
               [a020,a021,a022,a023,a024],              
               [a030,a031,a032,a033,a034]]
              
              [[a100,a101,a102,a103,a104],
               [a110,a111,a112,a113,a114],
               [a120,a121,a122,a123,a124],              
               [a130,a131,a132,a133,a134]]
              
              [[a200,a201,a202,a203,a204],
               [a210,a211,a212,a213,a214],
               [a220,a221,a222,a223,a224],              
               [a230,a231,a232,a233,a234]]                

以axis=0為例,則沿著第0個(gè)下標(biāo)(最左邊的下標(biāo))變化的方向進(jìn)行操作,也就是將除了第0個(gè)下標(biāo)外,其他兩個(gè)下標(biāo)都相同的部分分成一組,然后再進(jìn)行操作。具體分組如下(省略了一些組):

從上圖可以看出,每3個(gè)數(shù)分成一組,所以現(xiàn)在總共是分了4*5個(gè)組(所以最終返回的結(jié)果也是一個(gè)shape=[4,5]的矩陣),對(duì)每個(gè)組都執(zhí)行一次 reduce_max操作,將每個(gè)組的三個(gè)數(shù)中數(shù)值最大的數(shù)的index返回構(gòu)成矩陣即可。

這里需要特別說明一下axis=-1的操作,可能對(duì)python不熟悉的人會(huì)不理解這里的-1是哪個(gè)維度。在pyhton中,-1代表倒數(shù)第一個(gè),也就是說,假如你的矩陣shape=[3,4,5],那么對(duì)這個(gè)矩陣來說,axis=-1,其實(shí)也就等于axis=2。因?yàn)檫@是個(gè)三維矩陣,所以axis可能的取值為0,1,2,所以最后一個(gè)就是2。你可以自己試試看兩個(gè)取值結(jié)果是否相同。

2. 對(duì)axis的理解

通過上面的例子,你可能已經(jīng)發(fā)現(xiàn)了,axis是將矩陣進(jìn)行分組,然后再操作。而分組則意味著會(huì)降維。

以剛剛的例子,原始矩陣的shape=[3,4,5],取axis=0再進(jìn)行操作后,得到的矩陣shape=[4,5]。同樣的,取axis=1再進(jìn)行操作后,得到的矩陣shape=[3,5]。取axis=-1(axis=2)再操作后,shape=[3,4]。掌握這一點(diǎn),能有利于你在神經(jīng)網(wǎng)絡(luò)中的變換或是數(shù)據(jù)操作中明確矩陣變換前后的形狀,從而加快對(duì)模型的理解。

總結(jié)

到此這篇關(guān)于TensorFlow和Numpy矩陣操作中axis理解及axis=-1解釋的文章就介紹到這了,更多相關(guān)矩陣操作中axis=-1的解釋內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

參考資料

[1] 這個(gè)一句話解釋來源于:http://m.fzitv.net/article/242077.htm

相關(guān)文章

  • Python學(xué)習(xí)筆記之os模塊使用總結(jié)

    Python學(xué)習(xí)筆記之os模塊使用總結(jié)

    這篇文章主要介紹了Python學(xué)習(xí)筆記之os模塊使用總結(jié),本文總結(jié)了多個(gè)常用方法,需要的朋友可以參考下
    2014-11-11
  • Python實(shí)例練習(xí)逆序輸出字符串講解

    Python實(shí)例練習(xí)逆序輸出字符串講解

    今天小編就為大家分享一篇關(guān)于Python字符串逆序輸出的實(shí)例講解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2022-05-05
  • 用Python實(shí)現(xiàn)一個(gè)簡(jiǎn)單的能夠發(fā)送帶附件的郵件程序的教程

    用Python實(shí)現(xiàn)一個(gè)簡(jiǎn)單的能夠發(fā)送帶附件的郵件程序的教程

    這篇文章主要介紹了用Python實(shí)現(xiàn)一個(gè)簡(jiǎn)單的能夠發(fā)送帶附件的郵件程序的教程,用MIMEApplication模塊來發(fā)送各種類型的文件,需要的朋友可以參考下
    2015-04-04
  • Python中時(shí)間戳轉(zhuǎn)換的實(shí)現(xiàn)

    Python中時(shí)間戳轉(zhuǎn)換的實(shí)現(xiàn)

    時(shí)間和日期處理是至關(guān)重要的任務(wù)之一,本文介紹了在Python中使用time模塊進(jìn)行時(shí)間和時(shí)間戳之間的轉(zhuǎn)換,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-01-01
  • python使用redis實(shí)現(xiàn)消息隊(duì)列(異步)的實(shí)現(xiàn)完整例程

    python使用redis實(shí)現(xiàn)消息隊(duì)列(異步)的實(shí)現(xiàn)完整例程

    本文主要介紹了python使用redis實(shí)現(xiàn)消息隊(duì)列(異步)的實(shí)現(xiàn)完整例程,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • Python的條件表達(dá)式和lambda表達(dá)式實(shí)例

    Python的條件表達(dá)式和lambda表達(dá)式實(shí)例

    今天小編就為大家分享一篇Python的條件表達(dá)式和lambda表達(dá)式實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • Python圖像處理庫處理步驟

    Python圖像處理庫處理步驟

    這篇文章主要介紹了Python圖像處理探索之Python圖像處理庫,我們將學(xué)習(xí)使用不同的 Python 庫實(shí)現(xiàn)一些常見的圖像處理、變換和可視化技術(shù),這些技術(shù)通??梢杂米鞲鼜?fù)雜的圖像處理任務(wù)的基本預(yù)處理/后處理步驟,需要的朋友可以參考下
    2023-04-04
  • Python time模塊詳解(常用函數(shù)實(shí)例講解,非常好)

    Python time模塊詳解(常用函數(shù)實(shí)例講解,非常好)

    在平常的代碼中,我們常常需要與時(shí)間打交道。在Python中,與時(shí)間處理有關(guān)的模塊就包括:time,datetime以及calendar。這篇文章,主要講解time模塊。
    2014-04-04
  • python網(wǎng)絡(luò)編程之進(jìn)程詳解

    python網(wǎng)絡(luò)編程之進(jìn)程詳解

    這篇文章主要為大家介紹了python網(wǎng)絡(luò)編程之進(jìn)程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-01-01
  • 華為2019校招筆試題之處理字符串(python版)

    華為2019校招筆試題之處理字符串(python版)

    這篇文章主要為大家詳細(xì)介紹了華為2019校招筆試題之處理字符串,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-06-06

最新評(píng)論

浮梁县| 台南市| 安新县| 来安县| 庆元县| 麟游县| 大安市| 依兰县| 资溪县| 汽车| 广丰县| 小金县| 合山市| 巴里| 扶余县| 盖州市| 静宁县| 通辽市| 临洮县| 武陟县| 汕尾市| 宜黄县| 新宾| 香格里拉县| 申扎县| 枞阳县| 会宁县| 东乡族自治县| 虎林市| 海晏县| 双城市| 毕节市| 丹江口市| 阳东县| 五原县| 平江县| 福鼎市| 南木林县| 施甸县| 宁远县| 类乌齐县|