.bin 和 .pt pytorch 保存的模型类型有什么区别?

San*_*ta7 11 pytorch

有时我会看到预训练 pytorch 的 .bin 文件,就像这里的那个

https://github.com/allenai/scibert#pytorch-models

但是,这些文件通常保存为 .pt 文件。

这两种参数权重文件格式有什么区别?为什么有两个?

Szy*_*zke 10

没有区别,因为它只是一个扩展。当涉及到类 UNIX 操作系统时,无论扩展名如何,都可以打开文件(请参阅此处),而另一方面,Windows 在构建时就考虑了它们(此处)。

torch可以读取.bin.pt.anything因此它可能是由库的创建者使用习惯。

标准方法是使用.ptor .pth,尽管第二个扩展与解释器可读的 Python 文本文件发生冲突,所以.pt现在看来是最好的主意(请参阅此 github 问题)。

  • 如果它们的格式相同,那么我强烈建议创建者选择语义上“有意义”的文件扩展名,以确保用户的利益和程序关联。`.bin` 是一个通用扩展名,可以包含任何东西,并且已被无数程序用来表示不同的含义。查看本地驱动器上的两个这样的文件,OpenAI CLIP“pytorch_model.bin”和“RealESRGAN_x4plus.pth”,我发现它们有不同的标头。`.bin` 文件实际上是一个 `.zip` 文件(它有一个“PK”标头),而 `.pth` 是一个 Python Pickle。 (4认同)