在python中使用Onnx模型运行推理?

在python中使用Onnx模型运行推理?,python,machine-learning,predict,onnx,Python,Machine Learning,Predict,Onnx,我试图检查我的.onnx模型是否正确,并且需要运行推断来验证相同的输出 我知道我们可以使用Python中的coremltools在.mlmodel上运行验证—基本上加载模型和输入并获得预测。我正在尝试为.onnx模型做类似的事情 我找到了MXNet框架,但我似乎不明白如何导入模型-我只有.onnx文件,MXNet需要一些额外的输入,除了onnx模型之外 在Python中有没有其他简单的方法来实现这一点?我猜这是一个常见的问题,但似乎找不到任何相关的库/框架可以像coremltools for.m

我试图检查我的.onnx模型是否正确,并且需要运行推断来验证相同的输出

我知道我们可以使用Python中的coremltools在.mlmodel上运行验证—基本上加载模型和输入并获得预测。我正在尝试为.onnx模型做类似的事情

我找到了MXNet框架,但我似乎不明白如何导入模型-我只有.onnx文件,MXNet需要一些额外的输入,除了onnx模型之外

在Python中有没有其他简单的方法来实现这一点?我猜这是一个常见的问题,但似乎找不到任何相关的库/框架可以像coremltools for.mlmodel那样轻松地做到这一点

我不想将.onnx转换为另一种类型的模型(比如说PyTorch),因为我想按原样检查.onnx模型,不必担心转换是否正确。只需要一种加载模型和输入、运行推理和打印输出的方法

这是我第一次遇到这些格式,因此任何帮助或见解都将不胜感激


谢谢

我用Caffe2找到了一种方法,就是发帖子,以防将来有人尝试做同样的事情

主要代码段是:

import onnx
import caffe2.python.onnx.backend
from caffe2.python import core, workspace

import numpy as np

# make input Numpy array of correct dimensions and type as required by the model

modelFile = onnx.load('model.onnx')
output = caffe2.python.onnx.backend.run_model(modelFile, inputArray.astype(np.float32))
另外需要注意的是,
run\u model
的输入只能是numpy数组或字符串。输出将是Backend.Outputs类型的对象。我能够从中提取输出numpy数组


我能够在CPU上执行推断,因此不需要安装带有GPU的Caffe2(需要CUDA和CDNN)。

我找到了一种使用Caffe2的方法-只是发布,以防将来有人尝试做同样的事情

主要代码段是:

import onnx
import caffe2.python.onnx.backend
from caffe2.python import core, workspace

import numpy as np

# make input Numpy array of correct dimensions and type as required by the model

modelFile = onnx.load('model.onnx')
output = caffe2.python.onnx.backend.run_model(modelFile, inputArray.astype(np.float32))
另外需要注意的是,
run\u model
的输入只能是numpy数组或字符串。输出将是Backend.Outputs类型的对象。我能够从中提取输出numpy数组

我能够在CPU上执行推断,因此不需要安装带有GPU的Caffe2(需要CUDA和CDNN)