方式1 :保存整个模型
使用时无需自定义网络模型,保存时已把网络结构保存,不方便调整网络结构。
torch.save(modelname, 'model.pkl')
model = torch.load('model.pkl')
方式2:保存模型参数
使用时需要自己定义网络,并且其中的参数名称与结构要与保存的模型中的一致(可以定义部分网络,比如只使用VGG的前几层),相对灵活,便于对网络进行修改。
torch.save(modelname.state_dict(), 'params.pkl')
modelname.load_state_dict(torch.load('params.pkl'))