问题标签 [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.
c# - onnxruntime - 导出 scikit RandomForestClassifier 导入失败
我使用 WinMLTools 将 scikit RandomForestClassifier 模型导出到 ONNX。当我尝试使用 ONNXRuntime(在 C# 上)导入文件时。我收到以下错误:
这发生在第二个输出名称 (="probabilities") 传递给:
结果是地址为 0x000000000 的 IntPtr。
输入参数和第一个输出参数按计划进行。
模型的输出是一个浮点数组,所以我不明白可能是什么问题。
完整的调用堆栈:
onnxruntime - 加载 ONNX 模型失败:ShapeInferenceError
在 OrtCreateSession 中,尝试加载带有消息的 onnx 模型失败:
失败:[ShapeInferenceError] 属性焊盘大小不正确
这是什么意思?我在哪里寻找问题?感谢您的任何想法。
onnx - 如何找到 Onnx 的版本号?
如何判断我是否安装了 Onnx 1.5?为什么 onnxruntime.dll 没有它的“fileversion”集,这会使事情变得简单。是否有 API 调用(在 C/C++ 中)询问版本号?
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 中
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}) 我无法弄清楚我哪里出错了。我正在分享完整的代码。
我得到的错误是:
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]
是因为这是特征列的四个值。我在这里做错了什么?
python - Onnx模型的量化
我正在尝试使用 onnxruntime量化工具来量化 ONNX 模型。
我的量化代码如下:
在这种方法之后,我得到的模型具有 0 维模型。我必须在 quantize 函数中传递什么参数才能获得合适的模型?
catboost - 使用 onnx 保存 catboost 模型时,可以保存和使用客户参数吗?
我有一个 Catboost 回归模型,我用 onnx 保存它以在其他地方使用,全部使用 Python。是否可以在 onnx 模型中保存自定义参数并使用 onnx 运行时提取它们?我想在模型周围保存元数据。
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 保持其状态?