當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python PyTorch Tensor.expand用法及代碼示例


本文簡要介紹python語言中 torch.Tensor.expand 的用法。

用法:

Tensor.expand(*sizes) → Tensor

參數

*sizes(torch.Size或者詮釋...) -所需的擴展尺寸

返回 self 張量的新視圖,其中單例維度擴展為更大的尺寸。

傳遞 -1 作為維度的大小意味著不更改該維度的大小。

Tensor 也可以擴展到更大的維度,新的維度會附加在前麵。對於新維度,大小不能設置為 -1。

擴展張量不會分配新內存,而隻會在現有張量上創建一個新視圖,其中通過將stride 設置為 0 將尺寸為 1 的維度擴展為更大的尺寸。任何尺寸為 1 的尺寸都可以擴展為任意值而不分配新內存。

警告

擴展張量的多個元素可以引用單個內存位置。因此,就地操作(尤其是矢量化的操作)可能會導致不正確的行為。如果您需要寫入張量,請先克隆它們。

例子:

>>> x = torch.tensor([[1], [2], [3]])
>>> x.size()
torch.Size([3, 1])
>>> x.expand(3, 4)
tensor([[ 1,  1,  1,  1],
        [ 2,  2,  2,  2],
        [ 3,  3,  3,  3]])
>>> x.expand(-1, 4)   # -1 means not changing the size of that dimension
tensor([[ 1,  1,  1,  1],
        [ 2,  2,  2,  2],
        [ 3,  3,  3,  3]])

相關用法


注:本文由純淨天空篩選整理自pytorch.org大神的英文原創作品 torch.Tensor.expand。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。