PyTorch中.pt、.pth和.pwf扩展之间有什么区别?

2024-04-23 16:48:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我在一些代码示例中看到,人们使用.pwf作为模型文件保存格式。但在PyTorch文档中,建议使用.pt和.pth。我使用了.pwf,在小1->;上运行良好;16->;16卷积网络

我的问题是这些格式之间有什么区别?为什么PyTorch文档中甚至不推荐.pwf扩展,为什么人们仍然使用它


Tags: 文件代码文档模型gt网络pt示例
3条回答

文件扩展名不会更改已保存文件中的任何内容。推荐的扩展只是为了让每个人都认识到它实际上是从pytorch保存的模型。然而,pytorch实际上使用python内置的pickle模块(https://docs.python.org/2/library/pickle.html

列出的扩展之间没有差异:.pt.pth.pwf。一个人可以使用他想要的任何扩展。因此,如果您使用torch.save()保存模型,那么默认情况下它使用python pickle(pickle_module=pickle)保存对象和一些元数据。因此,您可以自由选择所需的扩展,只要它不会与任何其他标准化扩展发生冲突

话虽如此,但检查点模型时,它是not recommended to use ^{} extension,因为它与Python path (^{}) configuration files冲突。因此,我自己使用.pth.tar.pt,但不使用.pth,或任何其他扩展


PyTorch中检查点模型的标准方法尚未最终确定。在撰写本文时,有一个悬而未决的问题:Recommend a different file extension for models (.PTH is a special extension for Python) - issues/14864

一直以来suggested by @soumith都在使用:

  • .pt用于pickle格式的检查点模型
  • .ptc用于编译pytorch中的检查点模型(用于JIT)

为了扩展@Paul答案,建议使用.pt扩展,因为.pth被Python本身用于site-packages和模块路径指向(有关更多信息和适当的Python文档,请参见this answer

相关问题 更多 >