//**
在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...