报错信息:
RuntimeError: Error(s) in loading state_dict for DataParallel:
Missing key(s) in state_dict: "module.Conv1.conv.0.weight", "module.Conv1.conv.0.bias", "module.Conv1.conv.1.weight", "module.Conv1.conv.1.bias", "module.Conv1.conv.1.running_mean", "module.Conv1.conv.1.running_var", "module.Conv1.conv.3.weight", "module.Conv1.conv.3.bias", "module.Conv1.conv.4.weight", "module.Conv1.conv.4.bias", "module.Conv1.conv.4.running_mean", "module.Conv1.conv.4.running_var", "module.Conv2.conv.0.weight", "module.Conv2.conv.0.bias", "module.Conv2.conv.1.weight", "module.Conv2.conv.1.bias", "module.Conv2.conv.1.running_mean", "module.Conv2.conv.1.running_var", "module.Conv2.conv.3.weight", "module.Conv2.conv.3.bias", "module.Conv2.conv.4.weight", "module.Conv2.conv.4.bias", "module.Conv2.conv.4.running_mean", "module.Conv2.conv.4.running_var", "module.Conv3.conv.0.weight", "module.Conv3.conv.0.bias", "module.Conv3.conv.1.weight", "module.Conv3.conv.1.bias", "module.Conv3.conv.1.running_mean", "module.Conv3.conv.1.running_var", "module.Conv3.conv.3.weight", "module.Conv3.conv.3.bias", "module.Conv3.conv.4.weight", "module.Conv3.conv.4.bias", "module.Conv3.conv.4.running_mean", "module.Conv3.conv.4.running_var", "module.Conv4.conv.0.weight", "module.Conv4.conv.0.bias", "module.Conv4.conv.1.weight", "module.Conv4.conv.1.bias", "module.Conv4.conv.1.running_mean", "module.Conv4.conv.1.running_var", "module.Conv4.conv.3.weight", "module.Conv4.conv.3.bias", "module.Conv4.conv.4.weight", "module.Conv4.conv.4.bias", "module.Conv4.conv.4.running_mean", "module.Conv4.conv.4.running_var", "module.Conv5.conv.0.weight", "module.Conv5.conv.0.bias", "module.Conv5.conv.1.weight", "module.Conv5.conv.1.bias", "module.Conv5.conv.1.running_mean", "module.Conv5.conv.1.running_var", "module.Conv5.conv.3.weight", "module.Conv5.conv.3.bias", "module.Conv5.conv.4.weight", "module.Conv5.conv.4.bias", "module.Conv5.conv.4.running_mean", "module.Conv5.conv.4.running_var", "module.Up5.up.1.weight", "module.Up5.up.1.bias", "module.Up5.up.2.weight", "module.Up5.up.2.bias", "module.Up5.up.2.running_mean", "module.Up5.up.2.running_var", "module.Up_conv5.conv.0.weight", "module.Up_conv5.conv.0.bias", "module.Up_conv5.conv.1.weight", "module.Up_conv5.conv.1.bias", "module.Up_conv5.conv.1.running_mean", "module.Up_conv5.conv.1.running_var", "module.Up_conv5.conv.3.weight", "module.Up_conv5.conv.3.bias", "module.Up_conv5.conv.4.weight", "module.Up_conv5.conv.4.bias", "module.Up_conv5.conv.4.running_mean", "module.Up_conv5.conv.4.running_var", "module.Up4.up.1.weight", "module.Up4.up.1.bias", "module.Up4.up.2.weight", "module.Up4.up.2.bias", "module.Up4.up.2.running_mean", "module.Up4.up.2.running_var", "module.Up_conv4.conv.0.weight", "module.Up_conv4.conv.0.bias", "module.Up_conv4.conv.1.weight", "module.Up_conv4.conv.1.bias", "module.Up_conv4.conv.1.running_mean", "module.Up_conv4.conv.1.running_var", "module.Up_conv4.conv.3.weight", "module.Up_conv4.conv.3.bias", "module.Up_conv4.conv.4.weight", "module.Up_conv4.conv.4.bias", "module.Up_conv4.conv.4.running_mean", "module.Up_conv4.conv.4.running_var", "module.Up3.up.1.weight", "module.Up3.up.1.bias", "module.Up3.up.2.weight", "module.Up3.up.2.bias", "module.Up3.up.2.running_mean", "module.Up3.up.2.running_var", "module.Up_conv3.conv.0.weight", "module.Up_conv3.conv.0.bias", "module.Up_conv3.conv.1.weight", "module.Up_conv3.conv.1.bias", "module.Up_conv3.conv.1.running_mean", "module.Up_conv3.conv.1.running_var", "module.Up_conv3.conv.3.weight", "module.Up_conv3.conv.3.bias", "module.Up_conv3.conv.4.weight", "module.Up_conv3.conv.4.bias", "module.Up_conv3.conv.4.running_mean", "module.Up_conv3.conv.4.running_var", "module.Up2.up.1.weight", "module.Up2.up.1.bias", "module.Up2.up.2.weight", "module.Up2.up.2.bias", "module.Up2.up.2.running_mean", "module.Up2.up.2.running_var", "module.Up_conv2.conv.0.weight", "module.Up_conv2.conv.0.bias", "module.Up_conv2.conv.1.weight", "module.Up_conv2.conv.1.bias", "module.Up_conv2.conv.1.running_mean", "module.Up_conv2.conv.1.running_var", "module.Up_conv2.conv.3.weight", "module.Up_conv2.conv.3.bias", "module.Up_conv2.conv.4.weight", "module.Up_conv2.conv.4.bias", "module.Up_conv2.conv.4.running_mean", "module.Up_conv2.conv.4.running_var", "module.Conv_1x1.weight", "module.Conv_1x1.bias".
Unexpected key(s) in state_dict: "Conv1.conv.0.weight", "Conv1.conv.0.bias", "Conv1.conv.1.weight", "Conv1.conv.1.bias", "Conv1.conv.1.running_mean", "Conv1.conv.1.running_var", "Conv1.conv.1.num_batches_tracked", "Conv1.conv.3.weight", "Conv1.conv.3.bias", "Conv1.conv.4.weight", "Conv1.conv.4.bias", "Conv1.conv.4.running_mean", "Conv1.conv.4.running_var", "Conv1.conv.4.num_batches_tracked", "Conv2.conv.0.weight", "Conv2.conv.0.bias", "Conv2.conv.1.weight", "Conv2.conv.1.bias", "Conv2.conv.1.running_mean", "Conv2.conv.1.running_var", "Conv2.conv.1.num_batches_tracked", "Conv2.conv.3.weight", "Conv2.conv.3.bias", "Conv2.conv.4.weight", "Conv2.conv.4.bias", "Conv2.conv.4.running_mean", "Conv2.conv.4.running_var", "Conv2.conv.4.num_batches_tracked", "Conv3.conv.0.weight", "Conv3.conv.0.bias", "Conv3.conv.1.weight", "Conv3.conv.1.bias", "Conv3.conv.1.running_mean", "Conv3.conv.1.running_var", "Conv3.conv.1.num_batches_tracked", "Conv3.conv.3.weight", "Conv3.conv.3.bias", "Conv3.conv.4.weight", "Conv3.conv.4.bias", "Conv3.conv.4.running_mean", "Conv3.conv.4.running_var", "Conv3.conv.4.num_batches_tracked", "Conv4.conv.0.weight", "Conv4.conv.0.bias", "Conv4.conv.1.weight", "Conv4.conv.1.bias", "Conv4.conv.1.running_mean", "Conv4.conv.1.running_var", "Conv4.conv.1.num_batches_tracked", "Conv4.conv.3.weight", "Conv4.conv.3.bias", "Conv4.conv.4.weight", "Conv4.conv.4.bias", "Conv4.conv.4.running_mean", "Conv4.conv.4.running_var", "Conv4.conv.4.num_batches_tracked", "Conv5.conv.0.weight", "Conv5.conv.0.bias", "Conv5.conv.1.weight", "Conv5.conv.1.bias", "Conv5.conv.1.running_mean", "Conv5.conv.1.running_var", "Conv5.conv.1.num_batches_tracked", "Conv5.conv.3.weight", "Conv5.conv.3.bias", "Conv5.conv.4.weight", "Conv5.conv.4.bias", "Conv5.conv.4.running_mean", "Conv5.conv.4.running_var", "Conv5.conv.4.num_batches_tracked", "Up5.up.1.weight", "Up5.up.1.bias", "Up5.up.2.weight", "Up5.up.2.bias", "Up5.up.2.running_mean", "Up5.up.2.running_var", "Up5.up.2.num_batches_tracked", "Up_conv5.conv.0.weight", "Up_conv5.conv.0.bias", "Up_conv5.conv.1.weight", "Up_conv5.conv.1.bias", "Up_conv5.conv.1.running_mean", "Up_conv5.conv.1.running_var", "Up_conv5.conv.1.num_batches_tracked", "Up_conv5.conv.3.weight", "Up_conv5.conv.3.bias", "Up_conv5.conv.4.weight", "Up_conv5.conv.4.bias", "Up_conv5.conv.4.running_mean", "Up_conv5.conv.4.running_var", "Up_conv5.conv.4.num_batches_tracked", "Up4.up.1.weight", "Up4.up.1.bias", "Up4.up.2.weight", "Up4.up.2.bias", "Up4.up.2.running_mean", "Up4.up.2.running_var", "Up4.up.2.num_batches_tracked", "Up_conv4.conv.0.weight", "Up_conv4.conv.0.bias", "Up_conv4.conv.1.weight", "Up_conv4.conv.1.bias", "Up_conv4.conv.1.running_mean", "Up_conv4.conv.1.running_var", "Up_conv4.conv.1.num_batches_tracked", "Up_conv4.conv.3.weight", "Up_conv4.conv.3.bias", "Up_conv4.conv.4.weight", "Up_conv4.conv.4.bias", "Up_conv4.conv.4.running_mean", "Up_conv4.conv.4.running_var", "Up_conv4.conv.4.num_batches_tracked", "Up3.up.1.weight", "Up3.up.1.bias", "Up3.up.2.weight", "Up3.up.2.bias", "Up3.up.2.running_mean", "Up3.up.2.running_var", "Up3.up.2.num_batches_tracked", "Up_conv3.conv.0.weight", "Up_conv3.conv.0.bias", "Up_conv3.conv.1.weight", "Up_conv3.conv.1.bias", "Up_conv3.conv.1.running_mean", "Up_conv3.conv.1.running_var", "Up_conv3.conv.1.num_batches_tracked", "Up_conv3.conv.3.weight", "Up_conv3.conv.3.bias", "Up_conv3.conv.4.weight", "Up_conv3.conv.4.bias", "Up_conv3.conv.4.running_mean", "Up_conv3.conv.4.running_var", "Up_conv3.conv.4.num_batches_tracked", "Up2.up.1.weight", "Up2.up.1.bias", "Up2.up.2.weight", "Up2.up.2.bias", "Up2.up.2.running_mean", "Up2.up.2.running_var", "Up2.up.2.num_batches_tracked", "Up_conv2.conv.0.weight", "Up_conv2.conv.0.bias", "Up_conv2.conv.1.weight", "Up_conv2.conv.1.bias", "Up_conv2.conv.1.running_mean", "Up_conv2.conv.1.running_var", "Up_conv2.conv.1.num_batches_tracked", "Up_conv2.conv.3.weight", "Up_conv2.conv.3.bias", "Up_conv2.conv.4.weight", "Up_conv2.conv.4.bias", "Up_conv2.conv.4.running_mean", "Up_conv2.conv.4.running_var", "Up_conv2.conv.4.num_batches_tracked", "Conv_1x1.weight", "Conv_1x1.bias".
Process finished with exit code 1
原因: 加载模型参数时,关键字不匹配,应该是训练时用了 torch.nn.DataParallel()
的原因。
解决:
model = os.path.join(self.model_path, models[-1])
checkpoint = torch.load(model)
# 将load_state_dict的strict参数设置为False
net.load_state_dict(checkpoint, False)