ModuleDict
-
class torch.nn.ModuleDict(modules=None)[исходный код] -
Содержит подмодули в словаре.
ModuleDictможно индексировать как обычный словарь Python, но содержащиеся в нём модули регистрируются надлежащим образом и будут доступны всем методамModule.ModuleDict— это упорядоченный словарь, который сохраняет- порядок добавления элементов и
- при вызове
update()— порядок элементов объединённогоOrderedDict,dictили другогоModuleDict(аргументаupdate()).
Обратите внимание, что вызов
update()с другими неупорядоченными типами отображений не сохраняет порядок элементов объединённого отображения.- Параметры:
-
modules (итерируемый объект, необязательный) – отображение (словарь) вида (строка: модуль) или итерируемый объект с парами «ключ-значение» типа (строка, модуль)
Пример:
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.
-
keys()[исходный код] -
Возвращает итерируемый объект с ключами ModuleDict.
-
pop(key)[исходный код] -
Удаляет ключ из ModuleDict и возвращает соответствующий ему модуль.
-
update(modules)[исходный код] -
Обновляет
ModuleDictпарами «ключ-значение» из отображения, заменяя существующие ключи.Примечание
Если
modulesявляетсяOrderedDict,ModuleDictили итерируемым объектом с парами «ключ-значение», порядок новых элементов в нём сохраняется.
-
values()[исходный код] -
Возвращает итерируемый объект со значениями ModuleDict.
- Тип возвращаемого значения:
© 2026, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://docs.pytorch.org/docs/2.14/generated/torch.nn.ModuleDict.html