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

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

发布时间:2024-01-12 07:53:02

在Python中使用onnx.save_model()函数可以将训练好的模型保存为ONNX格式,以便在其他框架中使用。ONNX是一种开放标准的模型表示方法,可以跨多种深度学习框架进行模型的转换和部署。

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

import torch
import torchvision
import onnx

# 加载预训练模型
model = torchvision.models.resnet18(pretrained=True)
# 设置模型为推理模式
model.eval()

# 创建一个示例输入
x = torch.randn(1, 3, 224, 224)
# 将模型转换为ONNX格式
onnx_model = onnx.export(model, x, "resnet18.onnx", export_params=True)
# 保存ONNX格式的模型到文件
onnx.save_model(onnx_model, "resnet18.onnx")

在上面的例子中,我们首先使用torchvision.models中的resnet18模型,并加载预训练的权重。然后,我们设置模型为推理模式,即取消Dropout和BatchNorm等层的训练特性。接下来,我们创建一个示例输入x,其尺寸为(1, 3, 224, 224),表示一张224x224大小的彩色图片。最后,我们使用onnx.export()函数将模型转换为ONNX格式,并使用onnx.save_model()函数将其保存到文件中。

在执行完上述代码后,将生成名为resnet18.onnx的文件,它是一个包含了模型结构、参数和计算图等信息的ONNX格式文件。这个文件可以被导入到其他深度学习框架(如TensorFlow)中使用,或者使用ONNX Runtime进行部署和推理。

需要注意的是,调用onnx.save_model()函数时,参数中的model应为通过onnx.export()函数转换后的ONNX模型对象,而不是直接传入原始模型对象。

以上就是使用Python中的onnx.save_model()函数保存模型的示例,希望对你有帮助!