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

azureml - 无法从 Customvision 的 ONNX 模型中获得正确的预测

我正在评估 customvision.ai 以训练图像分类模型,然后将该模型下载为 onnx 文件,该文件将在 .Net Windows 窗体应用程序中使用。

我创建了一个新项目,上传了几张图片,标记了它们,并能够从 Customvision.ai 中的模型中获取预测。模型的准确性是可以接受的。CustomVision 允许您将模型下载为可以部署在跨平台应用程序中的 ONNX 文件。就我而言,我计划在 Windows 窗体应用程序中部署和使用模型。

当我将模型下载为 onnx 时,我收到一个包含 .onnx 文件和其他一些文件的 zip 文件。

其中一个文件是 Metadata_properties.json,它具有以下内容:

我从这个文件中了解到的是,将提供给模型进行推理的最终张量需要拉伸调整为 300x300,在 0 和 1 之间进行归一化,平均值设置为零,标准偏差设置为 1。为了使用这个我的代码中的模型,这是我从各种在线资源中汇总的内容:

现在有什么问题?

我没有看到任何错误,无论我使用什么图像进行推理,我都会得到相同的结果。

问题

  1. 我应该以不同的方式构造张量吗?我不确定这是否与张量的结构方式有关。
  2. Github 上 CustomVision 页面的最后一次更新是几年前,CustomVision 是否推荐用于 2021 年的生产用途?我应该寻找其他东西吗?这个想法是能够使用低/零代码方法构建/训练高质量的图像分类模型,然后将模型部署到本地计算机上以用于低延迟应用程序。

在这方面的任何帮助将不胜感激

0 投票
0 回答
50 浏览

deep-learning - 带有for循环的AttentionBlock导出大图?

有没有办法处理包括循环的注意力解码器块?实施在此Colab Link上

问题

我希望导出一个包含解码循环的注意力块。由于这个问题,LSTMCell 似乎无法导出到 ONNX 。所以我使用 LSTM 工作,如 LSTMCell,采用单时间步进行推理。我该如何处理这种模型?这是pytorch中onnx导出功能的问题吗?

如果我使用 use_external_data_format=True 选项导出,它不会保存到单个文件,而是很多单独的文件。

我在ONNX github 问题中打开了一个问题并在 stackoverflow 中询问,因为我不确定它是错误/功能问题还是问题。

笔记

似乎以下导出非常大的图形的实现无法导出到 ONNX 并显示以下错误。

0 投票
1 回答
65 浏览

c# - ONNX C#:如何读取这个对象并提取概率值?

我保存了一个 ONNX 转换的预训练 RFC 模型,我正在尝试在我的 API 中使用它。我可以调用保存的模型并进行预测,但是我无法获得预测值。响应非常复杂,我似乎无法弄清楚。这是调试模式下的预测值形状: 在此处输入图像描述

这是在python中,我试图获得第二个值:

在此处输入图像描述

这是我迄今为止尝试过的,但我只得到字符串值。

0 投票
0 回答
66 浏览

scikit-learn - Scikit-Learn 喜欢用于生产的模型吗?

我目前使用sktime(类似 scikit 的库)拟合了一个模型,它提供了转储和加载腌制模型的接口。但是,如果我适合x86(64 位操作系统)并在树莓派零(即armv6(32 位操作系统))上运行推理,则在同一测试集上的预测完全不同。深入研究这个问题,我发现我们必须以 PMML 或 ONNX 格式导出,然后使用它进行跨架构操作的推断。问题是 PMML 受到限制并且不支持 sktime 函数,并且 ONNX 运行时推理目前在树莓派零 w (armv6) 上被破坏。我有哪些选择?

0 投票
0 回答
192 浏览

python - 在实时人脸识别应用程序中推断和比较人脸时间

