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