模块列表

torch.nn.ModuleList(modules=None)[源代码]

将子模块存储在列表中。

ModuleList 可以像常规的 Python 列表一样进行索引,但它包含的模块会被正确注册,并且可以通过所有 Module 方法访问到。

参数

modules (iterable, 可选) - 需要添加的模块的迭代对象

示例:

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)[源代码]

将给定模块添加到列表的末尾。

参数

module (nn.Module) – 需要添加的模块

返回类型

ModuleList

extend(modules)[源代码]

将 Python 可迭代对象中的元素追加到列表的末尾。

参数

modules (iterable) – 需要追加的模块 iterable 对象

返回类型

insert(index, module)[源代码]

将指定模块插入到列表中给定索引位置之前。

参数
  • index (int) – 需要插入的索引位置。

  • module (nn.Module) - 要插入的模块

本页目录