问题标签 [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.
azureml - 无法从 Customvision 的 ONNX 模型中获得正确的预测
我正在评估 customvision.ai 以训练图像分类模型,然后将该模型下载为 onnx 文件,该文件将在 .Net Windows 窗体应用程序中使用。
我创建了一个新项目,上传了几张图片,标记了它们,并能够从 Customvision.ai 中的模型中获取预测。模型的准确性是可以接受的。CustomVision 允许您将模型下载为可以部署在跨平台应用程序中的 ONNX 文件。就我而言,我计划在 Windows 窗体应用程序中部署和使用模型。
当我将模型下载为 onnx 时,我收到一个包含 .onnx 文件和其他一些文件的 zip 文件。
其中一个文件是 Metadata_properties.json,它具有以下内容:
我从这个文件中了解到的是,将提供给模型进行推理的最终张量需要拉伸调整为 300x300,在 0 和 1 之间进行归一化,平均值设置为零,标准偏差设置为 1。为了使用这个我的代码中的模型,这是我从各种在线资源中汇总的内容:
现在有什么问题?
我没有看到任何错误,无论我使用什么图像进行推理,我都会得到相同的结果。
问题
- 我应该以不同的方式构造张量吗?我不确定这是否与张量的结构方式有关。
- Github 上 CustomVision 页面的最后一次更新是几年前,CustomVision 是否推荐用于 2021 年的生产用途?我应该寻找其他东西吗?这个想法是能够使用低/零代码方法构建/训练高质量的图像分类模型,然后将模型部署到本地计算机上以用于低延迟应用程序。
在这方面的任何帮助将不胜感激
deep-learning - 带有for循环的AttentionBlock导出大图?
有没有办法处理包括循环的注意力解码器块?实施在此Colab Link上
问题
我希望导出一个包含解码循环的注意力块。由于这个问题,LSTMCell 似乎无法导出到 ONNX 。所以我使用 LSTM 工作,如 LSTMCell,采用单时间步进行推理。我该如何处理这种模型?这是pytorch中onnx导出功能的问题吗?
如果我使用 use_external_data_format=True 选项导出,它不会保存到单个文件,而是很多单独的文件。
我在ONNX github 问题中打开了一个问题并在 stackoverflow 中询问,因为我不确定它是错误/功能问题还是问题。
笔记
似乎以下导出非常大的图形的实现无法导出到 ONNX 并显示以下错误。
scikit-learn - Scikit-Learn 喜欢用于生产的模型吗?
我目前使用sktime(类似 scikit 的库)拟合了一个模型,它提供了转储和加载腌制模型的接口。但是,如果我适合x86(64 位操作系统)并在树莓派零(即armv6(32 位操作系统))上运行推理,则在同一测试集上的预测完全不同。深入研究这个问题,我发现我们必须以 PMML 或 ONNX 格式导出,然后使用它进行跨架构操作的推断。问题是 PMML 受到限制并且不支持 sktime 函数,并且 ONNX 运行时推理目前在树莓派零 w (armv6) 上被破坏。我有哪些选择?
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 个面部的多个摄像头进行实时检测以进行比较,这对我的目的根本没有用。我怎样才能减少这个时间?我在做正确的事吗?预先感谢您的回复
pytorch - 如何在使用 ONNX 推理会话时通过传递“标签”来获得语言建模损失?
使用 GPT2 时,我们可以简单地传递 'labels' 参数来获得损失,如下所示:
但是,无法找出如何在 ONNX 推理会话中获得相同的损失。我正在使用下面的代码,它只返回“last_hidden_state”:
pytorch - 使用 ONNXRuntime 加载 ONNX 模型时出错
我正在将定制的 Pytorch 模型转换为 ONNX。但是,在使用 ONNXRuntime 加载它时,我遇到了如下错误:
我已经检查过了onnx.checker.check_model()
,完全没问题。我也尝试过在函数中替换transpose()
,permute()
但forward()
错误仍然存在。
有人熟悉这个错误吗?
环境:
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?
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。
有谁知道如何修理它?
pytorch - ONNX 模型推理对相同的输入产生不同的结果
我正在使用一个相同的输入来测试多个推理调用的 ONNX 模型,但每次都会产生不同的结果?
有关详细信息,请参阅下面的 Colab 脚本。
https://colab.research.google.com/drive/1cBd0MkQ804FXjWtOME1EB1-UiTXe1elp#scrollTo=bRLuTOjO2YQU