调试PyTorch代码保存训练模型的时候有些时候保存的格式是 .pt,有些时候是.pth与.pkl,不禁好奇它们之间的区别
问题描述
我们经常会看到后缀名为.pt,.pth,.pkl的PyTorch模型文件,这几种模型文件在格式上有什么区别吗?
原因分析
它们并不存在格式上的区别,只是后缀名不同而已。在用torch.save()函数保存模型文件的时候,有些人喜欢用.pt后缀,有些人喜欢用.pth或 .pkl,用相同的 torch.save()语句保存出来的模型文件没有什么不同。
在PyTorch官方的文档里,有用.pt的,也有用.pth的。
据某些文章的说法,一般惯例是使用 .pth,但是官方文档里貌似.pt居多,而且官方也不是很在意固定地用某一种。
另外,为什么会有 .pkl这种后缀名呢?因为Python有一个序列化模块 - pickle,使用它保存模型时,通常会起一个以 .pkl为后缀名的文件。torch.save()正是使用pickle来保存模型的。
参考:https://www.codelast.com/