Hi @Valerio_Biscione, thanks a lot for your solution!
However, I am not sure why this is a problem in the first place, since in:
stages = [nn.Sequential(conv1,
                        batch_norm,
                        activation,
                        conv2,
                        batch_norm,
                        activation,
                        pooling)]

The first batch_norm's weights, bias, running mean, and running variance have different names (stage1.1.*) from the second batch_norm's weights, bias, running mean, and running variance (stage1.4.*) in the state_dict. So PyTorch should see these as two different modules right?