Pytorch中view的用法

2021-10-24 09:51:43 字數 1238 閱讀 3293

//**

在pytorch中view函式的作用為重構張量的維度,相當於numpy中resize()的功能,但是用法可能不太一樣。如下例所示

>>> import torch

>>> tt1=torch.tensor([-0.3623, -0.6115, 0.7283, 0.4699, 2.3261, 0.1599])

>>> result=tt1.view(3,2)

>>> result

tensor([[-0.3623, -0.6115],

[ 0.7283, 0.4699],

[ 2.3261, 0.1599]])

torch.view(引數a,引數b,...)

在上面例子中引數a=3和引數b=2決定了將一維的tt1重構成3x2維的張量。

2. 有的時候會出現torch.view(-1)或者torch.view(引數a,-1)這種情況。

>>> import torch

>>> tt2=torch.tensor([[-0.3623, -0.6115],

... [ 0.7283, 0.4699],

... [ 2.3261, 0.1599]])

>>> result=tt2.view(-1)

>>> result

tensor([-0.3623, -0.6115, 0.7283, 0.4699, 2.3261, 0.1599])

由上面的案例可以看到,如果是torch.view(-1),則原張量會變成一維的結構。

>>> import torch

>>> tt3=torch.tensor([[-0.3623, -0.6115],

... [ 0.7283, 0.4699],

... [ 2.3261, 0.1599]])

>>> result=tt3.view(2,-1)

>>> result

tensor([[-0.3623, -0.6115, 0.7283],

[ 0.4699, 2.3261, 0.1599]])

由上面的案例可以看到,如果是torch.view(引數a,-1),則表示在引數b未知,引數a已知的情況下自動補齊列向量長度,在這個例子中a=2,tt3總共由6個元素,則b=6/2=3。torch.view(-1,引數a同理)

PyTorch中view的用法

相當於numpy中resize 的功能,但是用法可能不太一樣。我的理解是 把原先tensor中的資料按照行優先的順序排成乙個一維的資料 這裡應該是因為要求位址是連續儲存的 然後按照引數組合成其他維度的tensor。比如說是不管你原先的資料是 1,2,3 4,5,6 還是 1,2,3,4,5,6 因為...

PyTorch中view的用法

相當於numpy中resize 的功能,但是用法可能不太一樣。我的理解是 把原先tensor中的資料按照行優先的順序排成乙個一維的資料 這裡應該是因為要求位址是連續儲存的 然後按照引數組合成其他維度的tensor。比如說是不管你原先的資料是 1,2,3 4,5,6 還是 1,2,3,4,5,6 因為...

PyTorch中view的用法

我的理解就是將原來的tensor在進行維度的更改 根據引數的輸入進行更改 後再進行輸出,其實就是更換了tensor的一種檢視方式 a torch.tensor 1,2,3 4,5,6 b torch.tensor 1,2,3,4,5,6 print a.view 1,6 print b.view 1...