tensor.view.permute
tensor.view()
tenor.view()的作用说通俗点就是:该函数返回一个有相同数据但不同大小的 Tensor。通俗一点,就是改变矩阵维度。
简单的举个例子就知道了,view()的参数就是返回Tensor的维度。我们先初始化一个简单的Tensor变量:
import torch
x = torch.tensor([[11,12,13,14],
[21,22,23,24],
[31,32,33,34],
[41,42,43,44]])
print(x.size())
print(x)
⚪方法一:直接指定输出维度
通过直接在view()函数中直接指定输出Tensor维度。函数只是改变原来Tensor的维度,并不会改变值。
y = x.view(16)
print(y.size())
print(y)
y1 = x.view(2,2,4)
print(y1.size())
print(y1)
⚪方法二:-1参数
view()维度函数的参数为-1时表示该维度取决于其它维度大小。
z = x.view(-1, 8) # -1表示该维度取决于其它维度大小,即(4*4)/ 8
print(z.size())
print(z)
z2 = x.view(-1)
print(z2.size())
print(z2)
tensor.permute()
tenor.view()的作用:将 Tensor 的维度换位置。
import torch
x = torch.tensor([[11,12,13,14],
[21,22,23,24],
[31,32,33,34],
[41,42,43,44]])
print(x.size())
print(x)
j = x.permute(1,0) #将第一维和第二维互换
print(j.size())
print(j)