This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] SK-AM62A-LP:如何在 CPP 中的加速器上运行经过预先训练的定制深度学习模型? (端到端流水线)

Guru**** 2558250 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1556588/sk-am62a-lp-how-to-run-pre-trained-custom-deep-learning-model-on-accelerator-in-cpp-end-to-end-pipeline

器件型号:SK-AM62A-LP


工具/软件:

您好:

我正在使用 TI AM62A 电路板、并希望运行我的 预先训练的定制深度学习模型 (转换为 ONNX/TIDL 格式)的加速器使用 C++

我知道了基于 Python 的示例(EdgeAI-TIDL 工具、SDK 演示)、但我的要求是一个 C++端到端流水线 我可以:

  1. 从 USB/MIPI 摄像头捕获输入帧。

  2. 对加速器进行推理。

  3. 执行极少的后处理。

  4. 在 HDMI 显示屏上呈现输出。

请您指导我:

  • 在 C++中集成自定义 ONNX 模型的推荐方法是什么?

  • 是否有可以构建的示例应用或参考流水线(除 Python 演示之外)?

  • 如何设置 推理节点 使用自定义模型的 C++中?

  • 的任何分步文档或示例 端到端 C++流水线 (摄像头→推理→显示)?

  • 还请建议在这个使用案例中哪个框架更好地实现推理性能和灵活性:edgeai_gst_appOpTIFlow、或TIOVX

这将帮助我加快无法选择 Python 的项目的开发速度。

提前感谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Aniket:  

    请参阅 edgeai-gst-apps 的 CPP 侧 — 我认为这涵盖了您所述的大多数需求。 OptiFlow 是一个类似的选项、因为应用程序的所有组件实际上都是 gstreamer 插件中的 C 代码、并参考了底层的 TIOVX 应用。

    在 C++中集成自定义 ONNX 模型的推荐方法是什么?

    有关相关信息、请参阅 edgeai-tidl-tools/examples/osrt_cpp。 很少有使用 ONNX Runtime 的示例。 首先需要编译模型--请使用同一个存储库中的 osrt_python 示例进行此操作。 此库中有一组用于定制模型评估的文档、用于描述步骤和设置过程。  

    [引用 userid=“667906" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1556588/sk-am62a-lp-how-to-run-pre-trained-custom-deep-learning-model-on-accelerator-in-cpp-end-to-end-pipeline
    • 还请建议在这个使用案例中哪个框架更好地实现推理性能和灵活性:edgeai_gst_appOpTIFlow、或TIOVX

    [/报价]

    TIOVX 性能最高、但可能灵活性最低。 GStreamer 的灵活性会更强、但性能会略有下降(差值为几%)。  

    BR、
    Reese