PyTorch 中的 .pt、.pth 和 .pwf 扩展名有什么区别?
What is the difference between .pt, .pth and .pwf extentions in PyTorch?
我在一些代码示例中看到,人们使用 .pwf 作为模型文件保存格式。但在 PyTorch 文档中,建议使用 .pt 和 .pth。我使用 .pwf 并且在小型 1->16->16 卷积网络上工作得很好。
我的问题是这些格式之间有什么区别?为什么 PyTorch 文档中甚至不推荐 .pwf 扩展名,为什么人们仍然使用它?
文件扩展名不会更改已保存文件中的任何内容。推荐的扩展名只是为了让大家认出它其实是从pytorch中保存下来的模型而已。然而pytorch其实使用了python内置的pickle模块(https://docs.python.org/2/library/pickle.html)
只是为了扩展 answer, it is advised to use .pt
extension because .pth
is used by Python itself for site-packages
and module path pointing (see this answer 以获取更多信息和适当的 Python 文档)。
列出的扩展之间没有区别:.pt
、.pth
、.pwf
。可以使用他想要的任何扩展名。因此,如果您使用 torch.save()
来保存模型,那么它默认使用 python pickle (pickle_module=pickle
) 来保存对象和一些元数据。因此,您可以自由选择所需的扩展名,只要它不会与任何其他标准化扩展名发生冲突。
话虽如此,却是not recommended to use .pth
extension when checkpointing models because it collides with 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
已 suggested by @soumith 使用:
.pt
用于 pickle 格式的检查点模型
.ptc
用于在 pytorch 中编译的检查点模型(用于 JIT)
我在一些代码示例中看到,人们使用 .pwf 作为模型文件保存格式。但在 PyTorch 文档中,建议使用 .pt 和 .pth。我使用 .pwf 并且在小型 1->16->16 卷积网络上工作得很好。
我的问题是这些格式之间有什么区别?为什么 PyTorch 文档中甚至不推荐 .pwf 扩展名,为什么人们仍然使用它?
文件扩展名不会更改已保存文件中的任何内容。推荐的扩展名只是为了让大家认出它其实是从pytorch中保存下来的模型而已。然而pytorch其实使用了python内置的pickle模块(https://docs.python.org/2/library/pickle.html)
只是为了扩展 .pt
extension because .pth
is used by Python itself for site-packages
and module path pointing (see this answer 以获取更多信息和适当的 Python 文档)。
列出的扩展之间没有区别:.pt
、.pth
、.pwf
。可以使用他想要的任何扩展名。因此,如果您使用 torch.save()
来保存模型,那么它默认使用 python pickle (pickle_module=pickle
) 来保存对象和一些元数据。因此,您可以自由选择所需的扩展名,只要它不会与任何其他标准化扩展名发生冲突。
话虽如此,却是not recommended to use .pth
extension when checkpointing models because it collides with 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
已 suggested by @soumith 使用:
.pt
用于 pickle 格式的检查点模型.ptc
用于在 pytorch 中编译的检查点模型(用于 JIT)