torch.as_strided#
- torch.as_strided(input, size, stride, storage_offset=None) Tensor#
建立一個現有 torch.Tensor
input的檢視,具有指定的size、stride和storage_offset。警告
建議優先使用其他檢視函式,例如
torch.Tensor.view()或torch.Tensor.expand(),而不是手動使用 as_strided 設定檢視的步幅。因為此函式在不支援步幅概念的非標準 PyTorch 後端上會引發錯誤,並且結果將取決於記憶體中的當前佈局。構造的檢視只能引用 Tensor 儲存中的元素,否則將丟擲執行時錯誤。如果生成的檢視是“重疊的”(多個索引指向記憶體中的同一元素),則在該檢視上進行原地操作的行為是未定義的(並且可能不會引發執行時錯誤)。- 引數
示例
>>> x = torch.randn(3, 3) >>> x tensor([[ 0.9039, 0.6291, 1.0795], [ 0.1586, 2.1939, -0.4900], [-0.1909, -0.7503, 1.9355]]) >>> t = torch.as_strided(x, (2, 2), (1, 2)) >>> t tensor([[0.9039, 1.0795], [0.6291, 0.1586]]) >>> t = torch.as_strided(x, (2, 2), (1, 2), 1) tensor([[0.6291, 0.1586], [1.0795, 2.1939]])