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.

[参考译文] TDA4VEN-Q1:运行 Yolov8s 以进行性能基准测试

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1574822/tda4ven-q1-run-yolov8s-for-performance-benchmarking

器件型号: TDA4VEN-Q1

工具/软件:

您好:

我想在 TDA4VEN 上运行 yolov8s 模型。 目前、我有现成的预训练模型(在 COCO 数据集上)。 最初、我计划通过 run_detection_export.sh 脚本使用 edgeai-mmdetection 存储库生成 onnx 和 prototxt 文件。 然而,mmdet 在其注册表中没有 yolov8 并且需要 mmyolo。 我试图在 mmdetection 导出脚本中安装 mmyolo 并通过 mmyolo 导入 yolov8。

我在配置文件中添加的行是(从 yolov8 的 mmyolo 存储库中获得此配置文件):

custom_imports = dict (
  Imports=['mmyolo.models']
  allow_failed_imports=False)
现在、我面临的一个问题是 mmdet 和 mmyolo 的 mmcv 版本要求。 而 mmdet 需要 mmcv>=2.0、mmyolo 需要 mmcv <=2.1.0。
请建议在这里的工作是什么,此外,让我知道是否有任何其他方法,我可以运行 yolov8s 的硬件.
当前 SDK 版本:11.01.00.04
谢谢你。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Srikar、

    我已将其发送给我们的 Edgeai-mmdetection 专家进行更多评论。 YOLOV8 从何处获取、 需要对模型进行一些修改、才能在 C7xMMA 上良好运行。 此常见问题解答将在 https://github.com/TexasInstruments/edgeai-tensorlab/issues/7 上提供一些有关这方面的指导

    此致、

    Christina

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

    您好 Christina、  

    您发送的链接是使用 mmyolo 的链接。 但我现在想在 TDAVEN 板上基本上运行 Yolov8s。 我认为其程序如下:

    现在我面临的问题是发送到 RUN_Detection_export 脚本中的初始配置文件。 我发现的一种方法是通过 mmyolo、但似乎 mmyolo 与 mmdetection 不兼容。  

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

    谢谢您的澄清 Srikar。 我已经给我们的专家发了一封信来发表评论。 感谢您的耐心。  

    此致、

    Christina

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

    您好 Christina、  

    我想检查您是否对上述我的请求有任何更新。 如果您需要我的进一步信息,请告诉我  

    谢谢您、  

    Srikar。 V.

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

    您好、Srikar、  

    我们的许多工程师因节假日而外出、他们可能错过了这个机会。 我也发送了另一条消息。 我将继续监测并尽快更新。  

    此致、

    Christina

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

    本页说明了一些方面:

    github.com/.../7

    这说明了如何在 mmyolo 存储库上进行模型手术以将模型转换为 lite 模型。 然后必须训练 Lite 模型。 训练 Lite 模型后、可以将该模型导出到 ONNx、另外还将对此进行说明。  

    一旦拥有 onnx 模型、就可以使用以下命令对其进行编译和运行:

    https://github.com/TexasInstruments/edgeai-tidl-tools

    该 页面使用 TIDL 对象检测元架构以更快的速度运行、该页面非常有用: github.com/.../tidl_fsg_od_meta_arch.md

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

    您面临的 mmcv 问题是:
    >>现在,我面临的一个问题是 mmdet 和 mmyolo 的 mmcv 版本要求。 而 mmdet 需要 mmcv>=2.0、mmyolo 需要 mmcv <=2.1.0。

    当我们正要从 mmyolo 导出模型时、如中所述:

    https://github.com/TexasInstruments/edgeai-tensorlab/issues/7

    我们也面临着类似的问题。  这里描述了我们为解决这些问题而采取的步骤。

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

    您好、Manu、

    感谢响应,但我在这里的目标不是训练一个新的模型,而是现成的运行,已经训练了 Yolov8s 在 TDAVEN (J722s)。 这是为了分析 C7 内核的性能以及其他内核上的负载。  

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

    您好、Srikar、  

    您是否还使用 edgeai-tidl-tools 进行编译?   https://github.com/TexasInstruments/edgeai-tidl-tools/blob/master/README.md

    本视频将说明如何生成工件、还将介绍启用一个内核时的性能以及如何在器件上运行。 还可以使用示例配置。

    此致、
    Christina

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [报价 userid=“545556" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1574822/tda4ven-q1-run-yolov8s-for-performance-benchmarking/6068979

    您好 Christina、  

    您发送的链接是使用 mmyolo 的链接。 但我现在想在 TDAVEN 板上基本上运行 Yolov8s。 我认为其程序如下:

    现在我面临的问题是发送到 RUN_Detection_export 脚本中的初始配置文件。 我发现的一种方法是通过 mmyolo、但似乎 mmyolo 与 mmdetection 不兼容。

    [/报价]

    我现在感到困惑、因为 edgeai-tidl-tools 具有符合上述文件夹名称的运行时工具。 此外、我推断的一般流程是从 edgeai-mmdetection 中获取 onnx 和 prototxt、然后通过 SDK 的 TIDL 导入器对其进行调用、以获取二进制工件、这些工件将用于输入到运行时 Openvx 应用中。

    您能详细说明一下在我的例子中 edgeai-tidl-tools 的用途。  根据我的理解、我可以看到 edgeai-tidl-tools 专门用于根据 Onnx Runtime /tflite 运行时运行模型/优化模型。 请澄清。

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

    您好、Srikar、

    为了确保我了解您的设置、我将解释我对您的请求的理解、如果我没有遵循、请随时纠正我的错误。  

    你想在 TDA4VEN 上运行一个维护模型 Yolov8s。 根据初始消息、您尚未将模型导出为.onnx 格式、您提到您遇到了问题。 我假设您说您已完成图像中的以下步骤:

    我的同事在这里提到了如何使用 mmyolo 导出您必须采用 onnx 格式的经过训练的模型。

    [报价 userid=“46292" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1574822/tda4ven-q1-run-yolov8s-for-performance-benchmarking/6083313

    本页说明了一些方面:

    github.com/.../7

    这说明了如何在 mmyolo 存储库上进行模型手术以将模型转换为 lite 模型。 然后必须训练 Lite 模型。 训练 Lite 模型后、可以将该模型导出到 ONNx、另外还将对此进行说明。  

    [/报价]

    他还提到了 他们已经在这里给出解决办法的问题

    [报价 userid=“46292" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1574822/tda4ven-q1-run-yolov8s-for-performance-benchmarking/6083442

    当我们正要从 mmyolo 导出模型时、如中所述:

    https://github.com/TexasInstruments/edgeai-tensorlab/issues/7

    [/报价]

    他在图中提到的步骤如下:

    一旦您有了 onnx 模型(我假设您是根据您上次的响应来完成这一步)、就可以使用  edgeai-tidl-tools 来生成二进制构件、以便在硬件上与 TIDL 一起使用。 我们有 OSRT 流、但为我们的设备实现了伪影、从而在硬件上实现。 这是我们在较新 SDK 版本中为客户推荐的流程。 使用 edgeai-tidl-tools 的此步骤与图像上的这些相关:

     

    我希望这澄清了过去的信息以及我们在每次答复中所指的进程的内容。

    此致、

    Christina

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我假设您在图片中已完成以下步骤:

    我有.pth 文件、所需的配置文件是从此处的 mmyolo 存储库中获取的: mmyolo/configs/yolov8(位于主 open-mmlab/mmyolo) ·

    [引述 userid=“609657" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1574822/tda4ven-q1-run-yolov8s-for-performance-benchmarking/6085705

    我的同事在这里提到了如何使用 mmyolo 导出您必须采用 onnx 格式的经过训练的模型。

    [/报价]

    因此,所提到的 mmyolo 过程实际上是从原始 yolov8 创建一个 lite 版本模型,然后训练模型,然后将其导出到 ONNX 格式。 此外、我检查了存储库、但找不到将模型转换为 onnx 格式的脚本、也找不到如何将 onnx 模型运行为 TIDL 格式并在 j722 上运行的脚本。

    [引述 userid=“609657" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1574822/tda4ven-q1-run-yolov8s-for-performance-benchmarking/6085705

    一旦您有了 onnx 模型(我假设您是根据您上次的响应来完成这一步)、就可以使用  edgeai-tidl-tools 来生成二进制构件、以便在硬件上与 TIDL 一起使用。 我们有 OSRT 流、但为我们的设备实现了伪影、从而在硬件上实现。 这是我们在较新 SDK 版本中为客户推荐的流程。 使用 edgeai-tidl-tools 的此步骤与图像上的这些相关:

    [/报价]

    您能给我指一下这些源代码,它们完全用于将模型转换为 onnx ,然后将它们转换为 tidl 二进制文件。  

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

    您好、Srikar、

    对延迟回复您表示歉意。 在 TIDL 之外、通常可以通过带火炬的 Python 脚本执行此操作。 我建议根据您的需求进行必要的尽职调查,但这里有一些有用的指南,我从一个快速的谷歌搜索得到。  

    https://docs.pytorch.org/tutorials/beginner/onnx/export_simple_model_to_onnx_tutorial.html

    可在以下位置找到 TI 提供的一个有用工具供参考: https://github.com/TexasInstruments/edgeai-yolox/blob/main/tools/export_onnx.py

    这允许您导出 onnx 模型并使用.pth 中的检查点。

    希望这有所帮助。

    此致、

    Christina

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

    尊敬的 Christina:

    我现在有一个 Onnx 模型。 我缺少的只是一个 prototxt 文件、该文件由 TIDL 工具生成、其格式可由 tidl_import 工具理解。  

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

    您好、Srikar、

    请使用本指南了解如何通过 TIDLRT - https://github.com/TexasInstruments/edgeai-tidl-tools/blob/master/docs/tidl_quantParams.md 创建原型文件

    我们的 Model Zoo 中还有一个也可以使用的工具: https://github.com/TexasInstruments/edgeai-tidl-tools/blob/master/examples/models/prototxt/yolo/yolov8_small_lite_640x640_20231117_model.prototxt

    此致、

    Christina