深度学习框架_PyTorch_torch.view()函数
用法:torch.view()返回的数据和传入的tensor一样,只是形状不一样。注意:返回的tensor和传入的tensor共享内存,也就是修改其中一个,数据都会变。接下来我们举一个例子:>>> a = torch.ones(6,3)>>> atensor([[1., 1., 1.],[1., 1., 1.],[1...
·
用法:torch.view()返回的数据和传入的tensor一样,只是形状不一样。
注意:返回的tensor和传入的tensor共享内存,也就是修改其中一个,数据都会变。
接下来我们举一个例子:
>>> a = torch.ones(6,3)
>>> a
tensor([[1., 1., 1.],
[1., 1., 1.],
[1., 1., 1.],
[1., 1., 1.],
[1., 1., 1.],
[1., 1., 1.]])
>>> b = a.view(2,-1)
>>> b
tensor([[1., 1., 1., 1., 1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1., 1., 1., 1., 1.]])
>>> b = a.view(9,2)
>>> b
tensor([[1., 1.],
[1., 1.],
[1., 1.],
[1., 1.],
[1., 1.],
[1., 1.],
[1., 1.],
[1., 1.],
[1., 1.]])
>>> b = a.view(1,1,-1)
>>> b
tensor([[[1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,
1.]]])
>>> b = a.view(3,3,-1)
>>> b
tensor([[[1., 1.],
[1., 1.],
[1., 1.]],
[[1., 1.],
[1., 1.],
[1., 1.]],
[[1., 1.],
[1., 1.],
[1., 1.]]])
>>> a = torch.rand(3,6)
>>> a
tensor([[0.0091, 0.3211, 0.4842, 0.0589, 0.6838, 0.0532],
[0.8668, 0.4099, 0.8746, 0.4159, 0.1801, 0.3756],
[0.1054, 0.1218, 0.4357, 0.9017, 0.3050, 0.4209]])
>>> b = a.view(3,3,-1)
>>> b
tensor([[[0.0091, 0.3211],
[0.4842, 0.0589],
[0.6838, 0.0532]],
[[0.8668, 0.4099],
[0.8746, 0.4159],
[0.1801, 0.3756]],
[[0.1054, 0.1218],
[0.4357, 0.9017],
[0.3050, 0.4209]]])
>>> b = a.view(2,3,-1)
>>> b
tensor([[[0.0091, 0.3211, 0.4842],
[0.0589, 0.6838, 0.0532],
[0.8668, 0.4099, 0.8746]],
[[0.4159, 0.1801, 0.3756],
[0.1054, 0.1218, 0.4357],
[0.9017, 0.3050, 0.4209]]])
>>> a =torch.ones(3,3,3)
>>> a
tensor([[[1., 1., 1.],
[1., 1., 1.],
[1., 1., 1.]],
[[1., 1., 1.],
[1., 1., 1.],
[1., 1., 1.]],
[[1., 1., 1.],
[1., 1., 1.],
[1., 1., 1.]]])
>>> a.view(-1,9)
tensor([[1., 1., 1., 1., 1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1., 1., 1., 1., 1.]])
>>> a.view(-1,27)
tensor([[1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,
1., 1., 1., 1., 1., 1., 1., 1., 1.]])
>>> a
tensor([[[1., 1., 1.],
[1., 1., 1.],
[1., 1., 1.]],
[[1., 1., 1.],
[1., 1., 1.],
[1., 1., 1.]],
[[1., 1., 1.],
[1., 1., 1.],
[1., 1., 1.]]])
>>> a=a.view(-1,27)
>>> a
tensor([[1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,
1., 1., 1., 1., 1., 1., 1., 1., 1.]])
更多推荐



所有评论(0)