When should I use nn.ModuleList and when should I use nn.Sequential?

Exactly! If you use a plain python list, the parameters won’t be registered properly and you can’t pass them to your optimizer using model.parameters().

19 Likes