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

新手上路,请多包涵

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

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

原文由 Asil 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 948
2 个回答

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

话虽如此,但 建议在检查点模型时使用 .pth 扩展名,因为它与 Python 路径( .pth )配置文件 冲突。因此,我自己使用 .pth.tar.pt 但不使用 .pth 或任何其他扩展。


PyTorch 中检查点模型的标准方法尚未最终确定。在撰写本文时,这是一个未解决的问题: 为模型推荐不同的文件扩展名(.PTH 是 Python 的特殊扩展名)- issues/14864

@soumith 建议 使用:

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

原文由 kmario23 发布,翻译遵循 CC BY-SA 4.0 许可协议

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

原文由 Paul 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题