如何调整 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.]])

更新于: 2021 年 11 月 6 日

6K+ 浏览量

开启你的职业生涯

完成课程即可获得认证

开始
广告