欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Pytorch中torch.unsqueeze()與torch.squeeze()函數詳細解析

 更新時間:2023年02月14日 10:30:06   作者:cv_lhp  
torch.squeeze()這個函數主要對數據的維度進行壓縮,去掉維數為1的的維度,下面這篇文章主要給大家介紹了關于Pytorch中torch.unsqueeze()與torch.squeeze()函數詳細的相關資料,需要的朋友可以參考下

一. torch.squeeze()函數解析

1. 官網鏈接

torch.squeeze(),如下圖所示:

torch.squeeze()

2. torch.squeeze()函數解析

torch.squeeze(input, dim=None, out=None) 

squeeze()函數的功能是維度壓縮。返回一個tensor(張量),其中 input 中維度大小為1的所有維都已刪除。

舉個例子:如果 input 的形狀為 (A×1×B×C×1×D),那么返回的tensor的形狀則為 (A×B×C×D)

當給定 dim 時,那么只在給定的維度(dimension)上進行壓縮操作,注意給定的維度大小必須是1,否則不能進行壓縮。

舉個例子:如果 input 的形狀為 (A×1×B),squeeze(input, dim=0)后,返回的tensor不變,因為第0維的大小為A,不是1;squeeze(input, 1)后,返回的tensor將被壓縮為 (A×B)。

3. 代碼舉例

3.1 輸入size=(2, 1, 2, 1, 2)的張量

x = torch.randn(size=(2, 1, 2, 1, 2))
x.shape

輸出結果如下:
torch.Size([2, 1, 2, 1, 2])

3.2 把x中維度大小為1的所有維都已刪除

y = torch.squeeze(x)#表示把x中維度大小為1的所有維都已刪除
y.shape

輸出結果如下:
torch.Size([2, 2, 2])

3.3 把x中第一維刪除,但是第一維大小為2,不為1,因此結果刪除不掉

y = torch.squeeze(x,0)#表示把x中第一維刪除,但是第一維大小為2,不為1,因此結果刪除不掉
y.shape

輸出結果如下:
torch.Size([2, 1, 2, 1, 2])

3.4 把x中第二維刪除,因為第二維大小是1,因此可以刪掉

y = torch.squeeze(x,1)#表示把x中第二維刪除,因為第二維大小是1,因此可以刪掉
y.shape

輸出結果如下:
torch.Size([2, 2, 1, 2])

3.5 把x中最后一維刪除,但是最后一維大小為2,不為1,因此結果刪除不掉

y = torch.squeeze(x,dim=-1)#表示把x中最后一維刪除,但是最后一維大小為2,不為1,因此結果刪除不掉
y.shape

輸出結果如下:
torch.Size([2, 1, 2, 1, 2])

二.torch.unsqueeze()函數解析

1. 官網鏈接

torch.unsqueeze(),如下圖所示:

torch.unsqueeze()

2. torch.unsqueeze()函數解析

torch.unsqueeze(input, dim) → Tensor

unsqueeze()函數起升維的作用,參數dim表示在哪個地方加一個維度,注意dim范圍在:[-input.dim() - 1, input.dim() + 1]之間,比如輸入input是一維,則dim=0時數據為行方向擴,dim=1時為列方向擴,再大錯誤。

3. 代碼舉例

3.1 輸入一維張量,在第0維(行)擴展,第0維大小為1

x = torch.tensor([1, 2, 3, 4])
y = torch.unsqueeze(x, 0)#在第0維擴展,第0維大小為1
y,y.shape

輸出結果如下:
(tensor([[1, 2, 3, 4]]), torch.Size([1, 4]))

3.2 在第1維(列)擴展,第1維大小為1

y = torch.unsqueeze(x, 1)#在第1維擴展,第1維大小為1
y,y.shape

輸出結果如下:
(tensor([[1],
         [2],
         [3],
         [4]]),
 torch.Size([4, 1]))

3.3 在第最后一維(也就是倒數第一維進行)擴展,最后一維大小為1

y = torch.unsqueeze(x, -1)#在第最后一維擴展,最后一維大小為1
y,y.shape

輸出結果如下:
(tensor([[1],
         [2],
         [3],
         [4]]),
 torch.Size([4, 1]))

總結

到此這篇關于Pytorch中torch.unsqueeze()與torch.squeeze()函數的文章就介紹到這了,更多相關Pytorch torch.unsqueeze()與torch.squeeze()函數內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 淺析Python 中整型對象存儲的位置

    淺析Python 中整型對象存儲的位置

    下面小編就為大家?guī)硪黄獪\析Python 中整型對象存儲的位置。小編覺得挺不錯的,現在分享給大家,也給大家做個參考,一起跟隨小編過來看看吧
    2016-05-05
  • Python實現保證只能運行一個腳本實例

    Python實現保證只能運行一個腳本實例

    這篇文章主要介紹了Python實現保證只能運行一個腳本實例,本文直接給出實現代碼,需要的朋友可以參考下
    2015-06-06
  • python生成requirements.txt文件的推薦方法

    python生成requirements.txt文件的推薦方法

    Python項目中必須包含一個requirements.txt文件,用于記錄所有依賴包及其精確的版本號,以便新環(huán)境部署,下面這篇文章主要給大家介紹了關于python生成requirements.txt文件的相關資料,需要的朋友可以參考下
    2022-07-07
  • Python變量格式化輸出實現原理解析

    Python變量格式化輸出實現原理解析

    這篇文章主要介紹了Python變量格式化輸出實現原理解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-08-08
  • 關于pyqtSignal的基本使用

    關于pyqtSignal的基本使用

    這篇文章主要介紹了關于pyqtSignal的基本使用方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • Python生成MD5值的兩種方法實例分析

    Python生成MD5值的兩種方法實例分析

    這篇文章主要介紹了Python生成MD5值的兩種方法,結合實例形式較為詳細的分析了Python實現MD5加密的常見操作技巧,需要的朋友可以參考下
    2019-04-04
  • python的turtle庫使用詳解

    python的turtle庫使用詳解

    在本篇文章里小編給大家分享了關于python的turtle庫相關知識點以及使用方法,需要的朋友們跟著學習下。
    2019-05-05
  • 詳解Python中where()函數的用法

    詳解Python中where()函數的用法

    本篇文章主要介紹了詳解Python中where()函數的用法,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-03-03
  • Python筆記(叁)繼續(xù)學習

    Python筆記(叁)繼續(xù)學習

    最近時間擠來擠去,看英文的文檔,順便熟悉英語,需要反復好幾遍,才能做點筆記。讀的是《Beginning.Python.From.Novice.to.Professional》,大家可以下載看一下
    2012-10-10
  • Django Admin后臺添加數據庫視圖過程解析

    Django Admin后臺添加數據庫視圖過程解析

    這篇文章主要介紹了Django Admin后臺添加數據庫視圖過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-04-04

最新評論