Table of Contents
Shortcuts

# ModuleDict

class torch.nn.ModuleDict(modules=None)

  Holds submodules in a dictionary.

  `ModuleDict` can be indexed like a regular Python dictionary, but modules it contains are properly registered, and will be visible by all `Module` methods.

  `ModuleDict` is an ordered dictionary that respects

  - the order of insertion, and

  - in `update()`, the order of the merged `OrderedDict`, `dict` (started from Python 3.6) or another `ModuleDict` (the argument to `update()`).

  Note that `update()` with other unordered mapping types (e.g., Python’s plain `dict` before Python version 3.6) does not preserve the order of the merged mapping.

  Parameters:

    modules (iterable, optional) – a mapping (dictionary) of (string: module) or an iterable of key-value pairs of type (string, module)

  Example:

      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()

    Remove all items from the ModuleDict.

  items()

    Return an iterable of the ModuleDict key/value pairs.

    Return type:

      Iterable[Tuple[str, Module]]

  keys()

    Return an iterable of the ModuleDict keys.

    Return type:

      Iterable[str]

  pop(key)

    Remove key from the ModuleDict and return its module.

    Parameters:

      key (str) – key to pop from the ModuleDict

    Return type:

      Module

  update(modules)

    Update the `ModuleDict` with the key-value pairs from a mapping or an iterable, overwriting existing keys.

    Note

    If `modules` is an `OrderedDict`, a `ModuleDict`, or an iterable of key-value pairs, the order of new elements in it is preserved.

    Parameters:

      modules (iterable) – a mapping (dictionary) from string to `Module`, or an iterable of key-value pairs of type (string, `Module`)

  values()

    Return an iterable of the ModuleDict values.

    Return type:

      Iterable[Module]

## Docs

Access comprehensive developer documentation for PyTorch

View Docs

## Tutorials

Get in-depth tutorials for beginners and advanced developers

View Tutorials

## Resources

Find development resources and get your questions answered

View Resources

To analyze traffic and optimize your experience, we serve cookies on this site. By clicking or navigating, you agree to allow our usage of cookies. As the current maintainers of this site, Facebook’s Cookies Policy applies. Learn more, including about available controls: Cookies Policy.