模型文件pt/pth/plk的区别
pytorch的模型文件中经常看到后缀名为
.pt
,.pth
,.pkl
的pytorch模型文件, 他们之间其实没有任何区别,只是因研发人员的习惯不同保存文件的后缀名Pytorch官网中以.pt
格式保存的方式较多。
- torch.save:保存序列化的对象到磁盘,使用了Python的pickle进行序列化,模型、张量、所有对象的字典。
- torch.load:使用了pickle的unpacking将pickled的对象反序列化到内存中。
- torch.nn.Module.load_state_dict:使用反序列化的state_dict加载模型的参数字典。
- state_dict 是一个Python字典,将每一层映射成它的参数张量。注意只有带有可学习参数的层(卷积层、全连接层等),以及注册的缓存(batchnorm的运行平均值)在state_dict 中才有记录。state_dict同样包含优化器对象,存储了优化器的状态,所使用到的超参数。
作者:柒月
Q群 :2122210(嵌入式/机器学习)