Pytorch模型格式区别( .pt .pth .bin .onnx)
Pytorch是深度学习领域中进行模型训练时常用的框架之一,支持的模型保存格式包括.pt和.pth .bin .onnx。
1 .pt 或 .pth:这是PyTorch默认的模型保存格式,两者没有实质区别,只是文件扩展名不同。通常用于保存模型的state_dict或整个模型。
2 .bin:这是一种通用的二进制格式,有时用于保存模型的权重,不包含模型结构。它通常只是原始权重的二进制存储,可以被任何程序读取。
3 .onnx:开放神经网络交换格式,用于不同框架之间的模型交换。它保存了模型的结构和权重,并且可以在多个深度学习框架中运行。
格式 | 文件扩展名 | 包含内容 | 主要用途 | 可移植性 |
PyTorch 原生格式 | .pt 或 .pth | 模型结构 + 权重 或 仅权重 | PyTorch 训练/推理 | 仅 PyTorch |
二进制权重格式 | .bin | 仅权重(原始二进制) | 跨语言部署/嵌入式 | 通用(需重建模型) |
ONNX 格式 | .onnx | 模型结构 + 权重(标准化) | 跨框架部署/优化 | 多框架支持 |
TorchScript | .pt 或 .pth | 模型结构 + 权重(可序列化) | C++ 部署/移动端 | PyTorch 生态 |