快捷鍵

ModuleDict

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

在字典中保存子模組。

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

ModuleDict 是一個有順序的字典,它會保留

  • 插入的順序,並且

  • update() 中,合併的 OrderedDictdict (Python 3.6 開始) 或另一個 ModuleDict 的順序 (作為 update() 的參數)。

請注意,使用其他無序的映射類型 (例如,Python 3.6 之前的普通 dict) 進行 update() 並不會保留合併映射的順序。

參數

modules (iterable, optional) – 一個 (字串: 模組) 的映射 (字典),或一個 (字串, 模組) 型別的鍵值對的可迭代物件

範例

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()[source][source]

從 ModuleDict 中移除所有項目。

items()[source][source]

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

回傳型別

Iterable[Tuple[str, Module]]

keys()[source][source]

回傳 ModuleDict 鍵的可迭代物件。

回傳型別

Iterable[str]

pop(key)[source][source]

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

參數

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

回傳型別

模組

update(modules)[source][source]

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

注意

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

參數

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

values()[source][source]

回傳 ModuleDict 值(value)的可迭代物件。

回傳型別

Iterable[Module]

文件

存取 PyTorch 的完整開發者文件

查看文件

教學

取得初學者和進階開發者的深入教學

查看教學

資源

尋找開發資源並取得您的問題解答

查看資源