首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Python上运行ONNX模型文件

如何在Python上运行ONNX模型文件
EN

Stack Overflow用户
提问于 2022-08-17 11:36:16
回答 1查看 188关注 0票数 0

我有一个包含文本分类器的ONNX模型文件。我也有数据,我的目的是测试模型上的新数据。但是我不能运行这些密码。首先,我尝试下面的代码,什么都不会发生。

代码语言:javascript
运行
复制
model_name = 'text_model.onnx'
onnx_model = onnx.load(model_name)
onnx.checker.check_model(onnx_model)

那我试试这个

代码语言:javascript
运行
复制
ort.InferenceSession(onnx_model, None)

但我发现了一个错误:

代码语言:javascript
运行
复制
TypeError: Unable to load from type '<class 'onnx.onnx_ml_pb2.ModelProto'>'

我该怎么办?

EN

回答 1

Stack Overflow用户

发布于 2022-08-17 12:36:57

对我有效的是下面的代码

代码语言:javascript
运行
复制
from onnxruntime import InferenceSession

filename = "./svm_iris.onnx"
def execute_onnx_model_from_file(filename: str) -> None:
    sess = InferenceSession(filename)
    x_test, y_test = json_to_ndarray()
    sess.run(None, {"X": x_test.astype(np.float32)})[0]

文档中,指定可以将存储的ONNX的文件名传递给InferenceSession。另一个更接近您的代码的解决方案是序列化onnx模型:

代码语言:javascript
运行
复制
from onnxruntime import InferenceSession

filename = "./svm_iris.onnx"
def execute_onnx_model_from_file(filename: str) -> None:
    onnx_model = onnx.load(filename)
    sess = InferenceSession(onnx_model.SerializeToString())
    x_test, y_test = json_to_ndarray()
    sess.run(None, {"X": x_test.astype(np.float32)})[0]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73387770

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档