Strange behaviour when using Module Lists
Upon starting my training pipeline I got the follow summary of my model where I've made heavy use of module lists
| Name                 | Type       | Params
0 | Shared_Layers        | ModuleList | 8 K
1 | Shared_Layers.0      | Linear     | 8 K
2 | Pooled_Layers        | ModuleList | 0
3 | Decode_Layers        | ModuleList | 73 K
4 | Decode_Layers.0      | Linear     | 73 K
5 | Classification_Layer | Linear     | 257
I'm quite concerned about what these .0's mean and why Pooled layers in particular lacks a .0 in there. Any assistance in knowing if this means there is a problem or not would be appreciated.
the init for the module is below
def __init__(self, config):
    super(InfoMax, self).__init__()
    self.config = config
    self.af = Act_Dict[self.config["Network Architecture"]["Activation Function"]]
    self.network_config = self.config["Network Architecture"]
    self.bottleneck = self.network_config['Pooling_Layers'][-1]
    self.max_dim = self.network_config['Shared_Layers'][-1]
    self.start_dim = 32
    self.Shared_Layers = nn.ModuleList(torch.nn.Linear(i, o, 1) for i, o in pairwise([self.start_dim, *self.network_config['Shared_Layers']]))
    self.Pooled_Layers = nn.ModuleList(torch.nn.Linear(i, o, 1) for i, o in pairwise(self.network_config['Pooling_Layers']))
    self.Decode_Layers = nn.ModuleList(torch.nn.Linear(i, o, 1) for i, o in pairwise([self.bottleneck+self.start_dim, *self.network_config['Discrimination_Layers']]))
    self.Classification_Layer = torch.nn.Linear(self.Decode_Layers[-1].__dict__['out_features'], 1)