I saved the model with DataParallel. After loading, I used the model as module. If you print the model after loading using DataParallel, you will see the model is inside the DataParallel which acts like a wrapper. You can access the model using DataParallel.model. Moreover, you can also load the model without DataParallel even though you trained and saved the model with DataParallel.