ModuleDict
-
class torch.nn.ModuleDict(modules=None)[source] -
Хранит подмодули в словаре.
ModuleDictможно индексировать как обычный словарь Python, но содержащиеся в нём модули должным образом регистрируются и будут видны всем методамModule.ModuleDictявляется упорядоченным словарем, который учитывает- порядок вставки, и
- в методе
update(), порядок объединённыхOrderedDict,dict(начиная с Python 3.6) или другогоModuleDict(аргумент методаupdate()).
Обратите внимание, что
update()со словарями без сохранения порядка (например, обычным словарем Python до Python версии 3.6) не сохраняет порядок объединённого словаря.- Parameters
-
modules (iterable, optional) – отображение (словарь) (строка: модуль) или итерируемый список пар ключ-значение типа (строка, модуль)
Пример:
class MyModule(nn.Module): def __init__(self): 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] -
Удаляет все элементы из ModuleDict.
-
items()[source] -
Возвращает итерируемый список пар ключ/значение ModuleDict.
-
pop(key)[source] -
Удаляет ключ из ModuleDict и возвращает соответствующий модуль.
-
update(modules)[source] -
Обновляет
ModuleDictпарами ключ-значение из отображения или итерируемого объекта, перезаписывая существующие ключи.Примечание
Если
modulesявляется словарем,ModuleDict, или итерируемым объектом пар ключ-значение, порядок новых элементов в нём сохраняется.
© 2024, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://pytorch.org/docs/2.1/generated/torch.nn.ModuleDict.html