torch.Tensor.expand¶
- Tensor.expand(*sizes) Tensor¶
返回
self張量的新檢視,其中大小為 1 的維度被擴充套件到更大的尺寸。將 -1 作為維度大小表示不改變該維度的大小。
張量也可以擴充套件到更多的維度,新的維度將新增到前面。對於新維度,大小不能設定為 -1。
擴充套件張量不會分配新的記憶體,而只是在現有張量上建立一個新檢視,其中大小為 1 的維度透過將
stride設定為 0 擴充套件到更大的尺寸。任何大小為 1 的維度都可以擴充套件到任意值而無需分配新的記憶體。- 引數
*sizes (torch.Size 或 int...) – 期望的擴充套件大小
警告
擴充套件張量的多個元素可能指向同一個記憶體位置。因此,原地操作(特別是向量化操作)可能導致不正確的行為。如果需要寫入張量,請先對其進行克隆。
示例
>>> 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]])