.py文件
最常见的文件,可以用于编写函数,自建库,和运行文件
.pyc文件
python需要编译,编译后产生的二进制文件
.pt文件或.pth文件
PyTorch 的默认模型文件格式,用于保存和加载完整的 PyTorch 模型,包含模型的结构和参数等信息。 需要保存和加载完整的 PyTorch 模型的场景,例如在训练中保存最佳的模型或在部署中加载训练好的模型。
TorchScript是PyTorch 提供的一种序列化和优化模型的方法,可以将 PyTorch 模型转换为一个序列化的程序,并使用 JIT 编译器对模型进行优化。在 PyTorch 中,可以使用 torch.jit.trace
或 torch.jit.script
函数将 PyTorch 模型转换为 TorchScript 格式。 需要将 PyTorch 模型序列化和优化,并在没有 Python 环境的情况下运行模型的场景。
法1
torch.save(model.state_dict(), mymodel.pth)
#只保存模型权重参数,不保存模型结构
调用:
model = My_model(*args, **kwargs) `
#这里需要重新模型结构
My_model
model.load_state_dict(torch.load(mymodel.pth))
#这里根据模型结构,调用存储的模型参数
model.eval()
法2
保存:
torch.save(model, mymodel.pth)
#保存整个model的状态
调用:
model=torch.load(mymodel.pth)
#这里已经不需要重构模型结构了,直接load
model.eval()
.bin文件
一种通用的二进制格式,可以用于保存和加载各种类型的模型和数据。 需要将 PyTorch 模型转换为通用的二进制格式的场景。
.onnx文件
一种通用的模型交换格式,可以用于将模型从一个深度学习框架转换到另一个深度学习框架或硬件平台。在 PyTorch 中,可以使用 torch.onnx.export 函数将 PyTorch 模型转换为 ONNX 格式。 需要将 PyTorch 模型转换为其他深度学习框架或硬件平台可用的格式的场景。
ubyte文件
有些数据集比如mnist的图片以ubyte格式存储,方便计算机读取。