标题pytorch加载的预训练模型与自己的模型不匹配解决方案
看了许多解决方法,都不适用,下面是比较全面的一个参考,提到的方法都不适用
https://blog.csdn.net/ycc2011/article/details/89421767
本人使用的预训练模型为:RN50x16.pt
使用state_dict()方法保存模型,相关代码如下:
torch.save(net.state_dict(), f"{model_name}_epoch_{epoch}.pth")`
checkpoint = {
'it': epoch,
'network': net.state_dict(),
'optimizer': optimizer.state_dict(),
'scheduler': scheduler.state_dict()
}
torch.save(checkpoint, checkpoint_path)
加载模型时,代码如下:
model, preprocess = clip.load(os.path.join(basedir, "model/RN50x16.pt"))
modelpath = os.path.join(basedir, 'RN50-0829_ckt.pth')
ckpt = torch.load(modelpath)
model.load_state_dict(ckpt)
报错如下:
RuntimeError: Error(s) in loading state_dict for CLIP:
Missing key(s) in state_dict: "positional_embedding", "text_projection", "logit_scale", "visual.conv1.weight", "visual.bn1.weight", "visual.bn1.bias", "visual.bn1.running_mean", "visual.bn1.running_var", "visual.conv2.weight", "visual.bn2.weight", "visual.bn2.bias", "visual.bn2.running_mean", "visual.bn2.running_var", "visual.conv3.weight", "visual.bn3.weight", "visual.bn3.bias", "visual.bn3.running_mean", "visual.bn3.running_var", "visual.layer1.0.conv1.weight", "visual.layer1.0.bn1.weight", "visual.layer1.0.bn1.bias", "visual.layer1.0.bn1.running_mean", "visual.layer1.0.bn1.running_var", "visual.layer1.0.conv2.weight", "visual.layer1.0.bn2.weight", "visual.layer1.0.bn2.bias", "visual.layer1.0.bn2.running_mean", "visual.layer1.0.bn2.running_var", "visual.layer1.0.conv3.weight", "visual.layer1.0.bn3.weight", "visual.layer1.0.bn3.bias", "visual.layer1.0.bn3.running_mean", "visual.layer1.0.bn3.running_var", "visual.layer1.0.downsample.0.weight", "visual.layer1.0.downsample.1.weight", "visual.layer1.0.downsample.1.bias", "visual.layer1.0.downsample.1.running_mean", "visual.layer1.0.downsample.1.running_var", "visual.layer1.1.conv1.weight", "visual.layer1.1.bn1.weight", "visual.layer1.1.bn1.bias", "visual.layer1.1.bn1.running_mean", "visual.layer1.1.bn1.running_var", "visual.layer1.1.conv2.weight", "visual.layer1.1.bn2.weight", "visual.layer1.1.bn2.bias", "visual.layer1.1.bn2.running_mean", "visual.layer1.1.bn2.running_var", "visual.layer1.1.conv3.weight", "visual.layer1.1.bn3.weight", "visual.layer1.1.bn3.bias", "visual.layer1.1.bn3.running_mean", "visual.layer1.1.bn3.running_var", "visual.layer1.2.conv1.weight", "visual.layer1.2.bn1.weight", "visual.layer1.2.bn1.bias", "visual.layer1.2.bn1.running_mean", "visual.layer1.2.bn1.running_var", "visual.layer1.2.conv2.weight", "visual.layer1.2.bn2.weight", "visual.layer1.2.bn2.bias", "visual.layer1.2.bn2.running_mean", "visual.layer1.2.bn2.running_var", "visual.layer1.2.conv3.weight", "visual.layer1.2.bn3.weight", "visual.layer1.2.bn3.bias", "visual.layer1.2.bn3.running_mean", "visual.layer1.2.bn3.running_var", "visual.layer1.3.conv1.weight", "visual.layer1.3.bn1.weight", "visual.layer1.3.bn1.bias", "visual.layer1.3.bn1.running_mean", "visual.layer1.3.bn1.running_var", "visual.layer1.3.conv2.weight", "visual.layer1.3.bn2.weight", "visual.layer1.3.bn2.bias", "visual.layer1.3.bn2.running_mean", "visual.layer1.3.bn2.running_var", "visual.layer1.3.conv3.weight", "visual.layer1.3.bn3.weight", "visual.layer1.3.bn3.bias", "visual.layer1.3.bn3.running_mean", "visual.layer1.3.bn3.running_var", "visual.layer1.4.conv1.weight", "visual.layer1.4.bn1.weight", "visual.layer1.4.bn1.bias", "visual.layer1.4.bn1.running_mean", "visual.layer1.4.bn1.running_var", "visual.layer1.4.conv2.weight", "visual.layer1.4.bn2.weight", "visual.layer1.4.bn2.bias", "visual.layer1.4.bn2.running_mean", "visual.layer1.4.bn2.running_var", "visual.layer1.4.conv3.weight", "visual.layer1.4.bn3.weight", "visual.layer1.4.bn3.bias", "visual.layer1.4.bn3.running_mean", "visual.layer1.4.bn3.running_var", "visual.layer1.5.conv1.weight", "visual.layer1.5.bn1.weight", "visual.layer1.5.bn1.bias", "visual.layer1.5.bn1.running_mean", "visual.layer1.5.bn1.running_var", "visual.layer1.5.conv2.weight", "visual.layer1.5.bn2.weight", "visual.layer1.5.bn2.bias", "visual.layer1.5.bn2.running_mean", "visual.layer1.5.bn2.running_var", "visual.layer1.5.conv3.weight", "visual.layer1.5.bn3.weight", "visual.layer1.5.bn3.bias", "visual.layer1.5.bn3.running_mean", "visual.layer1.5.bn3.running_var", "visual.layer2.0.conv1.weight", "visual.layer2.0.bn1.weight", "visual.layer2.0.bn1.bias", "visual.layer2.0.bn1.running_mean", "visual.layer2.0.bn1.running_var", "visual.layer2.0.conv2.weight", "visual.layer2.0.bn2.weight", "visual.layer2.0.bn2.bias", "visual.layer2.0.bn2.running_mean", "visual.layer2.0.bn2.running_var", "visual.layer2.0.conv3.weight", "visual.layer2.0.bn3.weight", "visual.layer2.0.bn3.bias", "visual.layer2.0.bn3.running_mean", "visual.layer2.0.bn3.running_var", "visual.layer2.0.downsample.0.weight", "visual.layer2.0.downsample.1.weight", "visual.layer2.0.downsample.1.bias", "visual.layer2.0.downsample.1.running_mean", "visual.layer2.0.downsample.1.running_var", "visual.layer2.1.conv1.weight", "visual.layer2.1.bn1.weight", "visual.layer2.1.bn1.bias", "visual.layer2.1.bn1.running_mean", "visual.layer2.1.bn1.running_var", "visual.layer2.1.conv2.weight", "visual.layer2.1.bn2.weight", "visual.layer2.1.bn2.bias", "visual.layer2.1.bn2.running_mean", "visual.layer2.1.bn2.running_var", "visual.layer2.1.conv3.weight", "visual.layer2.1.bn3.weight", "visual.layer2.1.bn3.bias", "visual.layer2.1.bn3.running_mean", "visual.layer2.1.bn3.running_var", "visual.layer2.2.conv1.weight", "visual.layer2.2.bn1.weight", "visual.layer2.2.bn1.bias", "visual.layer2.2.bn1.running_mean", "visual.layer2.2.bn1.running_var", "visual.layer2.2.conv2.weight", "visual.layer2.2.bn2.weight", "visual.layer2.2.bn2.bias", "visual.layer2.2.bn2.running_mean", "visual.layer2.2.bn2.running_var", "visual.layer2.2.conv3.weight", "visual.layer2.2.bn3.weight", "visual.layer2.2.bn3.bias", "visual.layer2.2.bn3.running_mean", "visual.layer2.2.bn3.running_var", "visual.layer2.3.conv1.weight", "visual.layer2.3.bn1.weight", "visual.layer2.3.bn1.bias", "visual.layer2.3.bn1.running_mean", "visual.layer2.3.bn1.running_var", "visual.layer2.3.conv2.weight", "visual.layer2.3.bn2.weight", "visual.layer2.3.bn2.bias", "visual.layer2.3.bn2.running_mean", "visual.layer2.3.bn2.running_var", "visual.layer2.3.conv3.weight", "visual.layer2.3.bn3.weight", "visual.layer2.3.bn3.bias", "visual.layer2.3.bn3.running_mean", "visual.layer2.3.bn3.running_var", "visual.layer2.4.conv1.weight", "visual.layer2.4.bn1.weight", "visual.layer2.4.bn1.bias", "visual.layer2.4.bn1.running_mean", "visual.layer2.4.bn1.running_var", "visual.layer2.4.conv2.weight", "visual.layer2.4.bn2.weight", "visual.layer2.4.bn2.bias", "visual.layer2.4.bn2.running_mean", "visual.layer2.4.bn2.running_var", "visual.layer2.4.conv3.weight", "visual.layer2.4.bn3.weight", "visual.layer2.4.bn3.bias", "visual.layer2.4.bn3.running_mean", "visual.layer2.4.bn3.running_var", "visual.layer2.5.conv1.weight", "visual.layer2.5.bn1.weight", "visual.layer2.5.bn1.bias", "visual.layer2.5.bn1.running_mean", "visual.layer2.5.bn1.running_var", "visual.layer2.5.conv2.weight", "visual.layer2.5.bn2.weight", "visual.layer2.5.bn2.bias", "visual.layer2.5.bn2.running_mean", "visual.layer2.5.bn2.running_var", "visual.layer2.5.conv3.weight", "visual.layer2.5.bn3.weight", "visual.layer2.5.bn3.bias", "visual.layer2.5.bn3.running_mean", "visual.layer2.5.bn3.running_var", "visual.layer2.6.conv1.weight", "visual.layer2.6.bn1.weight", "visual.layer2.6.bn1.bias", "visual.layer2.6.bn1.running_mean", "visual.layer2.6.bn1.running_var", "visual.layer2.6.conv2.weight", "visual.layer2.6.bn2.weight", "visual.layer2.6.bn2.bias", "visual.layer2.6.bn2.running_mean", "visual.layer2.6.bn2.running_var", "visual.layer2.6.conv3.weight", "visual.layer2.6.bn3.weight", "visual.layer2.6.bn3.bias", "visual.layer2.6.bn3.running_mean", "visual.layer2.6.bn3.running_var", "visual.layer2.7.conv1.weight", "visual.layer2.7.bn1.weight", "visual.layer2.7.bn1.bias", "visual.layer2.7.bn1.running_mean", "visual.layer2.7.bn1.running_var", "visual.layer2.7.conv2.weight", "visual.layer2.7.bn2.weight", "visual.layer2.7.bn2.bias", "visual.layer2.7.bn2.running_mean", "visual.layer2.7.bn2.running_var", "visual.layer2.7.conv3.weight", "visual.layer2.7.bn3.weight", "visual.layer2.7.bn3.bias", "visual.layer2.7.bn3.running_mean", "visual.layer2.7.bn3.running_var", "visual.layer3.0.conv1.weight", "visual.layer3.0.bn1.weight", "visual.layer3.0.bn1.bias", "visual.layer3.0.bn1.running_mean", "visual.layer3.0.bn1.running_var", "visual.layer3.0.conv2.weight", "visual.layer3.0.bn2.weight", "visual.layer3.0.bn2.bias", "visual.layer3.0.bn2.running_mean", "visual.layer3.0.bn2.running_var", "visual.layer3.0.conv3.weight", "visual.layer3.0.bn3.weight", "visual.layer3.0.bn3.bias", "visual.layer3.0.bn3.running_mean", "visual.layer3.0.bn3.running_var", "visual.layer3.0.downsample.0.weight", "visual.layer3.0.downsample.1.weight", "visual.layer3.0.downsample.1.bias", "visual.layer3.0.downsample.1.running_mean", "visual.layer3.0.downsample.1.running_var", "visual.layer3.1.conv1.weight", "visual.layer3.1.bn1.weight", "visual.layer3.1.bn1.bias", "visual.layer3.1.bn1.running_mean", "visual.layer3.1.bn1.running_var", "visual.layer3.1.conv2.weight", "visual.layer3.1.bn2.weight", "visual.layer3.1.bn2.bias", "visual.layer3.1.bn2.running_mean", "visual.layer3.1.bn2.running_var", "visual.layer3.1.conv3.weight", "visual.layer3.1.bn3.weight", "visual.layer3.1.bn3.bias", "visual.layer3.1.bn3.running_mean", "visual.layer3.1.bn3.running_var", "visual.layer3.2.conv1.weight", "visual.layer3.2.bn1.weight", "visual.layer3.2.bn1.bias", "visual.layer3.2.bn1.running_mean", "visual.layer3.2.bn1.running_var", "visual.layer3.2.conv2.weight", "visual.layer3.2.bn2.weight", "visual.layer3.2.bn2.bias", "visual.layer3.2.bn2.running_mean", "visual.layer3.2.bn2.running_var", "visual.layer3.2.conv3.weight", "visual.layer3.2.bn3.weight", "visual.layer3.2.bn3.bias", "visual.layer3.2.bn3.running_mean", "visual.layer3.2.bn3.running_var", "visual.layer3.3.conv1.weight", "visual.layer3.3.bn1.weight", "visual.layer3.3.bn1.bias", "visual.layer3.3.bn1.running_mean", "visual.layer3.3.bn1.running_var", "visual.layer3.3.conv2.weight", "visual.layer3.3.bn2.weight", "visual.layer3.3.bn2.bias", "visual.layer3.3.bn2.running_mean", "visual.layer3.3.bn2.running_var", "visual.layer3.3.conv3.weight", "visual.layer3.3.bn3.weight", "visual.layer3.3.bn3.bias", "visual.layer3.3.bn3.running_mean", "visual.layer3.3.bn3.running_var", "visual.layer3.4.conv1.weight", "visual.layer3.4.bn1.weight", "visual.layer3.4.bn1.bias", "visual.layer3.4.bn1.running_mean", "visual.layer3.4.bn1.running_var", "visual.layer3.4.conv2.weight", "visual.layer3.4.bn2.weight", "visual.layer3.4.bn2.bias", "visual.layer3.4.bn2.running_mean", "visual.layer3.4.bn2.running_var", "visual.layer3.4.conv3.weight", "visual.layer3.4.bn3.weight", "visual.layer3.4.bn3.bias", "visual.layer3.4.bn3.running_mean", "visual.layer3.4.bn3.running_var", "visual.layer3.5.conv1.weight", "visual.layer3.5.bn1.weight", "visual.layer3.5.bn1.bias", "visual.layer3.5.bn1.running_mean", "visual.layer3.5.bn1.running_var", "visual.layer3.5.conv2.weight", "visual.layer3.5.bn2.weight", "visual.layer3.5.bn2.bias", "visual.layer3.5.bn2.running_mean", "visual.layer3.5.bn2.running_var", "visual.layer3.5.conv3.weight", "visual.layer3.5.bn3.weight", "visual.layer3.5.bn3.bias", "visual.layer3.5.bn3.running_mean", "visual.layer3.5.bn3.running_var", "visual.layer3.6.conv1.weight", "visual.layer3.6.bn1.weight", "visual.layer3.6.bn1.bias", "visual.layer3.6.bn1.running_mean", "visual.layer3.6.bn1.running_var", "visual.layer3.6.conv2.weight", "visual.layer3.6.bn2.weight", "visual.layer3.6.bn2.bias", "visual.layer3.6.bn2.running_mean", "visual.layer3.6.bn2.running_var", "visual.layer3.6.conv3.weight", "visual.layer3.6.bn3.weight", "visual.layer3.6.bn3.bias", "visual.layer3.6.bn3.running_mean", "visual.layer3.6.bn3.running_var", "visual.layer3.7.conv1.weight", "visual.layer3.7.bn1.weight", "visual.layer3.7.bn1.bias", "visual.layer3.7.bn1.running_mean", "visual.layer3.7.bn1.running_var", "visual.layer3.7.conv2.weight", "visual.layer3.7.bn2.weight", "visual.layer3.7.bn2.bias", "visual.layer3.7.bn2.running_mean", "visual.layer3.7.bn2.running_var", "visual.layer3.7.conv3.weight", "visual.layer3.7.bn3.weight", "visual.layer3.7.bn3.bias", "visual.layer3.7.bn3.running_mean", "visual.layer3.7.bn3.running_var", "visual.layer3.8.conv1.weight", "visual.layer3.8.bn1.weight", "visual.layer3.8.bn1.bias", "visual.layer3.8.bn1.running_mean", "visual.layer3.8.bn1.running_var", "visual.layer3.8.conv2.weight", "visual.layer3.8.bn2.weight", "visual.layer3.8.bn2.bias", "visual.layer3.8.bn2.running_mean", "visual.layer3.8.bn2.running_var", "visual.layer3.8.conv3.weight", "visual.layer3.8.bn3.weight", "visual.layer3.8.bn3.bias", "visual.layer3.8.bn3.running_mean", "visual.layer3.8.bn3.running_var", "visual.layer3.9.conv1.weight", "visual.layer3.9.bn1.weight", "visual.layer3.9.bn1.bias", "visual.layer3.9.bn1.running_mean", "visual.layer3.9.bn1.running_var", "visual.layer3.9.conv2.weight", "visual.layer3.9.bn2.weight", "visual.layer3.9.bn2.bias", "visual.layer3.9.bn2.running_mean", "visual.layer3.9.bn2.running_var", "visual.layer3.9.conv3.weight", "visual.layer3.9.bn3.weight", "visual.layer3.9.bn3.bias", "visual.layer3.9.bn3.running_mean", "visual.layer3.9.bn3.running_var", "visual.layer3.10.conv1.weight", "visual.layer3.10.bn1.weight", "visual.layer3.10.bn1.bias", "visual.layer3.10.bn1.running_mean", "visual.layer3.10.bn1.running_var", "visual.layer3.10.conv2.weight", "visual.layer3.10.bn2.weight", "visual.layer3.10.bn2.bias", "visual.layer3.10.bn2.running_mean", "visual.layer3.10.bn2.running_var", "visual.layer3.10.conv3.weight", "visual.layer3.10.bn3.weight", "visual.layer3.10.bn3.bias", "visual.layer3.10.bn3.running_mean", "visual.layer3.10.bn3.running_var", "visual.layer3.11.conv1.weight", "visual.layer3.11.bn1.weight", "visual.layer3.11.bn1.bias", "visual.layer3.11.bn1.running_mean", "visual.layer3.11.bn1.running_var", "visual.layer3.11.conv2.weight", "visual.layer3.11.bn2.weight", "visual.layer3.11.bn2.bias", "visual.layer3.11.bn2.running_mean", "visual.layer3.11.bn2.running_var", "visual.layer3.11.conv3.weight", "visual.layer3.11.bn3.weight", "visual.layer3.11.bn3.bias", "visual.layer3.11.bn3.running_mean", "visual.layer3.11.bn3.running_var", "visual.layer3.12.conv1.weight", "visual.layer3.12.bn1.weight", "visual.layer3.12.bn1.bias", "visual.layer3.12.bn1.running_mean", "visual.layer3.12.bn1.running_var", "visual.layer3.12.conv2.weight", "visual.layer3.12.bn2.weight", "visual.layer3.12.bn2.bias", "visual.layer3.12.bn2.running_mean", "visual.layer3.12.bn2.running_var", "visual.layer3.12.conv3.weight", "visual.layer3.12.bn3.weight", "visual.layer3.12.bn3.bias", "visual.layer3.12.bn3.running_mean", "visual.layer3.12.bn3.running_var", "visual.layer3.13.conv1.weight", "visual.layer3.13.bn1.weight", "visual.layer3.13.bn1.bias", "visual.layer3.13.bn1.running_mean", "visual.layer3.13.bn1.running_var", "visual.layer3.13.conv2.weight", "visual.layer3.13.bn2.weight", "visual.layer3.13.bn2.bias", "visual.layer3.13.bn2.running_mean", "visual.layer3.13.bn2.running_var", "visual.layer3.13.conv3.weight", "visual.layer3.13.bn3.weight", "visual.layer3.13.bn3.bias", "visual.layer3.13.bn3.running_mean", "visual.layer3.13.bn3.running_var", "visual.layer3.14.conv1.weight", "visual.layer3.14.bn1.weight", "visual.layer3.14.bn1.bias", "visual.layer3.14.bn1.running_mean", "visual.layer3.14.bn1.running_var", "visual.layer3.14.conv2.weight", "visual.layer3.14.bn2.weight", "visual.layer3.14.bn2.bias", "visual.layer3.14.bn2.running_mean", "visual.layer3.14.bn2.running_var", "visual.layer3.14.conv3.weight", "visual.layer3.14.bn3.weight", "visual.layer3.14.bn3.bias", "visual.layer3.14.bn3.running_mean", "visual.layer3.14.bn3.running_var", "visual.layer3.15.conv1.weight", "visual.layer3.15.bn1.weight", "visual.layer3.15.bn1.bias", "visual.layer3.15.bn1.running_mean", "visual.layer3.15.bn1.running_var", "visual.layer3.15.conv2.weight", "visual.layer3.15.bn2.weight", "visual.layer3.15.bn2.bias", "visual.layer3.15.bn2.running_mean", "visual.layer3.15.bn2.running_var", "visual.layer3.15.conv3.weight", "visual.layer3.15.bn3.weight", "visual.layer3.15.bn3.bias", "visual.layer3.15.bn3.running_mean", "visual.layer3.15.bn3.running_var", "visual.layer3.16.conv1.weight", "visual.layer3.16.bn1.weight", "visual.layer3.16.bn1.bias", "visual.layer3.16.bn1.running_mean", "visual.layer3.16.bn1.running_var", "visual.layer3.16.conv2.weight", "visual.layer3.16.bn2.weight", "visual.layer3.16.bn2.bias", "visual.layer3.16.bn2.running_mean", "visual.layer3.16.bn2.running_var", "visual.layer3.16.conv3.weight", "visual.layer3.16.bn3.weight", "visual.layer3.16.bn3.bias", "visual.layer3.16.bn3.running_mean", "visual.layer3.16.bn3.running_var", "visual.layer3.17.conv1.weight", "visual.layer3.17.bn1.weight", "visual.layer3.17.bn1.bias", "visual.layer3.17.bn1.running_mean", "visual.layer3.17.bn1.running_var", "visual.layer3.17.conv2.weight", "visual.layer3.17.bn2.weight", "visual.layer3.17.bn2.bias", "visual.layer3.17.bn2.running_mean", "visual.layer3.17.bn2.running_var", "visual.layer3.17.conv3.weight", "visual.layer3.17.bn3.weight", "visual.layer3.17.bn3.bias", "visual.layer3.17.bn3.running_mean", "visual.layer3.17.bn3.running_var", "visual.layer4.0.conv1.weight", "visual.layer4.0.bn1.weight", "visual.layer4.0.bn1.bias", "visual.layer4.0.bn1.running_mean", "visual.layer4.0.bn1.running_var", "visual.layer4.0.conv2.weight", "visual.layer4.0.bn2.weight", "visual.layer4.0.bn2.bias", "visual.layer4.0.bn2.running_mean", "visual.layer4.0.bn2.running_var", "visual.layer4.0.conv3.weight", "visual.layer4.0.bn3.weight", "visual.layer4.0.bn3.bias", "visual.layer4.0.bn3.running_mean", "visual.layer4.0.bn3.running_var", "visual.layer4.0.downsample.0.weight", "visual.layer4.0.downsample.1.weight", "visual.layer4.0.downsample.1.bias", "visual.layer4.0.downsample.1.running_mean", "visual.layer4.0.downsample.1.running_var", "visual.layer4.1.conv1.weight", "visual.layer4.1.bn1.weight", "visual.layer4.1.bn1.bias", "visual.layer4.1.bn1.running_mean", "visual.layer4.1.bn1.running_var", "visual.layer4.1.conv2.weight", "visual.layer4.1.bn2.weight", "visual.layer4.1.bn2.bias", "visual.layer4.1.bn2.running_mean", "visual.layer4.1.bn2.running_var", "visual.layer4.1.conv3.weight", "visual.layer4.1.bn3.weight", "visual.layer4.1.bn3.bias", "visual.layer4.1.bn3.running_mean", "visual.layer4.1.bn3.running_var", "visual.layer4.2.conv1.weight", "visual.layer4.2.bn1.weight", "visual.layer4.2.bn1.bias", "visual.layer4.2.bn1.running_mean", "visual.layer4.2.bn1.running_var", "visual.layer4.2.conv2.weight", "visual.layer4.2.bn2.weight", "visual.layer4.2.bn2.bias", "visual.layer4.2.bn2.running_mean", "visual.layer4.2.bn2.running_var", "visual.layer4.2.conv3.weight", "visual.layer4.2.bn3.weight", "visual.layer4.2.bn3.bias", "visual.layer4.2.bn3.running_mean", "visual.layer4.2.bn3.running_var", "visual.layer4.3.conv1.weight", "visual.layer4.3.bn1.weight", "visual.layer4.3.bn1.bias", "visual.layer4.3.bn1.running_mean", "visual.layer4.3.bn1.running_var", "visual.layer4.3.conv2.weight", "visual.layer4.3.bn2.weight", "visual.layer4.3.bn2.bias", "visual.layer4.3.bn2.running_mean", "visual.layer4.3.bn2.running_var", "visual.layer4.3.conv3.weight", "visual.layer4.3.bn3.weight", "visual.layer4.3.bn3.bias", "visual.layer4.3.bn3.running_mean", "visual.layer4.3.bn3.running_var", "visual.layer4.4.conv1.weight", "visual.layer4.4.bn1.weight", "visual.layer4.4.bn1.bias", "visual.layer4.4.bn1.running_mean", "visual.layer4.4.bn1.running_var", "visual.layer4.4.conv2.weight", "visual.layer4.4.bn2.weight", "visual.layer4.4.bn2.bias", "visual.layer4.4.bn2.running_mean", "visual.layer4.4.bn2.running_var", "visual.layer4.4.conv3.weight", "visual.layer4.4.bn3.weight", "visual.layer4.4.bn3.bias", "visual.layer4.4.bn3.running_mean", "visual.layer4.4.bn3.running_var", "visual.layer4.5.conv1.weight", "visual.layer4.5.bn1.weight", "visual.layer4.5.bn1.bias", "visual.layer4.5.bn1.running_mean", "visual.layer4.5.bn1.running_var", "visual.layer4.5.conv2.weight", "visual.layer4.5.bn2.weight", "visual.layer4.5.bn2.bias", "visual.layer4.5.bn2.running_mean", "visual.layer4.5.bn2.running_var", "visual.layer4.5.conv3.weight", "visual.layer4.5.bn3.weight", "visual.layer4.5.bn3.bias", "visual.layer4.5.bn3.running_mean", "visual.layer4.5.bn3.running_var", "visual.layer4.6.conv1.weight", "visual.layer4.6.bn1.weight", "visual.layer4.6.bn1.bias", "visual.layer4.6.bn1.running_mean", "visual.layer4.6.bn1.running_var", "visual.layer4.6.conv2.weight", "visual.layer4.6.bn2.weight", "visual.layer4.6.bn2.bias", "visual.layer4.6.bn2.running_mean", "visual.layer4.6.bn2.running_var", "visual.layer4.6.conv3.weight", "visual.layer4.6.bn3.weight", "visual.layer4.6.bn3.bias", "visual.layer4.6.bn3.running_mean", "visual.layer4.6.bn3.running_var", "visual.layer4.7.conv1.weight", "visual.layer4.7.bn1.weight", "visual.layer4.7.bn1.bias", "visual.layer4.7.bn1.running_mean", "visual.layer4.7.bn1.running_var", "visual.layer4.7.conv2.weight", "visual.layer4.7.bn2.weight", "visual.layer4.7.bn2.bias", "visual.layer4.7.bn2.running_mean", "visual.layer4.7.bn2.running_var", "visual.layer4.7.conv3.weight", "visual.layer4.7.bn3.weight", "visual.layer4.7.bn3.bias", "visual.layer4.7.bn3.running_mean", "visual.layer4.7.bn3.running_var", "visual.attnpool.positional_embedding", "visual.attnpool.k_proj.weight", "visual.attnpool.k_proj.bias", "visual.attnpool.q_proj.weight", "visual.attnpool.q_proj.bias", "visual.attnpool.v_proj.weight", "visual.attnpool.v_proj.bias", "visual.attnpool.c_proj.weight", "visual.attnpool.c_proj.bias", "transformer.resblocks.0.attn.in_proj_weight", "transformer.resblocks.0.attn.in_proj_bias", "transformer.resblocks.0.attn.out_proj.weight", "transformer.resblocks.0.attn.out_proj.bias", "transformer.resblocks.0.ln_1.weight", "transformer.resblocks.0.ln_1.bias", "transformer.resblocks.0.mlp.c_fc.weight", "transformer.resblocks.0.mlp.c_fc.bias", "transformer.resblocks.0.mlp.c_proj.weight", "transformer.resblocks.0.mlp.c_proj.bias", "transformer.resblocks.0.ln_2.weight", "transformer.resblocks.0.ln_2.bias", "transformer.resblocks.1.attn.in_proj_weight", "transformer.resblocks.1.attn.in_proj_bias", "transformer.resblocks.1.attn.out_proj.weight", "transformer.resblocks.1.attn.out_proj.bias", "transformer.resblocks.1.ln_1.weight", "transformer.resblocks.1.ln_1.bias", "transformer.resblocks.1.mlp.c_fc.weight", "transformer.resblocks.1.mlp.c_fc.bias", "transformer.resblocks.1.mlp.c_proj.weight", "transformer.resblocks.1.mlp.c_proj.bias", "transformer.resblocks.1.ln_2.weight", "transformer.resblocks.1.ln_2.bias", "transformer.resblocks.2.attn.in_proj_weight", "transformer.resblocks.2.attn.in_proj_bias", "transformer.resblocks.2.attn.out_proj.weight", "transformer.resblocks.2.attn.out_proj.bias", "transformer.resblocks.2.ln_1.weight", "transformer.resblocks.2.ln_1.bias", "transformer.resblocks.2.mlp.c_fc.weight", "transformer.resblocks.2.mlp.c_fc.bias", "transformer.resblocks.2.mlp.c_proj.weight", "transformer.resblocks.2.mlp.c_proj.bias", "transformer.resblocks.2.ln_2.weight", "transformer.resblocks.2.ln_2.bias", "transformer.resblocks.3.attn.in_proj_weight", "transformer.resblocks.3.attn.in_proj_bias", "transformer.resblocks.3.attn.out_proj.weight", "transformer.resblocks.3.attn.out_proj.bias", "transformer.resblocks.3.ln_1.weight", "transformer.resblocks.3.ln_1.bias", "transformer.resblocks.3.mlp.c_fc.weight", "transformer.resblocks.3.mlp.c_fc.bias", "transformer.resblocks.3.mlp.c_proj.weight", "transformer.resblocks.3.mlp.c_proj.bias", "transformer.resblocks.3.ln_2.weight", "transformer.resblocks.3.ln_2.bias", "transformer.resblocks.4.attn.in_proj_weight", "transformer.resblocks.4.attn.in_proj_bias", "transformer.resblocks.4.attn.out_proj.weight", "transformer.resblocks.4.attn.out_proj.bias", "transformer.resblocks.4.ln_1.weight", "transformer.resblocks.4.ln_1.bias", "transformer.resblocks.4.mlp.c_fc.weight", "transformer.resblocks.4.mlp.c_fc.bias", "transformer.resblocks.4.mlp.c_proj.weight", "transformer.resblocks.4.mlp.c_proj.bias", "transformer.resblocks.4.ln_2.weight", "transformer.resblocks.4.ln_2.bias", "transformer.resblocks.5.attn.in_proj_weight", "transformer.resblocks.5.attn.in_proj_bias", "transformer.resblocks.5.attn.out_proj.weight", "transformer.resblocks.5.attn.out_proj.bias", "transformer.resblocks.5.ln_1.weight", "transformer.resblocks.5.ln_1.bias", "transformer.resblocks.5.mlp.c_fc.weight", "transformer.resblocks.5.mlp.c_fc.bias", "transformer.resblocks.5.mlp.c_proj.weight", "transformer.resblocks.5.mlp.c_proj.bias", "transformer.resblocks.5.ln_2.weight", "transformer.resblocks.5.ln_2.bias", "transformer.resblocks.6.attn.in_proj_weight", "transformer.resblocks.6.attn.in_proj_bias", "transformer.resblocks.6.attn.out_proj.weight", "transformer.resblocks.6.attn.out_proj.bias", "transformer.resblocks.6.ln_1.weight", "transformer.resblocks.6.ln_1.bias", "transformer.resblocks.6.mlp.c_fc.weight", "transformer.resblocks.6.mlp.c_fc.bias", "transformer.resblocks.6.mlp.c_proj.weight", "transformer.resblocks.6.mlp.c_proj.bias", "transformer.resblocks.6.ln_2.weight", "transformer.resblocks.6.ln_2.bias", "transformer.resblocks.7.attn.in_proj_weight", "transformer.resblocks.7.attn.in_proj_bias", "transformer.resblocks.7.attn.out_proj.weight", "transformer.resblocks.7.attn.out_proj.bias", "transformer.resblocks.7.ln_1.weight", "transformer.resblocks.7.ln_1.bias", "transformer.resblocks.7.mlp.c_fc.weight", "transformer.resblocks.7.mlp.c_fc.bias", "transformer.resblocks.7.mlp.c_proj.weight", "transformer.resblocks.7.mlp.c_proj.bias", "transformer.resblocks.7.ln_2.weight", "transformer.resblocks.7.ln_2.bias", "transformer.resblocks.8.attn.in_proj_weight", "transformer.resblocks.8.attn.in_proj_bias", "transformer.resblocks.8.attn.out_proj.weight", "transformer.resblocks.8.attn.out_proj.bias", "transformer.resblocks.8.ln_1.weight", "transformer.resblocks.8.ln_1.bias", "transformer.resblocks.8.mlp.c_fc.weight", "transformer.resblocks.8.mlp.c_fc.bias", "transformer.resblocks.8.mlp.c_proj.weight", "transformer.resblocks.8.mlp.c_proj.bias", "transformer.resblocks.8.ln_2.weight", "transformer.resblocks.8.ln_2.bias", "transformer.resblocks.9.attn.in_proj_weight", "transformer.resblocks.9.attn.in_proj_bias", "transformer.resblocks.9.attn.out_proj.weight", "transformer.resblocks.9.attn.out_proj.bias", "transformer.resblocks.9.ln_1.weight", "transformer.resblocks.9.ln_1.bias", "transformer.resblocks.9.mlp.c_fc.weight", "transformer.resblocks.9.mlp.c_fc.bias", "transformer.resblocks.9.mlp.c_proj.weight", "transformer.resblocks.9.mlp.c_proj.bias", "transformer.resblocks.9.ln_2.weight", "transformer.resblocks.9.ln_2.bias", "transformer.resblocks.10.attn.in_proj_weight", "transformer.resblocks.10.attn.in_proj_bias", "transformer.resblocks.10.attn.out_proj.weight", "transformer.resblocks.10.attn.out_proj.bias", "transformer.resblocks.10.ln_1.weight", "transformer.resblocks.10.ln_1.bias", "transformer.resblocks.10.mlp.c_fc.weight", "transformer.resblocks.10.mlp.c_fc.bias", "transformer.resblocks.10.mlp.c_proj.weight", "transformer.resblocks.10.mlp.c_proj.bias", "transformer.resblocks.10.ln_2.weight", "transformer.resblocks.10.ln_2.bias", "transformer.resblocks.11.attn.in_proj_weight", "transformer.resblocks.11.attn.in_proj_bias", "transformer.resblocks.11.attn.out_proj.weight", "transformer.resblocks.11.attn.out_proj.bias", "transformer.resblocks.11.ln_1.weight", "transformer.resblocks.11.ln_1.bias", "transformer.resblocks.11.mlp.c_fc.weight", "transformer.resblocks.11.mlp.c_fc.bias", "transformer.resblocks.11.mlp.c_proj.weight", "transformer.resblocks.11.mlp.c_proj.bias", "transformer.resblocks.11.ln_2.weight", "transformer.resblocks.11.ln_2.bias", "token_embedding.weight", "ln_final.weight", "ln_final.bias".
Unexpected key(s) in state_dict: "it", "network", "optimizer", "scheduler".
查询到的其他办法:
http://t.csdn.cn/4eVWQ
http://t.csdn.cn/les0Q
http://t.csdn.cn/g3ycG
http://t.csdn.cn/7y71K
http://t.csdn.cn/5JR8t
以上方法皆不适用
原模型的keys为
Missing key(s) in state_dict: "positional_embedding", "text_projection", "logit_scale", "visual.conv1.weight", "visual.bn1.weight", "visual.bn1.bias", "visual.bn1.running_mean"......
而我自己训练的模型结构是
checkpoint = {
'it': epoch,
'network': net.state_dict(),
'optimizer': optimizer.state_dict(),
'scheduler': scheduler.state_dict()
}
checkpoint没有"state_dict"的key,按照查询到的方法,不能直接使用checkpoint[“state_dict”],查看键network、optimizer、scheduler三个键中的内容,发现:
for k, v in ckpt.items():
if k != 'it':
print(ckpt[k].keys())
结果为:
odict_keys(['positional_embedding', 'text_projection', 'logit_scale', 'visual.conv1.weight', 'visual.bn1.weight', 'visual.bn1.bias', 'visual.bn1.running_mean', 'visual.bn1.running_var', 'visual.bn1.num_batches_tracked', 'visual.conv2.weight', 'visual.bn2.weight', 'visual.bn2.bias', 'visual.bn2.running_mean', 'visual.bn2.running_var', 'visual.bn2.num_batches_tracked', 'visual.conv3.weight', 'visual.bn3.weight', 'visual.bn3.bias', 'visual.bn3.running_mean', 'visual.bn3.running_var', 'visual.bn3.num_batches_tracked', 'visual.layer1.0.conv1.weight', 'visual.layer1.0.bn1.weight', 'visual.layer1.0.bn1.bias', 'visual.layer1.0.bn1.running_mean', 'visual.layer1.0.bn1.running_var', 'visual.layer1.0.bn1.num_batches_tracked', 'visual.layer1.0.conv2.weight', 'visual.layer1.0.bn2.weight', 'visual.layer1.0.bn2.bias', 'visual.layer1.0.bn2.running_mean', 'visual.layer1.0.bn2.running_var', 'visual.layer1.0.bn2.num_batches_tracked', 'visual.layer1.0.conv3.weight', 'visual.layer1.0.bn3.weight', 'visual.layer1.0.bn3.bias', 'visual.layer1.0.bn3.running_mean', 'visual.layer1.0.bn3.running_var', 'visual.layer1.0.bn3.num_batches_tracked', 'visual.layer1.0.downsample.0.weight', 'visual.layer1.0.downsample.1.weight', 'visual.layer1.0.downsample.1.bias', 'visual.layer1.0.downsample.1.running_mean', 'visual.layer1.0.downsample.1.running_var', 'visual.layer1.0.downsample.1.num_batches_tracked', 'visual.layer1.1.conv1.weight', 'visual.layer1.1.bn1.weight', 'visual.layer1.1.bn1.bias', 'visual.layer1.1.bn1.running_mean', 'visual.layer1.1.bn1.running_var', 'visual.layer1.1.bn1.num_batches_tracked', 'visual.layer1.1.conv2.weight', 'visual.layer1.1.bn2.weight', 'visual.layer1.1.bn2.bias', 'visual.layer1.1.bn2.running_mean', 'visual.layer1.1.bn2.running_var', 'visual.layer1.1.bn2.num_batches_tracked', 'visual.layer1.1.conv3.weight', 'visual.layer1.1.bn3.weight', 'visual.layer1.1.bn3.bias', 'visual.layer1.1.bn3.running_mean', 'visual.layer1.1.bn3.running_var', 'visual.layer1.1.bn3.num_batches_tracked', 'visual.layer1.2.conv1.weight', 'visual.layer1.2.bn1.weight', 'visual.layer1.2.bn1.bias', 'visual.layer1.2.bn1.running_mean', 'visual.layer1.2.bn1.running_var', 'visual.layer1.2.bn1.num_batches_tracked', 'visual.layer1.2.conv2.weight', 'visual.layer1.2.bn2.weight', 'visual.layer1.2.bn2.bias', 'visual.layer1.2.bn2.running_mean', 'visual.layer1.2.bn2.running_var', 'visual.layer1.2.bn2.num_batches_tracked', 'visual.layer1.2.conv3.weight', 'visual.layer1.2.bn3.weight', 'visual.layer1.2.bn3.bias', 'visual.layer1.2.bn3.running_mean', 'visual.layer1.2.bn3.running_var', 'visual.layer1.2.bn3.num_batches_tracked', 'visual.layer1.3.conv1.weight', 'visual.layer1.3.bn1.weight', 'visual.layer1.3.bn1.bias', 'visual.layer1.3.bn1.running_mean', 'visual.layer1.3.bn1.running_var', 'visual.layer1.3.bn1.num_batches_tracked', 'visual.layer1.3.conv2.weight', 'visual.layer1.3.bn2.weight', 'visual.layer1.3.bn2.bias', 'visual.layer1.3.bn2.running_mean', 'visual.layer1.3.bn2.running_var', 'visual.layer1.3.bn2.num_batches_tracked', 'visual.layer1.3.conv3.weight', 'visual.layer1.3.bn3.weight', 'visual.layer1.3.bn3.bias', 'visual.layer1.3.bn3.running_mean', 'visual.layer1.3.bn3.running_var', 'visual.layer1.3.bn3.num_batches_tracked', 'visual.layer1.4.conv1.weight', 'visual.layer1.4.bn1.weight', 'visual.layer1.4.bn1.bias', 'visual.layer1.4.bn1.running_mean', 'visual.layer1.4.bn1.running_var', 'visual.layer1.4.bn1.num_batches_tracked', 'visual.layer1.4.conv2.weight', 'visual.layer1.4.bn2.weight', 'visual.layer1.4.bn2.bias', 'visual.layer1.4.bn2.running_mean', 'visual.layer1.4.bn2.running_var', 'visual.layer1.4.bn2.num_batches_tracked', 'visual.layer1.4.conv3.weight', 'visual.layer1.4.bn3.weight', 'visual.layer1.4.bn3.bias', 'visual.layer1.4.bn3.running_mean', 'visual.layer1.4.bn3.running_var', 'visual.layer1.4.bn3.num_batches_tracked', 'visual.layer1.5.conv1.weight', 'visual.layer1.5.bn1.weight', 'visual.layer1.5.bn1.bias', 'visual.layer1.5.bn1.running_mean', 'visual.layer1.5.bn1.running_var', 'visual.layer1.5.bn1.num_batches_tracked', 'visual.layer1.5.conv2.weight', 'visual.layer1.5.bn2.weight', 'visual.layer1.5.bn2.bias', 'visual.layer1.5.bn2.running_mean', 'visual.layer1.5.bn2.running_var', 'visual.layer1.5.bn2.num_batches_tracked', 'visual.layer1.5.conv3.weight', 'visual.layer1.5.bn3.weight', 'visual.layer1.5.bn3.bias', 'visual.layer1.5.bn3.running_mean', 'visual.layer1.5.bn3.running_var', 'visual.layer1.5.bn3.num_batches_tracked', 'visual.layer2.0.conv1.weight', 'visual.layer2.0.bn1.weight', 'visual.layer2.0.bn1.bias', 'visual.layer2.0.bn1.running_mean', 'visual.layer2.0.bn1.running_var', 'visual.layer2.0.bn1.num_batches_tracked', 'visual.layer2.0.conv2.weight', 'visual.layer2.0.bn2.weight', 'visual.layer2.0.bn2.bias', 'visual.layer2.0.bn2.running_mean', 'visual.layer2.0.bn2.running_var', 'visual.layer2.0.bn2.num_batches_tracked', 'visual.layer2.0.conv3.weight', 'visual.layer2.0.bn3.weight', 'visual.layer2.0.bn3.bias', 'visual.layer2.0.bn3.running_mean', 'visual.layer2.0.bn3.running_var', 'visual.layer2.0.bn3.num_batches_tracked', 'visual.layer2.0.downsample.0.weight', 'visual.layer2.0.downsample.1.weight', 'visual.layer2.0.downsample.1.bias', 'visual.layer2.0.downsample.1.running_mean', 'visual.layer2.0.downsample.1.running_var', 'visual.layer2.0.downsample.1.num_batches_tracked', 'visual.layer2.1.conv1.weight', 'visual.layer2.1.bn1.weight', 'visual.layer2.1.bn1.bias', 'visual.layer2.1.bn1.running_mean', 'visual.layer2.1.bn1.running_var', 'visual.layer2.1.bn1.num_batches_tracked', 'visual.layer2.1.conv2.weight', 'visual.layer2.1.bn2.weight', 'visual.layer2.1.bn2.bias', 'visual.layer2.1.bn2.running_mean', 'visual.layer2.1.bn2.running_var', 'visual.layer2.1.bn2.num_batches_tracked', 'visual.layer2.1.conv3.weight', 'visual.layer2.1.bn3.weight', 'visual.layer2.1.bn3.bias', 'visual.layer2.1.bn3.running_mean', 'visual.layer2.1.bn3.running_var', 'visual.layer2.1.bn3.num_batches_tracked', 'visual.layer2.2.conv1.weight', 'visual.layer2.2.bn1.weight', 'visual.layer2.2.bn1.bias', 'visual.layer2.2.bn1.running_mean', 'visual.layer2.2.bn1.running_var', 'visual.layer2.2.bn1.num_batches_tracked', 'visual.layer2.2.conv2.weight', 'visual.layer2.2.bn2.weight', 'visual.layer2.2.bn2.bias', 'visual.layer2.2.bn2.running_mean', 'visual.layer2.2.bn2.running_var', 'visual.layer2.2.bn2.num_batches_tracked', 'visual.layer2.2.conv3.weight', 'visual.layer2.2.bn3.weight', 'visual.layer2.2.bn3.bias', 'visual.layer2.2.bn3.running_mean', 'visual.layer2.2.bn3.running_var', 'visual.layer2.2.bn3.num_batches_tracked', 'visual.layer2.3.conv1.weight', 'visual.layer2.3.bn1.weight', 'visual.layer2.3.bn1.bias', 'visual.layer2.3.bn1.running_mean', 'visual.layer2.3.bn1.running_var', 'visual.layer2.3.bn1.num_batches_tracked', 'visual.layer2.3.conv2.weight', 'visual.layer2.3.bn2.weight', 'visual.layer2.3.bn2.bias', 'visual.layer2.3.bn2.running_mean', 'visual.layer2.3.bn2.running_var', 'visual.layer2.3.bn2.num_batches_tracked', 'visual.layer2.3.conv3.weight', 'visual.layer2.3.bn3.weight', 'visual.layer2.3.bn3.bias', 'visual.layer2.3.bn3.running_mean', 'visual.layer2.3.bn3.running_var', 'visual.layer2.3.bn3.num_batches_tracked', 'visual.layer2.4.conv1.weight', 'visual.layer2.4.bn1.weight', 'visual.layer2.4.bn1.bias', 'visual.layer2.4.bn1.running_mean', 'visual.layer2.4.bn1.running_var', 'visual.layer2.4.bn1.num_batches_tracked', 'visual.layer2.4.conv2.weight', 'visual.layer2.4.bn2.weight', 'visual.layer2.4.bn2.bias', 'visual.layer2.4.bn2.running_mean', 'visual.layer2.4.bn2.running_var', 'visual.layer2.4.bn2.num_batches_tracked', 'visual.layer2.4.conv3.weight', 'visual.layer2.4.bn3.weight', 'visual.layer2.4.bn3.bias', 'visual.layer2.4.bn3.running_mean', 'visual.layer2.4.bn3.running_var', 'visual.layer2.4.bn3.num_batches_tracked', 'visual.layer2.5.conv1.weight', 'visual.layer2.5.bn1.weight', 'visual.layer2.5.bn1.bias', 'visual.layer2.5.bn1.running_mean', 'visual.layer2.5.bn1.running_var', 'visual.layer2.5.bn1.num_batches_tracked', 'visual.layer2.5.conv2.weight', 'visual.layer2.5.bn2.weight', 'visual.layer2.5.bn2.bias', 'visual.layer2.5.bn2.running_mean', 'visual.layer2.5.bn2.running_var', 'visual.layer2.5.bn2.num_batches_tracked', 'visual.layer2.5.conv3.weight', 'visual.layer2.5.bn3.weight', 'visual.layer2.5.bn3.bias', 'visual.layer2.5.bn3.running_mean', 'visual.layer2.5.bn3.running_var', 'visual.layer2.5.bn3.num_batches_tracked', 'visual.layer2.6.conv1.weight', 'visual.layer2.6.bn1.weight', 'visual.layer2.6.bn1.bias', 'visual.layer2.6.bn1.running_mean', 'visual.layer2.6.bn1.running_var', 'visual.layer2.6.bn1.num_batches_tracked', 'visual.layer2.6.conv2.weight', 'visual.layer2.6.bn2.weight', 'visual.layer2.6.bn2.bias', 'visual.layer2.6.bn2.running_mean', 'visual.layer2.6.bn2.running_var', 'visual.layer2.6.bn2.num_batches_tracked', 'visual.layer2.6.conv3.weight', 'visual.layer2.6.bn3.weight', 'visual.layer2.6.bn3.bias', 'visual.layer2.6.bn3.running_mean', 'visual.layer2.6.bn3.running_var', 'visual.layer2.6.bn3.num_batches_tracked', 'visual.layer2.7.conv1.weight', 'visual.layer2.7.bn1.weight', 'visual.layer2.7.bn1.bias', 'visual.layer2.7.bn1.running_mean', 'visual.layer2.7.bn1.running_var', 'visual.layer2.7.bn1.num_batches_tracked', 'visual.layer2.7.conv2.weight', 'visual.layer2.7.bn2.weight', 'visual.layer2.7.bn2.bias', 'visual.layer2.7.bn2.running_mean', 'visual.layer2.7.bn2.running_var', 'visual.layer2.7.bn2.num_batches_tracked', 'visual.layer2.7.conv3.weight', 'visual.layer2.7.bn3.weight', 'visual.layer2.7.bn3.bias', 'visual.layer2.7.bn3.running_mean', 'visual.layer2.7.bn3.running_var', 'visual.layer2.7.bn3.num_batches_tracked', 'visual.layer3.0.conv1.weight', 'visual.layer3.0.bn1.weight', 'visual.layer3.0.bn1.bias', 'visual.layer3.0.bn1.running_mean', 'visual.layer3.0.bn1.running_var', 'visual.layer3.0.bn1.num_batches_tracked', 'visual.layer3.0.conv2.weight', 'visual.layer3.0.bn2.weight', 'visual.layer3.0.bn2.bias', 'visual.layer3.0.bn2.running_mean', 'visual.layer3.0.bn2.running_var', 'visual.layer3.0.bn2.num_batches_tracked', 'visual.layer3.0.conv3.weight', 'visual.layer3.0.bn3.weight', 'visual.layer3.0.bn3.bias', 'visual.layer3.0.bn3.running_mean', 'visual.layer3.0.bn3.running_var', 'visual.layer3.0.bn3.num_batches_tracked', 'visual.layer3.0.downsample.0.weight', 'visual.layer3.0.downsample.1.weight', 'visual.layer3.0.downsample.1.bias', 'visual.layer3.0.downsample.1.running_mean', 'visual.layer3.0.downsample.1.running_var', 'visual.layer3.0.downsample.1.num_batches_tracked', 'visual.layer3.1.conv1.weight', 'visual.layer3.1.bn1.weight', 'visual.layer3.1.bn1.bias', 'visual.layer3.1.bn1.running_mean', 'visual.layer3.1.bn1.running_var', 'visual.layer3.1.bn1.num_batches_tracked', 'visual.layer3.1.conv2.weight', 'visual.layer3.1.bn2.weight', 'visual.layer3.1.bn2.bias', 'visual.layer3.1.bn2.running_mean', 'visual.layer3.1.bn2.running_var', 'visual.layer3.1.bn2.num_batches_tracked', 'visual.layer3.1.conv3.weight', 'visual.layer3.1.bn3.weight', 'visual.layer3.1.bn3.bias', 'visual.layer3.1.bn3.running_mean', 'visual.layer3.1.bn3.running_var', 'visual.layer3.1.bn3.num_batches_tracked', 'visual.layer3.2.conv1.weight', 'visual.layer3.2.bn1.weight', 'visual.layer3.2.bn1.bias', 'visual.layer3.2.bn1.running_mean', 'visual.layer3.2.bn1.running_var', 'visual.layer3.2.bn1.num_batches_tracked', 'visual.layer3.2.conv2.weight', 'visual.layer3.2.bn2.weight', 'visual.layer3.2.bn2.bias', 'visual.layer3.2.bn2.running_mean', 'visual.layer3.2.bn2.running_var', 'visual.layer3.2.bn2.num_batches_tracked', 'visual.layer3.2.conv3.weight', 'visual.layer3.2.bn3.weight', 'visual.layer3.2.bn3.bias', 'visual.layer3.2.bn3.running_mean', 'visual.layer3.2.bn3.running_var', 'visual.layer3.2.bn3.num_batches_tracked', 'visual.layer3.3.conv1.weight', 'visual.layer3.3.bn1.weight', 'visual.layer3.3.bn1.bias', 'visual.layer3.3.bn1.running_mean', 'visual.layer3.3.bn1.running_var', 'visual.layer3.3.bn1.num_batches_tracked', 'visual.layer3.3.conv2.weight', 'visual.layer3.3.bn2.weight', 'visual.layer3.3.bn2.bias', 'visual.layer3.3.bn2.running_mean', 'visual.layer3.3.bn2.running_var', 'visual.layer3.3.bn2.num_batches_tracked', 'visual.layer3.3.conv3.weight', 'visual.layer3.3.bn3.weight', 'visual.layer3.3.bn3.bias', 'visual.layer3.3.bn3.running_mean', 'visual.layer3.3.bn3.running_var', 'visual.layer3.3.bn3.num_batches_tracked', 'visual.layer3.4.conv1.weight', 'visual.layer3.4.bn1.weight', 'visual.layer3.4.bn1.bias', 'visual.layer3.4.bn1.running_mean', 'visual.layer3.4.bn1.running_var', 'visual.layer3.4.bn1.num_batches_tracked', 'visual.layer3.4.conv2.weight', 'visual.layer3.4.bn2.weight', 'visual.layer3.4.bn2.bias', 'visual.layer3.4.bn2.running_mean', 'visual.layer3.4.bn2.running_var', 'visual.layer3.4.bn2.num_batches_tracked', 'visual.layer3.4.conv3.weight', 'visual.layer3.4.bn3.weight', 'visual.layer3.4.bn3.bias', 'visual.layer3.4.bn3.running_mean', 'visual.layer3.4.bn3.running_var', 'visual.layer3.4.bn3.num_batches_tracked', 'visual.layer3.5.conv1.weight', 'visual.layer3.5.bn1.weight', 'visual.layer3.5.bn1.bias', 'visual.layer3.5.bn1.running_mean', 'visual.layer3.5.bn1.running_var', 'visual.layer3.5.bn1.num_batches_tracked', 'visual.layer3.5.conv2.weight', 'visual.layer3.5.bn2.weight', 'visual.layer3.5.bn2.bias', 'visual.layer3.5.bn2.running_mean', 'visual.layer3.5.bn2.running_var', 'visual.layer3.5.bn2.num_batches_tracked', 'visual.layer3.5.conv3.weight', 'visual.layer3.5.bn3.weight', 'visual.layer3.5.bn3.bias', 'visual.layer3.5.bn3.running_mean', 'visual.layer3.5.bn3.running_var', 'visual.layer3.5.bn3.num_batches_tracked', 'visual.layer3.6.conv1.weight', 'visual.layer3.6.bn1.weight', 'visual.layer3.6.bn1.bias', 'visual.layer3.6.bn1.running_mean', 'visual.layer3.6.bn1.running_var', 'visual.layer3.6.bn1.num_batches_tracked', 'visual.layer3.6.conv2.weight', 'visual.layer3.6.bn2.weight', 'visual.layer3.6.bn2.bias', 'visual.layer3.6.bn2.running_mean', 'visual.layer3.6.bn2.running_var', 'visual.layer3.6.bn2.num_batches_tracked', 'visual.layer3.6.conv3.weight', 'visual.layer3.6.bn3.weight', 'visual.layer3.6.bn3.bias', 'visual.layer3.6.bn3.running_mean', 'visual.layer3.6.bn3.running_var', 'visual.layer3.6.bn3.num_batches_tracked', 'visual.layer3.7.conv1.weight', 'visual.layer3.7.bn1.weight', 'visual.layer3.7.bn1.bias', 'visual.layer3.7.bn1.running_mean', 'visual.layer3.7.bn1.running_var', 'visual.layer3.7.bn1.num_batches_tracked', 'visual.layer3.7.conv2.weight', 'visual.layer3.7.bn2.weight', 'visual.layer3.7.bn2.bias', 'visual.layer3.7.bn2.running_mean', 'visual.layer3.7.bn2.running_var', 'visual.layer3.7.bn2.num_batches_tracked', 'visual.layer3.7.conv3.weight', 'visual.layer3.7.bn3.weight', 'visual.layer3.7.bn3.bias', 'visual.layer3.7.bn3.running_mean', 'visual.layer3.7.bn3.running_var', 'visual.layer3.7.bn3.num_batches_tracked', 'visual.layer3.8.conv1.weight', 'visual.layer3.8.bn1.weight', 'visual.layer3.8.bn1.bias', 'visual.layer3.8.bn1.running_mean', 'visual.layer3.8.bn1.running_var', 'visual.layer3.8.bn1.num_batches_tracked', 'visual.layer3.8.conv2.weight', 'visual.layer3.8.bn2.weight', 'visual.layer3.8.bn2.bias', 'visual.layer3.8.bn2.running_mean', 'visual.layer3.8.bn2.running_var', 'visual.layer3.8.bn2.num_batches_tracked', 'visual.layer3.8.conv3.weight', 'visual.layer3.8.bn3.weight', 'visual.layer3.8.bn3.bias', 'visual.layer3.8.bn3.running_mean', 'visual.layer3.8.bn3.running_var', 'visual.layer3.8.bn3.num_batches_tracked', 'visual.layer3.9.conv1.weight', 'visual.layer3.9.bn1.weight', 'visual.layer3.9.bn1.bias', 'visual.layer3.9.bn1.running_mean', 'visual.layer3.9.bn1.running_var', 'visual.layer3.9.bn1.num_batches_tracked', 'visual.layer3.9.conv2.weight', 'visual.layer3.9.bn2.weight', 'visual.layer3.9.bn2.bias', 'visual.layer3.9.bn2.running_mean', 'visual.layer3.9.bn2.running_var', 'visual.layer3.9.bn2.num_batches_tracked', 'visual.layer3.9.conv3.weight', 'visual.layer3.9.bn3.weight', 'visual.layer3.9.bn3.bias', 'visual.layer3.9.bn3.running_mean', 'visual.layer3.9.bn3.running_var', 'visual.layer3.9.bn3.num_batches_tracked', 'visual.layer3.10.conv1.weight', 'visual.layer3.10.bn1.weight', 'visual.layer3.10.bn1.bias', 'visual.layer3.10.bn1.running_mean', 'visual.layer3.10.bn1.running_var', 'visual.layer3.10.bn1.num_batches_tracked', 'visual.layer3.10.conv2.weight', 'visual.layer3.10.bn2.weight', 'visual.layer3.10.bn2.bias', 'visual.layer3.10.bn2.running_mean', 'visual.layer3.10.bn2.running_var', 'visual.layer3.10.bn2.num_batches_tracked', 'visual.layer3.10.conv3.weight', 'visual.layer3.10.bn3.weight', 'visual.layer3.10.bn3.bias', 'visual.layer3.10.bn3.running_mean', 'visual.layer3.10.bn3.running_var', 'visual.layer3.10.bn3.num_batches_tracked', 'visual.layer3.11.conv1.weight', 'visual.layer3.11.bn1.weight', 'visual.layer3.11.bn1.bias', 'visual.layer3.11.bn1.running_mean', 'visual.layer3.11.bn1.running_var', 'visual.layer3.11.bn1.num_batches_tracked', 'visual.layer3.11.conv2.weight', 'visual.layer3.11.bn2.weight', 'visual.layer3.11.bn2.bias', 'visual.layer3.11.bn2.running_mean', 'visual.layer3.11.bn2.running_var', 'visual.layer3.11.bn2.num_batches_tracked', 'visual.layer3.11.conv3.weight', 'visual.layer3.11.bn3.weight', 'visual.layer3.11.bn3.bias', 'visual.layer3.11.bn3.running_mean', 'visual.layer3.11.bn3.running_var', 'visual.layer3.11.bn3.num_batches_tracked', 'visual.layer3.12.conv1.weight', 'visual.layer3.12.bn1.weight', 'visual.layer3.12.bn1.bias', 'visual.layer3.12.bn1.running_mean', 'visual.layer3.12.bn1.running_var', 'visual.layer3.12.bn1.num_batches_tracked', 'visual.layer3.12.conv2.weight', 'visual.layer3.12.bn2.weight', 'visual.layer3.12.bn2.bias', 'visual.layer3.12.bn2.running_mean', 'visual.layer3.12.bn2.running_var', 'visual.layer3.12.bn2.num_batches_tracked', 'visual.layer3.12.conv3.weight', 'visual.layer3.12.bn3.weight', 'visual.layer3.12.bn3.bias', 'visual.layer3.12.bn3.running_mean', 'visual.layer3.12.bn3.running_var', 'visual.layer3.12.bn3.num_batches_tracked', 'visual.layer3.13.conv1.weight', 'visual.layer3.13.bn1.weight', 'visual.layer3.13.bn1.bias', 'visual.layer3.13.bn1.running_mean', 'visual.layer3.13.bn1.running_var', 'visual.layer3.13.bn1.num_batches_tracked', 'visual.layer3.13.conv2.weight', 'visual.layer3.13.bn2.weight', 'visual.layer3.13.bn2.bias', 'visual.layer3.13.bn2.running_mean', 'visual.layer3.13.bn2.running_var', 'visual.layer3.13.bn2.num_batches_tracked', 'visual.layer3.13.conv3.weight', 'visual.layer3.13.bn3.weight', 'visual.layer3.13.bn3.bias', 'visual.layer3.13.bn3.running_mean', 'visual.layer3.13.bn3.running_var', 'visual.layer3.13.bn3.num_batches_tracked', 'visual.layer3.14.conv1.weight', 'visual.layer3.14.bn1.weight', 'visual.layer3.14.bn1.bias', 'visual.layer3.14.bn1.running_mean', 'visual.layer3.14.bn1.running_var', 'visual.layer3.14.bn1.num_batches_tracked', 'visual.layer3.14.conv2.weight', 'visual.layer3.14.bn2.weight', 'visual.layer3.14.bn2.bias', 'visual.layer3.14.bn2.running_mean', 'visual.layer3.14.bn2.running_var', 'visual.layer3.14.bn2.num_batches_tracked', 'visual.layer3.14.conv3.weight', 'visual.layer3.14.bn3.weight', 'visual.layer3.14.bn3.bias', 'visual.layer3.14.bn3.running_mean', 'visual.layer3.14.bn3.running_var', 'visual.layer3.14.bn3.num_batches_tracked', 'visual.layer3.15.conv1.weight', 'visual.layer3.15.bn1.weight', 'visual.layer3.15.bn1.bias', 'visual.layer3.15.bn1.running_mean', 'visual.layer3.15.bn1.running_var', 'visual.layer3.15.bn1.num_batches_tracked', 'visual.layer3.15.conv2.weight', 'visual.layer3.15.bn2.weight', 'visual.layer3.15.bn2.bias', 'visual.layer3.15.bn2.running_mean', 'visual.layer3.15.bn2.running_var', 'visual.layer3.15.bn2.num_batches_tracked', 'visual.layer3.15.conv3.weight', 'visual.layer3.15.bn3.weight', 'visual.layer3.15.bn3.bias', 'visual.layer3.15.bn3.running_mean', 'visual.layer3.15.bn3.running_var', 'visual.layer3.15.bn3.num_batches_tracked', 'visual.layer3.16.conv1.weight', 'visual.layer3.16.bn1.weight', 'visual.layer3.16.bn1.bias', 'visual.layer3.16.bn1.running_mean', 'visual.layer3.16.bn1.running_var', 'visual.layer3.16.bn1.num_batches_tracked', 'visual.layer3.16.conv2.weight', 'visual.layer3.16.bn2.weight', 'visual.layer3.16.bn2.bias', 'visual.layer3.16.bn2.running_mean', 'visual.layer3.16.bn2.running_var', 'visual.layer3.16.bn2.num_batches_tracked', 'visual.layer3.16.conv3.weight', 'visual.layer3.16.bn3.weight', 'visual.layer3.16.bn3.bias', 'visual.layer3.16.bn3.running_mean', 'visual.layer3.16.bn3.running_var', 'visual.layer3.16.bn3.num_batches_tracked', 'visual.layer3.17.conv1.weight', 'visual.layer3.17.bn1.weight', 'visual.layer3.17.bn1.bias', 'visual.layer3.17.bn1.running_mean', 'visual.layer3.17.bn1.running_var', 'visual.layer3.17.bn1.num_batches_tracked', 'visual.layer3.17.conv2.weight', 'visual.layer3.17.bn2.weight', 'visual.layer3.17.bn2.bias', 'visual.layer3.17.bn2.running_mean', 'visual.layer3.17.bn2.running_var', 'visual.layer3.17.bn2.num_batches_tracked', 'visual.layer3.17.conv3.weight', 'visual.layer3.17.bn3.weight', 'visual.layer3.17.bn3.bias', 'visual.layer3.17.bn3.running_mean', 'visual.layer3.17.bn3.running_var', 'visual.layer3.17.bn3.num_batches_tracked', 'visual.layer4.0.conv1.weight', 'visual.layer4.0.bn1.weight', 'visual.layer4.0.bn1.bias', 'visual.layer4.0.bn1.running_mean', 'visual.layer4.0.bn1.running_var', 'visual.layer4.0.bn1.num_batches_tracked', 'visual.layer4.0.conv2.weight', 'visual.layer4.0.bn2.weight', 'visual.layer4.0.bn2.bias', 'visual.layer4.0.bn2.running_mean', 'visual.layer4.0.bn2.running_var', 'visual.layer4.0.bn2.num_batches_tracked', 'visual.layer4.0.conv3.weight', 'visual.layer4.0.bn3.weight', 'visual.layer4.0.bn3.bias', 'visual.layer4.0.bn3.running_mean', 'visual.layer4.0.bn3.running_var', 'visual.layer4.0.bn3.num_batches_tracked', 'visual.layer4.0.downsample.0.weight', 'visual.layer4.0.downsample.1.weight', 'visual.layer4.0.downsample.1.bias', 'visual.layer4.0.downsample.1.running_mean', 'visual.layer4.0.downsample.1.running_var', 'visual.layer4.0.downsample.1.num_batches_tracked', 'visual.layer4.1.conv1.weight', 'visual.layer4.1.bn1.weight', 'visual.layer4.1.bn1.bias', 'visual.layer4.1.bn1.running_mean', 'visual.layer4.1.bn1.running_var', 'visual.layer4.1.bn1.num_batches_tracked', 'visual.layer4.1.conv2.weight', 'visual.layer4.1.bn2.weight', 'visual.layer4.1.bn2.bias', 'visual.layer4.1.bn2.running_mean', 'visual.layer4.1.bn2.running_var', 'visual.layer4.1.bn2.num_batches_tracked', 'visual.layer4.1.conv3.weight', 'visual.layer4.1.bn3.weight', 'visual.layer4.1.bn3.bias', 'visual.layer4.1.bn3.running_mean', 'visual.layer4.1.bn3.running_var', 'visual.layer4.1.bn3.num_batches_tracked', 'visual.layer4.2.conv1.weight', 'visual.layer4.2.bn1.weight', 'visual.layer4.2.bn1.bias', 'visual.layer4.2.bn1.running_mean', 'visual.layer4.2.bn1.running_var', 'visual.layer4.2.bn1.num_batches_tracked', 'visual.layer4.2.conv2.weight', 'visual.layer4.2.bn2.weight', 'visual.layer4.2.bn2.bias', 'visual.layer4.2.bn2.running_mean', 'visual.layer4.2.bn2.running_var', 'visual.layer4.2.bn2.num_batches_tracked', 'visual.layer4.2.conv3.weight', 'visual.layer4.2.bn3.weight', 'visual.layer4.2.bn3.bias', 'visual.layer4.2.bn3.running_mean', 'visual.layer4.2.bn3.running_var', 'visual.layer4.2.bn3.num_batches_tracked', 'visual.layer4.3.conv1.weight', 'visual.layer4.3.bn1.weight', 'visual.layer4.3.bn1.bias', 'visual.layer4.3.bn1.running_mean', 'visual.layer4.3.bn1.running_var', 'visual.layer4.3.bn1.num_batches_tracked', 'visual.layer4.3.conv2.weight', 'visual.layer4.3.bn2.weight', 'visual.layer4.3.bn2.bias', 'visual.layer4.3.bn2.running_mean', 'visual.layer4.3.bn2.running_var', 'visual.layer4.3.bn2.num_batches_tracked', 'visual.layer4.3.conv3.weight', 'visual.layer4.3.bn3.weight', 'visual.layer4.3.bn3.bias', 'visual.layer4.3.bn3.running_mean', 'visual.layer4.3.bn3.running_var', 'visual.layer4.3.bn3.num_batches_tracked', 'visual.layer4.4.conv1.weight', 'visual.layer4.4.bn1.weight', 'visual.layer4.4.bn1.bias', 'visual.layer4.4.bn1.running_mean', 'visual.layer4.4.bn1.running_var', 'visual.layer4.4.bn1.num_batches_tracked', 'visual.layer4.4.conv2.weight', 'visual.layer4.4.bn2.weight', 'visual.layer4.4.bn2.bias', 'visual.layer4.4.bn2.running_mean', 'visual.layer4.4.bn2.running_var', 'visual.layer4.4.bn2.num_batches_tracked', 'visual.layer4.4.conv3.weight', 'visual.layer4.4.bn3.weight', 'visual.layer4.4.bn3.bias', 'visual.layer4.4.bn3.running_mean', 'visual.layer4.4.bn3.running_var', 'visual.layer4.4.bn3.num_batches_tracked', 'visual.layer4.5.conv1.weight', 'visual.layer4.5.bn1.weight', 'visual.layer4.5.bn1.bias', 'visual.layer4.5.bn1.running_mean', 'visual.layer4.5.bn1.running_var', 'visual.layer4.5.bn1.num_batches_tracked', 'visual.layer4.5.conv2.weight', 'visual.layer4.5.bn2.weight', 'visual.layer4.5.bn2.bias', 'visual.layer4.5.bn2.running_mean', 'visual.layer4.5.bn2.running_var', 'visual.layer4.5.bn2.num_batches_tracked', 'visual.layer4.5.conv3.weight', 'visual.layer4.5.bn3.weight', 'visual.layer4.5.bn3.bias', 'visual.layer4.5.bn3.running_mean', 'visual.layer4.5.bn3.running_var', 'visual.layer4.5.bn3.num_batches_tracked', 'visual.layer4.6.conv1.weight', 'visual.layer4.6.bn1.weight', 'visual.layer4.6.bn1.bias', 'visual.layer4.6.bn1.running_mean', 'visual.layer4.6.bn1.running_var', 'visual.layer4.6.bn1.num_batches_tracked', 'visual.layer4.6.conv2.weight', 'visual.layer4.6.bn2.weight', 'visual.layer4.6.bn2.bias', 'visual.layer4.6.bn2.running_mean', 'visual.layer4.6.bn2.running_var', 'visual.layer4.6.bn2.num_batches_tracked', 'visual.layer4.6.conv3.weight', 'visual.layer4.6.bn3.weight', 'visual.layer4.6.bn3.bias', 'visual.layer4.6.bn3.running_mean', 'visual.layer4.6.bn3.running_var', 'visual.layer4.6.bn3.num_batches_tracked', 'visual.layer4.7.conv1.weight', 'visual.layer4.7.bn1.weight', 'visual.layer4.7.bn1.bias', 'visual.layer4.7.bn1.running_mean', 'visual.layer4.7.bn1.running_var', 'visual.layer4.7.bn1.num_batches_tracked', 'visual.layer4.7.conv2.weight', 'visual.layer4.7.bn2.weight', 'visual.layer4.7.bn2.bias', 'visual.layer4.7.bn2.running_mean', 'visual.layer4.7.bn2.running_var', 'visual.layer4.7.bn2.num_batches_tracked', 'visual.layer4.7.conv3.weight', 'visual.layer4.7.bn3.weight', 'visual.layer4.7.bn3.bias', 'visual.layer4.7.bn3.running_mean', 'visual.layer4.7.bn3.running_var', 'visual.layer4.7.bn3.num_batches_tracked', 'visual.attnpool.positional_embedding', 'visual.attnpool.k_proj.weight', 'visual.attnpool.k_proj.bias', 'visual.attnpool.q_proj.weight', 'visual.attnpool.q_proj.bias', 'visual.attnpool.v_proj.weight', 'visual.attnpool.v_proj.bias', 'visual.attnpool.c_proj.weight', 'visual.attnpool.c_proj.bias', 'transformer.resblocks.0.attn.in_proj_weight', 'transformer.resblocks.0.attn.in_proj_bias', 'transformer.resblocks.0.attn.out_proj.weight', 'transformer.resblocks.0.attn.out_proj.bias', 'transformer.resblocks.0.ln_1.weight', 'transformer.resblocks.0.ln_1.bias', 'transformer.resblocks.0.mlp.c_fc.weight', 'transformer.resblocks.0.mlp.c_fc.bias', 'transformer.resblocks.0.mlp.c_proj.weight', 'transformer.resblocks.0.mlp.c_proj.bias', 'transformer.resblocks.0.ln_2.weight', 'transformer.resblocks.0.ln_2.bias', 'transformer.resblocks.1.attn.in_proj_weight', 'transformer.resblocks.1.attn.in_proj_bias', 'transformer.resblocks.1.attn.out_proj.weight', 'transformer.resblocks.1.attn.out_proj.bias', 'transformer.resblocks.1.ln_1.weight', 'transformer.resblocks.1.ln_1.bias', 'transformer.resblocks.1.mlp.c_fc.weight', 'transformer.resblocks.1.mlp.c_fc.bias', 'transformer.resblocks.1.mlp.c_proj.weight', 'transformer.resblocks.1.mlp.c_proj.bias', 'transformer.resblocks.1.ln_2.weight', 'transformer.resblocks.1.ln_2.bias', 'transformer.resblocks.2.attn.in_proj_weight', 'transformer.resblocks.2.attn.in_proj_bias', 'transformer.resblocks.2.attn.out_proj.weight', 'transformer.resblocks.2.attn.out_proj.bias', 'transformer.resblocks.2.ln_1.weight', 'transformer.resblocks.2.ln_1.bias', 'transformer.resblocks.2.mlp.c_fc.weight', 'transformer.resblocks.2.mlp.c_fc.bias', 'transformer.resblocks.2.mlp.c_proj.weight', 'transformer.resblocks.2.mlp.c_proj.bias', 'transformer.resblocks.2.ln_2.weight', 'transformer.resblocks.2.ln_2.bias', 'transformer.resblocks.3.attn.in_proj_weight', 'transformer.resblocks.3.attn.in_proj_bias', 'transformer.resblocks.3.attn.out_proj.weight', 'transformer.resblocks.3.attn.out_proj.bias', 'transformer.resblocks.3.ln_1.weight', 'transformer.resblocks.3.ln_1.bias', 'transformer.resblocks.3.mlp.c_fc.weight', 'transformer.resblocks.3.mlp.c_fc.bias', 'transformer.resblocks.3.mlp.c_proj.weight', 'transformer.resblocks.3.mlp.c_proj.bias', 'transformer.resblocks.3.ln_2.weight', 'transformer.resblocks.3.ln_2.bias', 'transformer.resblocks.4.attn.in_proj_weight', 'transformer.resblocks.4.attn.in_proj_bias', 'transformer.resblocks.4.attn.out_proj.weight', 'transformer.resblocks.4.attn.out_proj.bias', 'transformer.resblocks.4.ln_1.weight', 'transformer.resblocks.4.ln_1.bias', 'transformer.resblocks.4.mlp.c_fc.weight', 'transformer.resblocks.4.mlp.c_fc.bias', 'transformer.resblocks.4.mlp.c_proj.weight', 'transformer.resblocks.4.mlp.c_proj.bias', 'transformer.resblocks.4.ln_2.weight', 'transformer.resblocks.4.ln_2.bias', 'transformer.resblocks.5.attn.in_proj_weight', 'transformer.resblocks.5.attn.in_proj_bias', 'transformer.resblocks.5.attn.out_proj.weight', 'transformer.resblocks.5.attn.out_proj.bias', 'transformer.resblocks.5.ln_1.weight', 'transformer.resblocks.5.ln_1.bias', 'transformer.resblocks.5.mlp.c_fc.weight', 'transformer.resblocks.5.mlp.c_fc.bias', 'transformer.resblocks.5.mlp.c_proj.weight', 'transformer.resblocks.5.mlp.c_proj.bias', 'transformer.resblocks.5.ln_2.weight', 'transformer.resblocks.5.ln_2.bias', 'transformer.resblocks.6.attn.in_proj_weight', 'transformer.resblocks.6.attn.in_proj_bias', 'transformer.resblocks.6.attn.out_proj.weight', 'transformer.resblocks.6.attn.out_proj.bias', 'transformer.resblocks.6.ln_1.weight', 'transformer.resblocks.6.ln_1.bias', 'transformer.resblocks.6.mlp.c_fc.weight', 'transformer.resblocks.6.mlp.c_fc.bias', 'transformer.resblocks.6.mlp.c_proj.weight', 'transformer.resblocks.6.mlp.c_proj.bias', 'transformer.resblocks.6.ln_2.weight', 'transformer.resblocks.6.ln_2.bias', 'transformer.resblocks.7.attn.in_proj_weight', 'transformer.resblocks.7.attn.in_proj_bias', 'transformer.resblocks.7.attn.out_proj.weight', 'transformer.resblocks.7.attn.out_proj.bias', 'transformer.resblocks.7.ln_1.weight', 'transformer.resblocks.7.ln_1.bias', 'transformer.resblocks.7.mlp.c_fc.weight', 'transformer.resblocks.7.mlp.c_fc.bias', 'transformer.resblocks.7.mlp.c_proj.weight', 'transformer.resblocks.7.mlp.c_proj.bias', 'transformer.resblocks.7.ln_2.weight', 'transformer.resblocks.7.ln_2.bias', 'transformer.resblocks.8.attn.in_proj_weight', 'transformer.resblocks.8.attn.in_proj_bias', 'transformer.resblocks.8.attn.out_proj.weight', 'transformer.resblocks.8.attn.out_proj.bias', 'transformer.resblocks.8.ln_1.weight', 'transformer.resblocks.8.ln_1.bias', 'transformer.resblocks.8.mlp.c_fc.weight', 'transformer.resblocks.8.mlp.c_fc.bias', 'transformer.resblocks.8.mlp.c_proj.weight', 'transformer.resblocks.8.mlp.c_proj.bias', 'transformer.resblocks.8.ln_2.weight', 'transformer.resblocks.8.ln_2.bias', 'transformer.resblocks.9.attn.in_proj_weight', 'transformer.resblocks.9.attn.in_proj_bias', 'transformer.resblocks.9.attn.out_proj.weight', 'transformer.resblocks.9.attn.out_proj.bias', 'transformer.resblocks.9.ln_1.weight', 'transformer.resblocks.9.ln_1.bias', 'transformer.resblocks.9.mlp.c_fc.weight', 'transformer.resblocks.9.mlp.c_fc.bias', 'transformer.resblocks.9.mlp.c_proj.weight', 'transformer.resblocks.9.mlp.c_proj.bias', 'transformer.resblocks.9.ln_2.weight', 'transformer.resblocks.9.ln_2.bias', 'transformer.resblocks.10.attn.in_proj_weight', 'transformer.resblocks.10.attn.in_proj_bias', 'transformer.resblocks.10.attn.out_proj.weight', 'transformer.resblocks.10.attn.out_proj.bias', 'transformer.resblocks.10.ln_1.weight', 'transformer.resblocks.10.ln_1.bias', 'transformer.resblocks.10.mlp.c_fc.weight', 'transformer.resblocks.10.mlp.c_fc.bias', 'transformer.resblocks.10.mlp.c_proj.weight', 'transformer.resblocks.10.mlp.c_proj.bias', 'transformer.resblocks.10.ln_2.weight', 'transformer.resblocks.10.ln_2.bias', 'transformer.resblocks.11.attn.in_proj_weight', 'transformer.resblocks.11.attn.in_proj_bias', 'transformer.resblocks.11.attn.out_proj.weight', 'transformer.resblocks.11.attn.out_proj.bias', 'transformer.resblocks.11.ln_1.weight', 'transformer.resblocks.11.ln_1.bias', 'transformer.resblocks.11.mlp.c_fc.weight', 'transformer.resblocks.11.mlp.c_fc.bias', 'transformer.resblocks.11.mlp.c_proj.weight', 'transformer.resblocks.11.mlp.c_proj.bias', 'transformer.resblocks.11.ln_2.weight', 'transformer.resblocks.11.ln_2.bias', 'token_embedding.weight', 'ln_final.weight', 'ln_final.bias'])
dict_keys(['state', 'param_groups'])
dict_keys(['step_size', 'gamma', 'base_lrs', 'last_epoch', '_step_count', 'verbose', '_get_lr_called_within_step', '_last_lr'])
发现和原模型键对应的数据在checkpoint[“network”]中,代码修改为:
model.load_state_dict(ckpt["network"])
又报错,发现ckpt[“network”]中的部分键名开头多了’moudle.',需要去掉
修改代码:
new_ckpt = {k.replace('module.', ''): v for k, v in ckpt['network'].items()}
model.load_state_dict(new_ckpt)
注意此时原来ckpt[‘network’]的类型为OrderedDict,new_ckpt的类型变为了Dict,可能会出现错误提示,修改一下数据类型即可。
完整代码如下:
device = "cuda" if torch.cuda.is_available() else "cpu"
basedir = os.path.abspath(os.path.dirname(__file__)) # 定义一个根目录
model, preprocess = clip.load(os.path.join(basedir, "model/RN50x16.pt")) # 预训练模型
#params = model.state_dict() # 获得模型的原始状态以及参数。
#for k, v in params.items():
# print(k) # 只打印key值,不打印具体参数。
modelpath = os.path.join(basedir, 'RN50-0829_ckt.pth') #自己的模型地址
ckpt = torch.load(modelpath)
# 方法1,new_ckpt类型为有序字典OrderedDict()
new_ckpt = OrderedDict()
for k, v in ckpt['network'].items():
if k.startswith('module'):
name = k[7:] # remove `module.`
new_ckpt[name] = v
else:
new_ckpt[k] = v
# 方法2,ckpt2类型为字典Dict()
ckpt2 = {k.replace('module.', ''): v for k, v in ckpt['network'].items()}
model.load_state_dict(ckpt2) # or model.load_state_dict(new_ckpt)