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

Pytorch中view函數(shù)實(shí)例講解

 更新時(shí)間:2023年09月27日 09:00:50   作者:信小海  
這篇文章主要給大家介紹了關(guān)于Pytorch中view函數(shù)的相關(guān)資料,PyTorch中的.view()函數(shù)是一個(gè)用于改變張量形狀的方法,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下

一、函數(shù)簡介

Pytorch中的view函數(shù)主要用于Tensor維度的重構(gòu),即返回一個(gè)有相同數(shù)據(jù)但不同維度的Tensor。

根據(jù)上面的描述可知,view函數(shù)的操作對象應(yīng)該是Tensor類型。如果不是Tensor類型,可以通過tensor = torch.tensor(data)來轉(zhuǎn)換。

二、實(shí)例講解

?view(參數(shù)a,參數(shù)b,…),其中,總的參數(shù)個(gè)數(shù)表示將張量重構(gòu)后的維度。

import torch
temp = [1,2,3,4,5,6] # temp的類型為list,非Tensor
temp = torch.tensor(temp) # 將temp由list類型轉(zhuǎn)為Tensor類型
print(temp) # torch.Size([6])
print(temp.view(2,3)) # 將temp的維度改為2*3
print(temp.view(2,3,1)) # 將temp的維度改為2*3*1
print(temp.view(2,3,1,1)) # 更多的維度也沒有問題,只要保證維度改變前后的元素個(gè)數(shù)相同就行,即2*3*1*1=6

?view(參數(shù)a,參數(shù)b,…),其中,如果某個(gè)參數(shù)為-1,則表示該維度取決于其它維度,由Pytorch自己補(bǔ)充。

import torch
temp = [[11,12,13,14,15,16],
        [21,22,23,24,25,26]]
temp = torch.tensor(temp)
print(temp) 
# torch.Size([2, 6])
print(temp.view(3,-1,2)) 
# 這里的-1表示該維度取決于其它維度,即等于(2*6)÷3÷2=2
# torch.Size([3, 2, 2])

?view(-1)表示將Tensor轉(zhuǎn)為一維Tensor。

import torch
temp = [1,2,3,4,5,6] # temp的類型為list,非Tensor
temp = torch.tensor(temp) # 將temp由list類型轉(zhuǎn)為Tensor類型
print(temp) # 本身就是一維張量
print(temp.view(-1)) # 因此,轉(zhuǎn)變后還是一維,沒什么變換
temp1 = torch.tensor([[1,2,3],[4,5,6]])
print(temp1) # torch.Size([2, 3])
print(temp1.view(-1)) # 多維張量轉(zhuǎn)為一維張量

附:Pytorch中的view函數(shù)需要注意的點(diǎn)

一、函數(shù)說明

Pytorch中的view函數(shù)主要用于張量tensor的維度修改,通過view里面的參數(shù),可以修改成任意維度的張量,前提是修改后的張量大小和原張量大小一致,比如45的張量,可以修改成225,但是不能修改成32*3。

二、數(shù)據(jù)共享

通過view修改維度以后的張量,和原張量是共享底層數(shù)據(jù)的,也就是說,如果你修改了一個(gè)張量中的數(shù)據(jù),兩個(gè)張量數(shù)據(jù)都會(huì)改變。比如原張量V1=torch.zeros(4,5),修改后的張量V2=V1.view(2,2,5),如果讓V2[0][0][0]=1,則V1[0][0]也等于1。

三、參數(shù)

view的參數(shù)如果有-1,則表示這個(gè)維度的大小由其他位置決定,只能用剩下的數(shù)據(jù)維度。
還是V1=torch.zeros(4,5),V3=V1.view(2,-1,5),則V3的第二維度大小就是2了。每次只能有一個(gè)默認(rèn)的-1維度,不然沒法計(jì)算準(zhǔn)確的維度大小。

四、維度變化

還是V1=torch.zeros(4,5),V4=V1.view(20,1)表示的是二維張量20*1,而V5=V1.view(20),或V5=V1.view(20,)表示的是一維張量,長度為20。在訓(xùn)練模型的時(shí)候需要注意,因?yàn)檫@兩種方式都能進(jìn)入全連接層或者線性神經(jīng)網(wǎng)絡(luò),只不過出來的結(jié)果會(huì)對應(yīng)輸入的維度,在計(jì)算誤差的時(shí)候,對目標(biāo)的處理就不一樣了,需要相同維度,也就是在loss = nn.xxxxxLoss(output, label)時(shí),要注意ouput和label的維度是否一致。

