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

pytorch - 无法将 Pytorch 模型导出到 ONNX

我正在尝试将经过训练的模型以 .pt 格式导出到 ONNX,但是在执行脚本后,程序输出一堆日志记录内容,如下图所示,并且转换后的 onnx 格式似乎没有出现在我的本地磁盘中我没有知道我在这里做错了什么吗?

在此处输入图像描述

0 投票
1 回答
41 浏览

pytorch - 来自 PyTorch 模型的 ONNX 对象,无需导出

是否可以在不导出的情况下将 PyTorch 模型转换为 ONNX,并在脚本中直接将其用作 ONNX 对象。

0 投票
1 回答
271 浏览

python - Onnxruntime 错误 9:LeakyRelu 未实现

我已将一个简单的 pytorch 模型转换为 onnx 格式,但未能尝试通过 onnxruntime 在单独的文件中加载和评估模型。它给出了错误消息:

但是文档清楚地列出了leakyrelu 运算符:https ://github.com/microsoft/onnxruntime/blob/master/docs/OperatorKernels.md

转换脚本非常简单。

加载转换模型的脚本也很简单,

打印出来的图是

我想知道是否已经实现了leakyrelu,或者我只是在转换中错过了一些东西。感谢您的帮助!

0 投票
0 回答
104 浏览

tensorflow - onnx.onnx_cpp2py_export.checker.ValidationError: No Op 为 _DCNv2 注册,domain_version 为 9

pytorch:1.4.0 ONNX:1.9.0 python:3.6

在 PyTorch 模型上工作以使用 ONNX 转换张量流,但我收到此错误,请帮助解决。

0 投票
1 回答
817 浏览

c++ - 在 C++ 中使用 ONNX 推断 tensorflow 训练的模型?

我正在尝试重新创建此视频中完成的工作,CppDay20Interoperable AI: ONNX & ONNXRuntime in C++ (M. Arena, M.Verasani)。演示代码的 github 存储库在这里 。到目前为止,我已经使用 TensorFlow 训练了一个回归模型并已转换为 ONNX 以在 C++ 中进行推理。但是创建的 ONNX 运行时会话无法读取我模型的输入形状;输入形状返回值 -1。

输出 :

有什么建议可以使推理代码起作用吗?

0 投票
1 回答
407 浏览

c# - 如何更改 ONNX 结果 = Object {Microsoft.ML.OnnxRuntime.Tensors.DenseTensor} 到某事?

你好!

我对 Microsoft ML ONNX 很陌生。

使用“Visual Studio 2019”、“Windows Forms App”和“.NET framework(C# 7.3 ver)”制作 GUI

我使用 python sklearn 制作简单的 KNN,然后导出为 ONNX 形式。

MS VS Forms 通过串行通信从 DSP 接收 Sensor 数据,然后程序使用传感器数据为 ONNX InferenceSession 制作输入张量(1*3 浮点密集张量)。

我的 ONNX 预测代码如下所示。

在调试状态下,我可以发现“result.ToList()[0]”是 output_label。所以我尝试使用'result.ToList()[0]'的值,但我不能把它变成任何不同的形状。

Visual Studio 调试值的图像

我尝试张量形式、列表形式、字典形式,但它们返回“null”。当我使用 .ToString() 它返回 'Microsoft.ML.OnnxRuntime.Tensors.DenseTensor'

有谁知道如何将“Object {Microsoft.ML.OnnxRuntime.Tensors.DenseTensor}”的值转换为字符串或整数?

对象内部 {Microsoft.ML.OnnxRuntime.Tensors.DenseTensor}

0 投票
1 回答
853 浏览

c# - 从 opencv mat/Array 到 OnnxRuntime 张量的转换优化?

我正在使用 ONNXRuntime 来推断 UNet 模型,作为预处理的一部分,我必须将 EMGU OpenCV 矩阵转换为 OnnxRuntime.Tensor。

我使用两个嵌套的 for 循环来实现它,不幸的是这很慢:

然后我发现存在一种将 Array 转换为 DenseTensor 的方法。我想按如下方式使用此方法:

这将大大提高性能,但是输出张量的布局不正确(与 for 循环相同)并且模型显然无法工作。任何建议如何将阵列重塑为正确的布局?

在代码中还执行将 int 0-255 转换为 float 0-1 并将 BGR 布局转换为 RGB 布局。

0 投票
1 回答
264 浏览

python - tf2onnx Tensorflow 到 Onnx 输出不一致

我正在尝试创建一个超级简单的 Tensorflow 网络(一个数据处理 Lambda 层),然后将模型转换为 ONNX,并在从 onnxruntime 调用 ONNX 模型时验证结果是否匹配。我正在使用 Tensorflow v2.5.0。& onnxruntime v1.8.1。

型号定义:

然后我可以将我的 example_input2 输入网络:

它提供了所需的输出(只需 tf.roll 操作):

伟大的!现在我可以保存我的 tensorflow 模型,

然后在 shell 中,我可以使用 tf2onnx 将其转换为 ONNX 格式:

然后,回到 python,我可以加载 onnx 模型并尝试输入相同的输入:

它提供与输入匹配的输出,而不是所需的输出(应该是 tf.roll'd by -1):

model.predict当我从原始 keras 模型上的 python 中调用时,我完全不知道为什么这里的输出不匹配。有任何想法吗?

0 投票
1 回答
672 浏览

memory-leaks - 在 GPU 上使用 onnxruntime 时的内存泄漏(CPU 的 RAM)

我正在使用 Pypi 的 Insightface 库(https://pypi.org/project/insightface/),源代码在这里:https://github.com/deepinsight/insightface/blob/master/python-package/洞察脸/model_zoo/scrfd.py

当我在我的 GPU 上运行它时,CPU 的 RAM 出现严重的内存泄漏,超过 40 GB,直到我停止它(不是 GPU 内存)。

这是我的脚本:

我的设置是(在docker内部):

  • Docker 基础镜像 - nvidia/cuda:11.0.3-cudnn8-devel-ubuntu18.04
  • 英伟达驱动程序 - 465.27
  • 蟒蛇 - 3.6.9
  • 洞察面==0.3.8
  • mxnet==1.8.0.post0
  • mxnet-cu110==2.0.0a0
  • numpy==1.18.5
  • onnx==1.9.0
  • onnxruntime-gpu==1.8.1
0 投票
1 回答
596 浏览

tensorflow - ONNX 转换的 TensorFlow 保存模型在 CPU 上运行,但不在 GPU 上

我使用 tf2onnx 将 tensorflow 保存的模型转换为 ONNX 格式:

转换工作正常,我可以使用 CPU 对 ONNX 模型进行推理。

我安装onnxruntime-gpu以使用 GPU 运行推理并遇到错误:

我是唯一一个使用 Titan RTX(24GB RAM)的 GPU。该模型使用其 tensorflow 保存的模型版本在 GPU 上运行良好,具有 10GB 的 GPU 内存。

版本是:

  • 张量流 1.14.0
  • CUDA 10.0
  • CuDNN 7.6.5
  • onnx 1.6.0
  • onnxruntime 1.1.0
  • tf2onnx 1.9.2
  • 蟒蛇3.6
  • Ubuntu 18.04