深度学习模型在训练后通常以特定的文件格式保存,以便在需要时重新加载和使用。常见的保存格式包括:
1. HDF5(H5)格式:
说明: HDF5是一种用于存储和组织大量数据的文件格式,广泛用于深度学习中保存模型权重、架构和其他相关信息。
示例代码:
# 使用 Keras(TensorFlow 的高阶API)保存模型为HDF5格式
from keras.models import load_model, save_model
model.save("my_model.h5") # 保存模型
loaded_model = load_model("my_model.h5") # 加载模型
2. TensorFlow SavedModel 格式:
说明: TensorFlow提供了SavedModel格式,它可以保存完整的模型架构、权重和计算图。这是 TensorFlow 推荐的保存和部署模型的方式。
示例代码:
# 使用 TensorFlow 保存和加载 SavedModel
model.save("my_model") # 保存模型
loaded_model = tf.keras.models.load_model("my_model") # 加载模型
3.ONNX 格式:
说明: ONNX(Open Neural Network Exchange)是一个开放标准,允许在不同深度学习框架之间共享模型。许多框架(如PyTorch、Caffe2)都支持ONNX。
示例代码:
# 使用 ONNX 保存和加载模型
import onnx
onnx.save(model, "my_model.onnx") # 保存模型
loaded_model = onnx.load("my_model.onnx") # 加载模型
4.PyTorch 模型保存格式:
说明: PyTorch提供了自己的模型保存和加载方式,通常以.pt或.pth为文件扩展名。
示例代码:
# 使用 PyTorch 保存和加载模型
torch.save(model.state_dict(), "my_model.pth") # 保存模型权重
loaded_model = MyModelClass() # 实例化模型
loaded_model.load_state_dict(torch.load("my_model.pth")) # 加载模型权重
这些是一些常见的深度学习模型保存格式和示例代码,具体的选择取决于你所使用的深度学习框架和需求。