如何调整 PyTorch 中的张量的尺寸?
要调整 PyTorch 张量的尺寸,我们使用.view()方法。我们可以增加或减少张量的维度,但我们必须确保张量中元素的总数在调整前和调整后相等。
步骤
导入所需的库。在以下所有 Python 示例中,必需的 Python 库都是torch。确保你已经安装了它。
创建一个 PyTorch 张量并打印它。
使用.view()调整上述创建的张量,并将值分配给一个变量。.view()不会调整原始张量;它只提供一个具有新尺寸的视图,就像它的名称所暗示的那样。
最后,在调整后打印张量。
示例 1
# Python program to resize a tensor in PyTorch # Import the library import torch # Create a tensor T = torch.Tensor([1, 2, 3, 4, 5, 6]) print(T) # Resize T to 2x3 x = T.view(2,3) print("Tensor after resize:\n",x) # Other way to resize T to 2x3 x = T.view(-1,3) print("Tensor after resize:\n",x) # Other way resize T to 2x3 x = T.view(2,-1) print("Tensor after resize:\n",x)
输出
当你运行上述 Python 3 代码时,它将生成以下输出
tensor([1., 2., 3., 4., 5., 6.]) Tensor after resize: tensor([[1., 2., 3.], [4., 5., 6.]]) Tensor after resize: tensor([[1., 2., 3.], [4., 5., 6.]]) Tensor after resize: tensor([[1., 2., 3.], [4., 5., 6.]])
示例 2
# Import the library import torch # Create a tensor shape 4x3 T = torch.Tensor([[1,2,3],[2,1,3],[2,3,5],[5,6,4]]) print(T) # Resize T to 3x4 x = T.view(-1,4) print("Tensor after resize:\n",x) # Other way to esize T to 3x4 x = T.view(3,-1) print("Tensor after resize:\n",x) # Resize T to 2x6 x = T.view(2,-1) print("Tensor after resize:\n",x)
输出
当你运行上述 Python 3 代码时,它将生成以下输出
tensor([[1., 2., 3.], [2., 1., 3.], [2., 3., 5.], [5., 6., 4.]]) Tensor after resize: tensor([[1., 2., 3., 2.], [1., 3., 2., 3.], [5., 5., 6., 4.]]) Tensor after resize: tensor([[1., 2., 3., 2.], [1., 3., 2., 3.], [5., 5., 6., 4.]]) Tensor after resize: tensor([[1., 2., 3., 2., 1., 3.], [2., 3., 5., 5., 6., 4.]])
广告