torch.squeeze¶
- torch.squeeze(input, dim=None) Tensor ¶
返回一个张量,其中所有指定维度的
input
大小为 1 的维度都被移除。例如,如果 input 的形状为:,则 input.squeeze() 的形状为:.
当
dim
被指定时,仅在给定的维度上进行压缩操作。如果 input 的形状为:,squeeze(input, 0)
会保持张量不变,但squeeze(input, 1)
会将张量压缩为形状 .注意
返回的张量与输入张量共享存储,因此更改一个的内容将更改另一个的内容。
警告
如果张量具有大小为 1 的批次维度,则 squeeze(input) 也会移除批次维度,这可能会导致意外错误。考虑仅指定要压缩的维度。
示例
>>> x = torch.zeros(2, 1, 2, 1, 2) >>> x.size() torch.Size([2, 1, 2, 1, 2]) >>> y = torch.squeeze(x) >>> y.size() torch.Size([2, 2, 2]) >>> y = torch.squeeze(x, 0) >>> y.size() torch.Size([2, 1, 2, 1, 2]) >>> y = torch.squeeze(x, 1) >>> y.size() torch.Size([2, 2, 1, 2]) >>> y = torch.squeeze(x, (1, 2, 3)) torch.Size([2, 2, 2])