Support loading a non-DP/DDP model from a DP/DDP state_dict (#53224)
Summary:
Pull Request resolved: https://github.com/pytorch/pytorch/pull/53224
Loading a DP/DDP dict just needs to strip the module prefix from all items in the state dict and the metadata.
One existing example is here: https://github.com/facebookresearch/fvcore/blob/master/fvcore/common/checkpoint.py#L239.
#Closes: https://github.com/pytorch/pytorch/issues/41048/
ghstack-source-id: 123722976
Test Plan:
buck test mode/dev-nosan caffe2/test:nn -- test_load_state_dict
buck test mode/dev-nosan caffe2/test/distributed:c10d -- test_save_load_checkpoint
Reviewed By: rohan-varma, mrshenli
Differential Revision: D26798495
fbshipit-source-id: 035c7d0907d7ae8f0d7ca21ec71f7f96ef8df6c8