我可以使用 Python insightface 包和 onnx 预训练模型实时进行人脸识别。(https://github.com/deepinsight/insightface/tree/master/python-package)如果你能帮助我,我真的面临很多问题和挑战。我使用以下代码为 1000 个特征提取的人脸识别人脸:

在这里,我使用不同的图像进行识别,每张图像都有不同数量的面孔。例如,一张图像有一张脸,另一张图像有 6 张脸,另一张有 15 张脸。在测试了不同的图像后,我想出了以下输出:

图片 1(1 人脸)>>> 提取编码所用时间:0.019 秒,在 1000 个数据中比较人脸所用时间:0.009 秒图片 2(6 人脸)>>> 提取编码所用时间:0.057 秒,所用时间比较 1000 个数据中的人脸:0.05 秒图片 2(15 个人脸)>>> 提取编码的经过时间:0.19 秒,比较 1000 个数据中的人脸经过的时间:0.22 秒

考虑到使用具有至少 20,000 个面部的多个摄像头进行实时检测以进行比较,这对我的目的根本没有用。我怎样才能减少这个时间?我在做正确的事吗?预先感谢您的回复

0 投票
1 回答
167 浏览

pytorch - 如何在使用 ONNX 推理会话时通过传递“标签”来获得语言建模损失?

使用 GPT2 时,我们可以简单地传递 'labels' 参数来获得损失,如下所示:

但是,无法找出如何在 ONNX 推理会话中获得相同的损失。我正在使用下面的代码,它只返回“last_hidden_​​state”:

0 投票
1 回答
1097 浏览

pytorch - 使用 ONNXRuntime 加载 ONNX 模型时出错

我正在将定制的 Pytorch 模型转换为 ONNX。但是,在使用 ONNXRuntime 加载它时,我遇到了如下错误:

我已经检查过了onnx.checker.check_model(),完全没问题。我也尝试过在函数中替换transpose()permute()forward()错误仍然存​​在。

有人熟悉这个错误吗?

环境:

0 投票
0 回答
86 浏览

nuget - How install Nuget Microsoft.ML.OnnxRuntime.Gpu for ONNX Runtime in Ubuntu 18?

I'm trying to use ONNX runtime for Ubuntu: https://onnxruntime.ai/

I selected Linux, C++, x64, then CUDA. It says "Install Nuget package Microsoft.ML.OnnxRuntime.Gpu Refer to docs for requirements."

When I click on "Microsoft.ML.OnnxRuntime.Gpu", I'm taken to https://www.nuget.org/packages/Microsoft.ML.OnnxRuntime.Gpu

There, it just says "Install-Package Microsoft.ML.OnnxRuntime.Gpu -Version 1.8.1". Now what am I supposed to do?

0 投票
0 回答
112 浏览

nvidia - 这个版本的 TensorRT 只支持外二维上的 padding

我正在尝试将 onnx AI 模型文件转换为 nvidia tensorrt 文件。硬件:NVIDIA xavier AGX。tensorrt 版本和硬件信息:

NVIDIA Jetson AGX Xavier [16GB]

  • 喷气背包 4.5.1 [L4T 32.5.1]
  • NV 电源模式:MAXN - 类型:0
  • jetson_stats.service:活跃
  • 图书馆:
    • CUDA:10.2.89
    • cuDNN:8.0.0.180
    • 张量RT:7.1.3.0
    • Visionworks:1.6.0.501
    • OpenCV:3.4.15-dev 编译 CUDA:否
    • VPI:ii libnvvpi1 1.0.15 arm64 NVIDIA 视觉编程接口库
    • 伏尔甘:1.2.70

但是,当我运行代码时

我收到以下错误:

从 onnx 文件构建 fp32 TensorRT 引擎...
开始 ONNX 文件解析
[TensorRT] 警告:onnx2trt_utils.cpp:220:您的 ONNX 模型已使用 INT64 权重生成,而 TensorRT 本身不支持 INT64。试图降低到 INT32。
解析 onnx 文件发现 1 个错误。

Onnx 模型文件: Conv pads: 1, 1, 2, 2。

有谁知道如何修理它?

0 投票
1 回答
91 浏览

pytorch - ONNX 模型推理对相同的输入产生不同的结果

我正在使用一个相同的输入来测试多个推理调用的 ONNX 模型,但每次都会产生不同的结果?

有关详细信息,请参阅下面的 Colab 脚本。

https://colab.research.google.com/drive/1cBd0MkQ804FXjWtOME1EB1-UiTXe1elp#scrollTo=bRLuTOjO2YQU