Solved by jpeg729 in post #2 
              
              
                When you add the Linear layers by appending them to the list self.fcls they are not registered with the model. Therefore they don’t get trained. Use the following to ensure they are properly registered. 
self.fcls = nn.ModuleList()
for i, num_hunits in enumerate(num_hidden_units_rec):
     fcl = nn.…