評價此頁

ModuleList#

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

以列表形式儲存子模組。

ModuleList 可以像常規 Python 列表一樣進行索引,但它包含的模組會被正確註冊,並且所有 Module 方法都能訪問到它們。

引數

modules (iterable, optional) – 要新增的模組的可迭代物件

示例

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]#

將給定的模組追加到列表末尾。

引數

module (nn.Module) – 要附加的模組

返回型別

自我

extend(modules)[source]#

將來自 Python 可迭代物件的模組追加到列表末尾。

引數

modules (iterable) – 要追加的模組的可迭代物件

返回型別

自我

insert(index, module)[source]#

在列表的給定索引之前插入一個給定的模組。

引數
  • index (int) – 要插入的索引。

  • module (nn.Module) – 要插入的模組