问题标签 [onnxruntime]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
195 浏览

c# - onnxruntime - 导出 scikit RandomForestClassifier 导入失败

我使用 WinMLTools 将 scikit RandomForestClassifier 模型导出到 ONNX。当我尝试使用 ONNXRuntime(在 C# 上)导入文件时。我收到以下错误:

这发生在第二个输出名称 (="probabilities") 传递给:

结果是地址为 0x000000000 的 IntPtr。

输入参数和第一个输出参数按计划进行。

模型的输出是一个浮点数组,所以我不明白可能是什么问题。

完整的调用堆栈:

0 投票
1 回答
61 浏览

python - 如何修复对象检测应用程序中的 ValueError?

我正在尝试使用 onnxruntime 和 opencv 将边界框添加到图像中,以使用yolov2神经网络检测对象。相反,我在运行时遇到错误。

我将输入图像转换为兼容的张量/numpy 数组以输入模型。一旦我知道一切都完美无误,我添加了以下代码来添加边界框:

我期待图像显示(绿色)边界框。相反,我收到此错误:

如果有帮助,完整的代码在这里。

0 投票
1 回答
1328 浏览

onnxruntime - 加载 ONNX 模型失败:ShapeInferenceError

在 OrtCreateSession 中,尝试加载带有消息的 onnx 模型失败:

失败:[ShapeInferenceError] 属性焊盘大小不正确

这是什么意思?我在哪里寻找问题?感谢您的任何想法。

0 投票
2 回答
5520 浏览

onnx - 如何找到 Onnx 的版本号?

如何判断我是否安装了 Onnx 1.5?为什么 onnxruntime.dll 没有它的“fileversion”集,这会使事情变得简单。是否有 API 调用(在 C/C++ 中)询问版本号?

0 投票
2 回答
1105 浏览

c# - 在 C# Windows 窗体应用程序中使用 ONNX 模型

我已经在 Keras 中训练了一个 Mask RCNN 的深度学习模型,并导出了一个能够在 Python 中成功运行和测试图像的 ONNX 模型(权重矩阵)。是否有可能通过 Visual Studio 在 Windows 窗体应用程序、C# 中使用相同的 ONNX 模型?如果是,有什么要求?

系统信息:

  • Windows 10 企业版 2016 LTSB
  • 视觉工作室 2019
  • ONNX 运行时版本(您正在使用):
  • 掩码 RCNN,在 ONNX Runtime v0.5.0 中
0 投票
1 回答
653 浏览

python - 如何在使用 onnx 模型进行预测时解决运行时错误?

我使用trainNetwork命令在 matlab 中训练了深度学习模型。我想在 python 中使用该模型进行预测,所以我在 matlab 中使用“exportONNXNetwork”coomand 将网络导出为 onnx 格式。我使用以下代码在 python 中导入了 onnx 模型: sess = onnxruntime.InferenceSession("Alma.onnx")

该模型接受大小为(224,224,3)的图像。所以我使用 cv2.resize 调整了图像的大小。当我尝试使用sess.run命令运行模型时,我收到一个错误,因为RuntimeError: Input 'data' must not be empty。 其中“数据”是 input_name。用于预测的命令是res = sess.run([output_name], {input_name: x}) 我无法弄清楚我哪里出错了。我正在分享完整的代码。

我得到的错误是:

0 投票
1 回答
405 浏览

python - 使用 python onnxruntime 进行预测时出错

sklearn我使用该库创建了一个非常基本的决策树。这棵树基于 4 个特征进行训练:

并且标签/目标特征是一个布尔值(0 或 1)。

我将树转换为一种ONNX格式,现在我想使用该onnxruntime python库进行预测。我在互联网上找到了执行此操作的示例代码。问题是我不完全理解这段代码、函数和参数的所有部分到底发生了什么。这导致我得到一个错误。我确实搜索了一些文档,但我找不到这个。

在下面的代码中,我将树模型转换为ONNX格式。这是成功的,但部分代码我不明白。在initial_type变量中,根据我之前提到的 4 个特征列和标签/目标特征,我必须在此处输入什么?现在我进入了FloatTensorType([None, 4],因为我有 4 个特征列,None我不知道是什么。

在下面的代码中,我想使用该onnxruntime库进行预测,但出现此错误:

这是因为我不明白下面的最后一行代码。我输入这个{input_name: [4, 8, 77.8, 143.45]是因为这是特征列的四个值。我在这里做错了什么?

0 投票
2 回答
5002 浏览

python - Onnx模型的量化

我正在尝试使用 onnxruntime量化工具来量化 ONNX 模型。

我的量化代码如下:

在这种方法之后,我得到的模型具有 0 维模型。我必须在 quantize 函数中传递什么参数才能获得合适的模型?

0 投票
1 回答
239 浏览

catboost - 使用 onnx 保存 catboost 模型时,可以保存和使用客户参数吗?

我有一个 Catboost 回归模型,我用 onnx 保存它以在其他地方使用,全部使用 Python。是否可以在 onnx 模型中保存自定义参数并使用 onnx 运行时提取它们?我想在模型周围保存元数据。

0 投票
1 回答
549 浏览

c# - ONNX Runtime C# 不记得 LSTM 网络的状态

我从这个示例中将经过训练的 LSTM 神经网络从 Matlab 导出到 ONNX。然后我尝试使用ONNX Runtime C#运行这个网络。但是,看起来我做错了什么,网络不记得上一步的状态。

网络应使用以下输出响应输入序列:

  • 输入:[0.258881980200294];输出:[0.311363101005554]

  • 输入:[1.354147904050896];输出:[1.241550326347351]

  • 输入:[ 0.258881980200294, 1.354147904050896 ];输出:[0.311363101005554,1.391810059547424]

前两个示例是仅包含一个元素的序列。最后一个例子是两个元素的序列。这些输出在 Matlab 中计算。我在 Matlab 中重置网络,在每个新序列执行它之间。

然后我尝试使用 ONNX Runtime 运行相同的网络。这是我的 C# 代码:

如您所见,第二个会话运行结果为 1,24155,而不是预期值 (1.391810059547424),就好像网络仍处于初始状态一样。看起来我没有保存 LSTM 网络的状态,但我在文档中找不到如何做到这一点。

那么,有谁知道如何让 LSTM 保持其状态?