问题标签 [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 回答
516 浏览

apache-spark-ml - 如何将具有多个输入列的 Spark ML 模型转换为 ONNX 并将其用于对动态批量大小进行评分?

我使用以下方法将具有动态批量大小的逻辑回归模型从 Spark ML 转换为 ONNX:

然后我使用下面的代码成功地对 df1 进行了评分,这是一组形状为 (12417, 5) 的动态样本:

现在我尝试构建一个管道并转换为 ONNX。我试图转换它的第一阶段,这只是一个 VectorAssembler 使用:

尝试使用以下代码使用它:

失败,出现 [ONNXRuntimeError] :2:INVALID_ARGUMENT:输入的尺寸无效:以下索引索引的光:1 得到:12417 预期:1。

只是为了测试,我通过添加 df1 = df1[:1] 选择了一个样本,然后上面的代码工作..

如何导出具有上述多个输入列的模型,以便我可以使用 onnxruntime 对动态批量大小进行评分?为什么逻辑回归可以完美运行,而这个简单的 VectorAssembler 却失败了?

谢谢你的帮助,阿迪

0 投票
0 回答
332 浏览

java - java - 如何最有效地将一个ONNX模型的输出提供给java中的另一个?

我有两个使用 ONNX 构建的模型,模型 A 和模型 B。我使用ONNX 运行时 Java API加载这些模型并使用它们进行推理。工作流程是我需要使用模型 A 计算预测,然后将模型 A 的结果输入模型 B:

当我调用resultFromA = A.run(inputs)OrtSession.run)时,API 返回一个Result。理想情况下,我想接受这个结果并打电话B.run(resultFromA),但run只接受Map<String, OnnxTensor> inputs. 我真的必须迭代resultFromA并将其内容放入一个新的Map吗?或者它们是我忽略的 API 的方法/用法?

这是我想做的:

而我必须做的是:

0 投票
1 回答
1814 浏览

importerror - 导入 onnxruntime ImportError 时出错:无法导入名称“get_all_providers”(Windows 10)

我已经在我的环境中安装了 onnxruntime-gpu 库

请帮我解决这个错误

尝试了现有的解决方案。他们都没有工作

0 投票
2 回答
909 浏览

onnx - 我可以将两个 ONNX 图组合在一起,将一个输出作为输入传递给另一个吗?

我有一个模型,从 pytorch 导出,我会调用main_model.onnx. 它有一个我将调用的输入节点main_input,它需要一个整数列表。我可以在 onnxruntime 中加载它并发送一个整数列表,它工作得很好。

我制作了另一个 ONNX 模型,我将pre_model.onnx使用 inputpre_input和 output进行调用pre_output。这会预处理一些文本,因此输入是文本,并且pre_output是整数列表,完全main_model.onnx符合输入的需要。

我的目标是,使用 Pythononnx.helper工具,创建一个接受文本作为输入的超级模型,并通过我的pre-model.onnx,可能是某个连接器节点(Identity也许?),然后main_model.onnx在一个大combined.onnx模型中运行。

我尝试使用pre_model.graph.node+Identity connector+main_model.graph.node作为新图中的节点,但是从 pytorch 导出的参数以这种方式丢失了。有没有办法保留所有这些参数和所有内容,并导出这个更大的组合 ONNX 模型?

0 投票
0 回答
321 浏览

python - 并行运行线程比在 python 中顺序执行需要更多时间

我有两个 ONNX 深度学习模型。我想同时运行这两个模型。我正在使用来自 python 的线程。但令人惊讶的是,顺序运行这两个模型需要更多时间。

要完成的任务。

  1. 制作一类模型
  2. 在该类的init中加载两个模型。
  3. 并行运行两个模型以推断给定的输入。

这是正常行为吗。请建议解决方法?

0 投票
1 回答
659 浏览

python - 在 Python 中并行运行多个 ONNX 模型进行推理

有没有办法并行运行多个 ONNX 模型并使用多个可用内核?

目前,我已经训练了两个 ONNX 模型并想使用它们进行推断。我使用了 Python 中的线程,但这并没有真正使用多核。

之后我尝试了多处理,但这给了我以下错误:

不能腌制 onnxruntime.capi.onnxruntime_pybind11_state.SessionOptions 对象

请让我知道是否有任何解决方法?

0 投票
0 回答
186 浏览

python - Python statsmodels 保存的模型文件可以转换为 ONNX Runtime 格式吗?

我试图将 python statsmodels 中的 SARIMA 模型作为泡菜文件。我想将保存的时间序列模型转换为 ONNX 运行时格式以进行实时边缘推理。但是我没有找到任何方法吗?是否可以将保存的模型从 pickle 转换为 ONNX 运行时格式?

0 投票
1 回答
155 浏览

c# - 如何在 Microsoft.ML.onnxruntime 的 C# 编码中访问 DisposableList?

我可以知道如何在控制台中显示以黄色圈出的值。我试过了

我在最高索引中提取的结果的 [0] 值,我需要提取值的 [1.] 值,它在 First() 中,再次在 First() 和 Last() 值中以黄色圈出。我只想在控制台中显示

在此处输入图像描述

尝试堆栈溢出,没有人可以帮助。我是 python 开发人员,所以不确定 c# 编码。

提前致谢

0 投票
1 回答
540 浏览

python - ONNX 量化模型类型错误:类型 'tensor(float16)'

我使用此脚本将 onnx 模型从 float32 转换为 float16。

但是在推断时我收到了这个错误。

我也使用这个将输入dtype更改为float 16

但仍然得到同样的错误。我必须做些什么来解决这个问题?

0 投票
1 回答
94 浏览

provider - onnxruntime with use_dml mix build hanppen error 使用 DML 执行提供程序时不支持启用内存模式

在窗口环境中,使用--use_dml 在nxruntime 上构建,我的命令是“

最终构建成功,生成whl文件。然后

.so我可以使用python进行推理。但是发生了错误。我的代码是“

错误是“2021-03-10 19:03:59.3618026 [W:onnxruntime:, inference_session.cc:411 onnxruntime::InferenceSession::RegisterExecutionProvider] 使用 DML 执行提供程序时不支持启用内存模式。所以禁用它用于此会话,因为它使用 DML 执行提供程序。” 而且推理时间很长。谁能告诉我为什么?