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


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

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

用法:

refine_names(*names)

參數

names(str的可迭代) -輸出張量的所需名稱。最多可包含一個省略號。

根據 names 細化 self 的維度名稱。

精煉是重命名“lifts” 未命名維度的一種特殊情況。 None dim 可以精煉為任何名稱;一個名為dim 的名稱隻能被細化為具有相同的名稱。

因為命名張量可以與未命名張量共存,所以精煉名稱提供了一種編寫named-tensor-aware 代碼的好方法,該代碼適用於命名張量和未命名張量。

names 最多可包含一個省略號 (... )。省略號被貪心地擴展;它使用 self.names 相應索引中的名稱就地擴展以將 names 填充到與 self.dim() 相同的長度。

Python 2 不支持省略號,但可以使用字符串文字代替 ('...')。

例子:

>>> imgs = torch.randn(32, 3, 128, 128)
>>> named_imgs = imgs.refine_names('N', 'C', 'H', 'W')
>>> named_imgs.names
('N', 'C', 'H', 'W')

>>> tensor = torch.randn(2, 3, 5, 7, 11)
>>> tensor = tensor.refine_names('A', ..., 'B', 'C')
>>> tensor.names
('A', None, None, 'B', 'C')

警告

命名張量 API 是實驗性的,可能會發生變化。

相關用法


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