Solved by ptrblck in post #2 
              
              
                Since you didn’t freeze any parameters, all should be trained as long as you pass them to the optimizers. 
Pooling layers do not have any parameters. 
You can check the updated parameters by creating a deepcopy of the state_dict before training and compare it to the state_dict after training: 
state…