pretrained_dict = ...
model_dict = model.state_dict()
# pretrained_dict: ['A', 'B', 'C', 'D']
# model_dict: ['A', 'B', 'C', 'E']
# 1. filter out unnecessary keys
pretrained_dict = {k: v for k, v in pretrained_dict.items() if k in model_dict}
# pretrained_dict: ['A', 'B', 'C']
# model_dict: ['A', 'B', 'C', 'E']
# 2. overwrite entries in the existing state dict
model_dict.update(pretrained_dict)
# 3. load the new state dict
model.load_state_dict(model_dict)
加载预训练权重的部分参数
最新推荐文章于 2024-07-26 21:47:55 发布