我在一些代码示例中看到,人们使用.pwf作为模型文件保存格式。但是在PyTorch文档中,建议使用.pt和.pth。我使用.pwf,并且在小型1-> 16-> 16卷积网络中工作正常。
我的问题是这些格式之间有什么区别?为什么PyTorch文档中甚至不建议使用.pwf扩展名,为什么人们仍然使用它?
答案 0 :(得分:3)
文件扩展名不会更改保存的文件中的任何内容。推荐的扩展仅用于使每个人都知道它实际上是从pytorch保存的模型。但是,pytorch实际上使用python内置的pickle模块(https://docs.python.org/2/library/pickle.html)
答案 1 :(得分:2)
列出的扩展名之间没有区别:.pt
,.pth
,.pwf
。一个人可以使用他想要的任何扩展名。因此,如果您使用torch.save()
保存模型,则默认情况下它使用python pickle(pickle_module=pickle
)保存对象和一些元数据。因此,您可以自由选择所需的扩展名,只要它不会与任何其他标准扩展名发生冲突即可。
但是说过,在检查点模型时它是not recommended to use .pth
extension,因为它与Python path (.pth
) configuration files冲突。因此,我本人使用.pth.tar
或.pt
而不是.pth
或任何其他扩展名。
PyTorch中的模型检查点的标准方法尚未最终确定。截至撰写本文时,这是一个未解决的问题:Recommend a different file extension for models (.PTH is a special extension for Python) - issues/14864
.pt
用于以泡菜格式检查点模型.ptc
用于在pytorch中为JIT编译的检查点模型(用于JIT)答案 2 :(得分:1)
只需扩展@Paul答案,建议使用uid
扩展名,因为Python本身将test1
用于.pt
和模块路径指向(请参阅{{ 3}},以获取更多信息和适当的Python文档。