温馨提示×

pytorch中flatten函数的用法是什么

小亿
109
2024-01-31 14:29:27
栏目: 编程语言

在PyTorch中,flatten函数用于将输入张量展平为一维张量。它的用法如下:

torch.flatten(input, start_dim=0, end_dim=-1)

参数说明:

  • input:输入的张量。
  • start_dim:开始展平的维度,默认为0。
  • end_dim:结束展平的维度,默认为-1,表示展平到最后一维。

flatten函数将沿着指定的维度范围将输入张量展平为一维张量。展平后的张量将包含原始张量中的所有元素,并将其重新排列为一维。

示例:

import torch

x = torch.randn(3, 4, 5)
flattened = torch.flatten(x)
print(flattened.shape)  # 输出: torch.Size([60])

flattened_dim1 = torch.flatten(x, start_dim=1)
print(flattened_dim1.shape)  # 输出: torch.Size([3, 20])

flattened_dim1_dim2 = torch.flatten(x, start_dim=1, end_dim=2)
print(flattened_dim1_dim2.shape)  # 输出: torch.Size([3, 20, 5])

在上面的示例中,flatten函数首先将形状为(3, 4, 5)的张量x展平为形状为(60,)的一维张量。然后,通过指定start_dim=1,将张量x的第二个维度展平,得到形状为(3, 20)的张量。最后,通过指定start_dim=1, end_dim=2,将张量x的第二个和第三个维度展平,得到形状为(3, 20, 5)的张量。

0