欢迎访问宙启技术站
智能推送

使用onnx.save_model()函数在Python中保存生成的模型

发布时间:2024-01-12 07:57:08

在Python中使用onnx.save_model()函数可以将生成的模型保存为ONNX格式文件。ONNX(Open Neural Network Exchange)是一种开放标准,用于描述深度学习模型的表示和互操作性。

下面是一个使用onnx.save_model()函数保存模型的示例:

import torch
import torchvision
import onnx

# 加载预训练的PyTorch模型
model = torchvision.models.resnet18(pretrained=True)

# 创建一个输入张量
input_tensor = torch.zeros((1, 3, 224, 224), dtype=torch.float32)

# 导出模型到ONNX格式
onnx_path = "resnet18.onnx"
torch.onnx.export(model, input_tensor, onnx_path, verbose=False)

print("模型已成功保存为ONNX格式:", onnx_path)

在上面的示例中,首先通过torchvision.models.resnet18()加载一个预训练的ResNet-18模型。然后,创建一个与模型输入相同大小的零张量作为输入示例。接下来,调用torch.onnx.export()函数来导出模型到ONNX格式。在导出过程中,需要指定模型、输入张量、输出文件路径以及其他可选参数。最后,使用onnx.save_model()函数将导出的模型保存为ONNX格式文件,并打印出保存的文件路径。

需要注意的是,使用onnx.save_model()函数保存模型前,需要先通过torch.onnx.export()函数将PyTorch模型导出为ONNX格式。

保存为ONNX格式的模型可以在其他支持ONNX的框架中加载和使用,也可以在ONNX Runtime等推理引擎中进行推理。同时,ONNX模型还可以转换为其他深度学习框架(如TensorFlow、Caffe等)所支持的格式,实现模型跨框架的互操作性。