日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Pytorch详细教程——10.Flatten, Reshape, And Squeeze Explained

發布時間:2024/1/18 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Pytorch详细教程——10.Flatten, Reshape, And Squeeze Explained 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

10. Flatten, Reshape, And Squeeze Explained - Tensors For Deep Learning With PyTorch

我們開始用tensor進行簡單操作

對于tensor的操作主要有四種

  • 重塑操作
  • 元素操作
  • 元素還原操作
  • 元素訪問操作
  • 最后這個len(t.shape)代表知道t的秩

    先把t.shape變成tensor類,再用prod求tensor 的數量,也就是包含12個分量

    或者用這個特定 的函數方法,這個numel就是number element的縮寫

    張量的重塑操作:只改變形狀,不會變張量的數量,只要重塑的形狀乘積是12就可以了。

    在下面這些例子中我們用兩個因子使秩保持在2,但是如果我們使用三個元素,我們可以改變秩


    我們可以通過squeezing(壓縮)和unsqueezing(解壓縮)它們

    squeezing是壓縮一個向量可以移除所有長度為1的軸,而解壓縮一個張量則是增加一個長度為1的維度,這些函數允許我們擴大或者縮小張量的秩

    flatten一個tensor意味著除去所有的軸,只保留一個,它創造了一個單軸的張量,它包含了張量的元素,所以本質上是把一個張量拉平,我們創建了一個一維數組,它包含了張量的所有標量分量。

    一個flatten操作是當我們從一個卷積層過度到一個全連接層時必須在神經網絡中發生的操作,我們從卷積層獲得輸出,它以輸出通道的形式給我們
    我們把這些通道變平成一個單一的一維數組
    當我們建立 CNN的時候,我們會看到這一點

    因為輸入的張量是任何形狀的,我們通過-1來表示重塑函數的第二個參數,在pytorch中-1會告訴reshape函數,根據一個張量中的包含的其他值和元素的個數來求出值應該是多少(可以理解為占位符?),因為t有12個元素,這個被重塑的函數能夠計算出第二個軸的長度是12個,以確保一個張量中的元素空間足夠大

    這個flatten后的結果


    實際上可以通過重塑方法可以實現flatten操作的另一種方法,就是t.reshape(-1)

    張量的拼接操作

    我們可以使用Pytorch的cat函數來組合兩個張量來做到這一點,就兩個張量的形狀而言,我們計算他們的方式會影響輸出張量結果的形狀。


    dim=0是按照軸為0,也就是橫著排列

    dim=1是按照軸為1,也就是豎著排列

    總結

    以上是生活随笔為你收集整理的Pytorch详细教程——10.Flatten, Reshape, And Squeeze Explained的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。