總結(jié)

到此這篇關(guān)于Pytorch中view函數(shù)實(shí)例講解的文章就介紹到這了,更多相關(guān)Pytorch view函數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳細(xì)一文帶你分清Python中的模塊、包和庫

    詳細(xì)一文帶你分清Python中的模塊、包和庫

    這篇文章主要介紹了詳細(xì)一文帶你分清Python中的模塊、包和庫,Python?模塊(Module),是一個(gè)?Python?文件,以?.py?結(jié)尾,包含了?Python?對象定義和Python語句,模塊能定義函數(shù),類和變量,模塊也能包含可執(zhí)行的代碼,需要的朋友可以參考下
    2023-08-08
  • 10款最佳Python開發(fā)工具推薦,每一款都是神器

    10款最佳Python開發(fā)工具推薦,每一款都是神器

    這篇文章主要介紹了10款最佳Python開發(fā)工具推薦,每一款都是神器,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2020-10-10
  • Python使用PIL將圖片或GIF轉(zhuǎn)為字符畫的方法詳解

    Python使用PIL將圖片或GIF轉(zhuǎn)為字符畫的方法詳解

    PIL是專為Python語言設(shè)計(jì)的圖像處理庫,它涵蓋了廣泛的圖像處理功能,如圖像的加載、保存、編輯,以及執(zhí)行多樣化的圖像處理任務(wù),本文給大家介紹了Python使用PIL將圖片或GIF轉(zhuǎn)為字符畫的方法,需要的朋友可以參考下
    2025-03-03
  • Python數(shù)據(jù)結(jié)構(gòu)與算法之圖結(jié)構(gòu)(Graph)實(shí)例分析

    Python數(shù)據(jù)結(jié)構(gòu)與算法之圖結(jié)構(gòu)(Graph)實(shí)例分析

    這篇文章主要介紹了Python數(shù)據(jù)結(jié)構(gòu)與算法之圖結(jié)構(gòu)(Graph),結(jié)合實(shí)例形式分析了圖結(jié)構(gòu)的概念、原理、使用方法及相關(guān)操作技巧,需要的朋友可以參考下
    2017-09-09
  • Python實(shí)現(xiàn)亂序文件重新命名編號

    Python實(shí)現(xiàn)亂序文件重新命名編號

    這篇文章主要為大家詳細(xì)介紹一下Python的一個(gè)神操作,那就是實(shí)現(xiàn)亂序文件重新命名編號功能,文中的示例代碼講解詳細(xì),感興趣的可以嘗試一下
    2022-08-08
  • Python利用lxml模塊爬取豆瓣讀書排行榜的方法與分析

    Python利用lxml模塊爬取豆瓣讀書排行榜的方法與分析

    這篇文章主要給大家介紹了關(guān)于Python爬蟲利用lxml模塊爬取豆瓣讀書排行榜的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • Python編程中內(nèi)置的NotImplemented類型的用法

    Python編程中內(nèi)置的NotImplemented類型的用法

    這篇文章主要介紹了Python編程中內(nèi)置的NotImplemented類型的用法,NotImplemented 是Python在內(nèi)置命名空間中的六個(gè)常數(shù)之一,下文更多詳細(xì)內(nèi)容需要的小伙伴可以參考一下
    2022-03-03
  • Python中創(chuàng)建字典的幾種方法總結(jié)(推薦)

    Python中創(chuàng)建字典的幾種方法總結(jié)(推薦)

    下面小編就為大家?guī)硪黄狿ython中創(chuàng)建字典的幾種方法總結(jié)(推薦)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-04-04
  • 解決Jupyter-notebook不彈出默認(rèn)瀏覽器的問題

    解決Jupyter-notebook不彈出默認(rèn)瀏覽器的問題

    這篇文章主要介紹了解決Jupyter-notebook不彈出默認(rèn)瀏覽器的問題,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • Python基本知識點(diǎn)總結(jié)

    Python基本知識點(diǎn)總結(jié)

    這篇文章主要介紹了Python基本知識點(diǎn)總結(jié),Python基本知識,Python字符串,Python函數(shù),Python模塊,Python創(chuàng)建類,Python類的繼承,Python重載,Python單下劃線說明,Python雙下劃線說明,Python頭尾雙下劃線說明,需要的朋友可以參考下
    2022-04-04

最新評論