算法调试
安装算法所需环境numpy、pytorch、torchvision,进行算法调试,为算法嵌入做准备工作。
配置算法环境
使用Pycharm直接导入包,进行环境配置。
-
导入numpy :
-
导入pytorch:
-
导入torchvision:
遇到的问题
代码模型和权重文件不匹配,原因是self.encoder名字匹配有问题。
解决方法: 使用以下代码查看pretrained dict命名
pretrained_dict = torch.load(path, map_location='cpu')
model_dict = model.state_dict()
shared_dict = {k: v for k, v in pretrained_dict.items() if k in model_dict}
# import ipdb; ipdb.set_trace()
model_dict.update(shared_dict)
model.load_state_dict(model_dict)
运行结果如图:
发现训练模型使用了分布式,运行以下代码,shared_dict不为空即可解决。
shared_dict = {k[7:] : v for k, v in pretrained_dict.items() if k[7:] in model_dict}
完成算法调试部分内容,程序运行成功。