快捷方式

ModuleDict

class torch.nn.ModuleDict(modules=None)[來源][來源]

將子模組儲存在一個字典中。

ModuleDict 可以像常規 Python 字典一樣進行索引,但它包含的模組已正確註冊,並且對所有 Module 方法可見。

ModuleDict 是一個有序字典,遵循

  • 插入順序,以及

  • update() 中,合併的 OrderedDictdict(從 Python 3.6 開始)或另一個 ModuleDictupdate() 的引數)的順序。

請注意,使用其他無序對映型別(例如,Python 3.6 版本之前的普通 dict)進行 update() 操作不會保留合併對映的順序。

引數

modules (iterable, optional) – 一個(string: module)對映(字典)或一個型別為(string, module)的鍵值對可迭代物件

示例

class MyModule(nn.Module):
    def __init__(self) -> None:
        super().__init__()
        self.choices = nn.ModuleDict({
                'conv': nn.Conv2d(10, 10, 3),
                'pool': nn.MaxPool2d(3)
        })
        self.activations = nn.ModuleDict([
                ['lrelu', nn.LeakyReLU()],
                ['prelu', nn.PReLU()]
        ])

    def forward(self, x, choice, act):
        x = self.choices[choice](x)
        x = self.activations[act](x)
        return x
clear()[來源][來源]

從 ModuleDict 中刪除所有項。

items()[來源][來源]

返回 ModuleDict 鍵值對的可迭代物件。

返回型別

Iterable[tuple[str, torch.nn.modules.module.Module]]

keys()[來源][來源]

返回 ModuleDict 鍵的可迭代物件。

返回型別

Iterable[str]

pop(key)[來源][來源]

從 ModuleDict 中移除鍵並返回其模組。

引數

key (str) – 要從 ModuleDict 中彈出的鍵

返回型別

模組

update(modules)[來源][來源]

使用來自對映的鍵值對更新 ModuleDict,覆蓋現有鍵。

注意

如果 modules 是一個 OrderedDict、一個 ModuleDict 或一個鍵值對可迭代物件,則保留其中新元素的順序。

引數

modules (iterable) – 一個從 string 到 Module 的對映(字典),或一個型別為(string, Module)的鍵值對可迭代物件

values()[來源][來源]

返回 ModuleDict 值的可迭代物件。

返回型別

Iterable[Module]

文件

查閱 PyTorch 的全面開發者文件

檢視文件

教程

獲取面向初學者和高階開發者的深度教程

檢視教程

資源

查詢開發資源並獲得問題解答

檢視資源