view(*args) → Tensor
返回一个有相同数据但大小不同的tensor。 返回的tensor必须有与原tensor相同的数据和相同数目的元素,但可以有不同的大小。一个tensor必须是连续的contiguous()
才能被查看。
举例:
import torch
import numpy as np
if __name__ == '__main__':
a = np.array([[[1, 2], [3, 4], [3, 4]]]) # 1x3x2
b = torch.from_numpy(a)
print(b)
print(b.view(1, 2, 3, 1)) # 返回一个有相同数据但大小不同的tensor
print(b.view(6)) # 6=1x3x2
结果:
tensor([[[1, 2],
[3, 4],
[3, 4]]], dtype=torch.int32)
tensor([[[[1],
[2],
[3]],
[[4],
[3],
[4]]]], dtype=torch.int32)
tensor([1, 2, 3, 4, 3, 4], dtype=torch.int32)
由此可见,返回的是大小相同的但不同的tensor,这样有利于矩阵的操作。