ModuleList 可以像常规 Python 列表一样进行索引。

1、ModuleList 代码举例

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

    def forward(self, x):
        
        for index, liner in enumerate(self.linears):
            x = self.linears[index // 2](x) + liner(x)
        return x

2、ModuleList 常用函数

append(module)函数:将给定的模块附加到列表末尾。

extend(modules)函数:将多个模块追加到列表末尾。

insert(index, module)函数:在列表中的给定索引之前插入给定的模块。