torch.flatten¶
- torch.flatten(input, start_dim=0, end_dim=-1) → Tensor
将
input
通过重塑成一维张量进行展平。如果传递了start_dim
或end_dim
,则仅展平从start_dim
开始到end_dim
结束的维度。input
中元素的顺序保持不变。与 NumPy 的 flatten 不同,它总是复制输入数据,此函数可能返回原始对象、视图或副本。如果没有展平任何维度,则返回原始对象
input
。否则,如果输入可以视为展平后的形状,则返回该视图。最后,只有在输入不能视为展平后的形状时,才会复制输入数据。有关何时返回视图的详细信息,请参阅torch.Tensor.view()
。注意
展平零维张量将返回一维视图。
- 参数:
input (Tensor) – 输入张量。
start_dim(int)- 要展平的第一个维度
end_dim(int)- 要展平的最后一个维度
示例:
>>> t = torch.tensor([[[1, 2], ... [3, 4]], ... [[5, 6], ... [7, 8]]]) >>> torch.flatten(t) tensor([1, 2, 3, 4, 5, 6, 7, 8]) >>> torch.flatten(t, start_dim=1) tensor([[1, 2, 3, 4], [5, 6, 7, 8]])