pytorch中模型文件.pth的解析
在pytorch进行模型保存的时候,一般有两种保存方式,一种是保存整个模型,另一种是只保存模型的参数。
-
torch.save(model.state_dict(), "my_model.pth") # 只保存模型的参数
-
torch.save(model, "my_model.pth") # 保存整个模型
保存的模型参数实际上一个字典类型,通过key-value的形式来存储模型的所有参数,本文以自己在实践过程中使用的一个.pth文件为例来说明,使用的是整个模型。
关于.pth 文件的总结
它是一个包含 四组 “key-value”的字典(这四组不一定同时存在,需要看具体情况,比如可能没有学习率衰减策略scheduler),类型分别如下:
其中
(1)net["model"] 就相当于是 前面文章中说到的 net.state_dict() 返回的那个字典;
(2)net["optimizer"] 就相当于是 前面文章中说到的 optimizer.state_dict() 返回的那个字典