在PyTorch中,有兩種方法可以使用reshape
函數來改變張量的形狀:
.view()
方法:import torch
# 創建一個大小為(2, 3)的張量
x = torch.tensor([[1, 2, 3], [4, 5, 6]])
# 使用view方法將張量的形狀改變為(3, 2)
y = x.view(3, 2)
print(y)
輸出:
tensor([[1, 2],
[3, 4],
[5, 6]])
.reshape()
方法:import torch
# 創建一個大小為(2, 3)的張量
x = torch.tensor([[1, 2, 3], [4, 5, 6]])
# 使用reshape方法將張量的形狀改變為(3, 2)
y = x.reshape(3, 2)
print(y)
輸出:
tensor([[1, 2],
[3, 4],
[5, 6]])
這兩種方法都可以用來改變張量的形狀,但.view()
方法在某些情況下可能會返回一個共享存儲的視圖,而.reshape()
方法總是返回一個不共享存儲的新張量。