Stu*_*ogi 0 python machine-learning predict onnx
我正在尝试检查我的 .onnx 模型是否正确,并且需要运行推理以验证相同的输出。
我知道我们可以使用 Python 中的 coremltools 在 .mlmodel 上运行验证 - 基本上加载模型和输入并获得预测。我正在尝试为 .onnx 模型做类似的事情。
我找到了 MXNet 框架,但我似乎无法理解如何导入模型 - 我只有 .onnx 文件,而 MXNet 除了 onnx 模型之外还需要一些额外的输入。
在 Python 中还有其他简单的方法可以做到这一点吗?我猜这是一个常见问题,但似乎找不到任何相关的库/框架来像 .mlmodel 的 coremltools 那样轻松地做到这一点。
我不希望将 .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 Code Online (Sandbox Code Playgroud)
同样重要的是要注意,输入到run_model只能是一个 numpy 数组或字符串。输出将是 Backend.Outputs 类型的对象。我能够从中提取输出 numpy 数组。
我能够在 CPU 上执行推理,因此不需要使用 GPU 安装 Caffe2(需要 CUDA 和 CDNN)。
| 归档时间: |
|
| 查看次数: |
6546 次 |
| 最近记录: |