对tensor操作时,view、reshape和resize的一些注意点
1.view、reshape和resize都可以改变tensor的形状,不会改变原来tensor的形状,且返回的新tensor都会与原来的tensor共享内存。
x = torch.ones(3,5)
y = x.view(15)
print(x)
z = x.reshape(-1,15)
b = x.resize(1,15)
print(b.shape)
print(id(y))
print(id(x))
y += 1
print(x)
z += 1
print(x)
b += 1
print(x)
运行结果如下:
2.view和reshape都可以使用-1指定某一维度,其值更具其他维度自动推算出来。但是resize不能。