torch.squeeze¶
- torch.squeeze(input: Tensor, dim: Optional[Union[int, List[int]]]) Tensor ¶
回傳一個張量,其中已移除
input
中所有大小為 1 的指定維度。例如,如果 input 的形狀為: ,則 input.squeeze() 的形狀將為: 。
當給定
dim
時,僅在給定的維度上執行 squeeze 操作。 如果 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])