问题标签 [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 投票
1 回答
66 浏览

c++ - 在没有模型的情况下打印 ONNXRUNTIME::Graph

我正在开发从C++ 中的GraphTransformer继承的新优化器

如何查看我所做的更改,就在ApplyImpl结束后,我尝试了 graph.ToGraphProto()但我无法保存它而且我需要创建一个新模型才能保存它并在 Netron 或其他东西中查看它

0 投票
1 回答
404 浏览

tensorflow - GPU 上的 WinML 推理时间比 Tensorflow python 慢 3 倍

我尝试在 WinML 中使用在 python 上训练的 tensorflow 模型。我成功地将 protobuf 转换为 onnx。获得以下性能结果:

  • WinML 43s
  • OnnxRuntime 10s
  • TensorFlow 12s

对 CPU 的推断大约需要 86 秒。

在性能工具上,与其他工具相比,WinML 似乎没有正确使用 GPU。WinML 似乎使用 DirectML 作为后端(我们在 Nvidia GPU 分析器上观察到 DML 前缀)。是否可以将 Cuda 推理引擎与 WinML 一起使用?有没有人观察到类似的结果,WinML 在 GPU 上异常缓慢?

0 投票
0 回答
517 浏览

ml.net - ML.Net:具有多个输出的 ONNX 模型 - 推理时间差

我想使用 ML.Net 和 onnxruntime 对具有一个输入张量和多个输出张量(具有不同维度)的 Onnx 模型进行推理。我使用 .GetColumn 来获得所需的输出。为了获得所有输出,我尝试了两种不同的方法:

1)foreach +多次调用.GetColumn:

2)将输出连接成一个张量(定义我的管道时):

这两种方法都会导致非常糟糕的推理时间。例如,我的模型一个输出张量需要 250 毫秒,十个张量需要 2500 毫秒。推理时间会根据输出的数量而倍增。在 Python 脚本中使用相同的模型时,我只需不到 100 毫秒就可以将所有输出张量放在一个列表中!

我的问题:

  • 是否有另一种方法可以在 ML.Net 中获得多个输出?
  • 为什么推理时间成倍增加?
0 投票
1 回答
449 浏览

tensorflow - 在 Ort:Value:CreateTensor 中将张量排序为线性数组

这看起来很基本,但由于某种原因,我找不到任何明确的文档。

所以可以说我知道我的 ONNX 模型需要一个 shape 输入[245, 245, 3]。构造函数中的第二个参数Ort::Value::CreateTensor需要一个线性数据数组来填充张量。线性阵列的顺序是什么?

例如,线性数组中的前三个值是图像中第 0 个像素的 BGR 值,还是线性数组中的前三个值是图像中前三个像素的 B 通道值?至于图像中像素的排序:行主要?

0 投票
0 回答
683 浏览

python - 如何在自定义层中将pytorch张量转换为onnx张量?

我正在尝试让 onnx 实现 pytorch 块。我用自定义转发功能制作了自定义块。

但是当我运行导出到 onnx 时,我得到一个错误,即权重张量是错误的张量。

我发现我的input张量是一个很好的onnx张量,而'conv.weight'是pytorch张量,而不是onnx张量。

如何将权重发送到 onnx _convolution操作?

UPD:也许我的出口代码有问题?

0 投票
1 回答
3837 浏览

onnxruntime - 如何在 ONNX Runtime 中实现多线程?

使用 ONNX 运行时在深度学习模型上运行推理。假设我有 4 个不同的模型,每个模型都有自己的输入图像,我可以在 4 个线程中并行运行它们吗?会有一个“环境”然后是 4 个会话(使用相同的环境)吗?

0 投票
1 回答
200 浏览

c# - ML ONNX 运行时的装配问题

我总是得到以下异常:

System.IO.FileLoadException: "Die Datei oder Assembly "Microsoft.ML.OnnxRuntime, Version=0.3.0.0, Culture=neutral, PublicKeyToken=f27f157f0a5b7bb6" oder eine Abhängigkeit davon wurde nicht gefunden. Die gefundene Manifestdefinition der Assembly stimmt nicht mit dem Assemblyverweis überein。

似乎找不到该程序集。在我的 Csproj 文件中,提示路径链接到正确的 nuget paket。我不知道我还能尝试什么。首先我对 System.Memory 4.0.1.0 有同样的问题,现在这个问题。

0 投票
2 回答
2232 浏览

c++ - 如何使用 ONNXRuntime C API 运行半浮动 ONNX 模型?

由于 C 语言没有半浮点实现,如何将数据发送到 ONNXRuntime C API?

0 投票
2 回答
1302 浏览

tensorflow - NN模型格式转换 tflite -> onnx

我想将托管模型TensorFlow-Lite 托管模型(主要是移动网络)转换为 ONNX 格式。所以我想尝试这些托管模型的量化版本并使用onnx-runtime运行它们。

将这些模型转换为onnx-runtime使用的正确程序是什么?

0 投票
1 回答
143 浏览

machine-learning - 将pytorch转换为onnx JS时出现“无法在给定的张量上使用matmul”错误

我制作了一个简单的 pytorch MLP(GAN 生成器)并使用教程(https://www.youtube.com/watch?v=Vs730jsRgO8)将其转换为 onnx,我的代码有点不同,但我无法捕捉到错误。

训练后,我将模型导出到 onnx。

这给出了以下 onnx 图表,这似乎是准确的。

然后我将代码导入javascript。

我知道输入尺寸是正确的,但 onnx 给了我以下错误。

我也知道 matmul 是 onnx 支持的运算符,但我不知道我的输入张量如何或是否正确。