ModuleList — PyTorch 2.7 documentation (original) (raw)

class torch.nn.ModuleList(modules=None)[source][source]

Holds submodules in a list.

ModuleList can be indexed like a regular Python list, but modules it contains are properly registered, and will be visible by allModule methods.

Parameters

modules (iterable , optional) – an iterable of modules to add

Example:

class MyModule(nn.Module): def init(self) -> None: super().init() self.linears = nn.ModuleList([nn.Linear(10, 10) for i in range(10)])

def forward(self, x):
    # ModuleList can act as an iterable, or be indexed using ints
    for i, l in enumerate(self.linears):
        x = self.linears[i // 2](x) + l(x)
    return x

append(module)[source][source]

Append a given module to the end of the list.

Parameters

module (nn.Module) – module to append

Return type

ModuleList

extend(modules)[source][source]

Append modules from a Python iterable to the end of the list.

Parameters

modules (iterable) – iterable of modules to append

Return type

Self

insert(index, module)[source][source]

Insert a given module before a given index in the list.

Parameters