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.

[参考译文] PROCESSOR-SDK-AM69A:在具有 TIDL 的 AM69A 上部署自定义 iResNet101_Ada 模型时出现问题

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1491953/processor-sdk-am69a-issue-deploying-custom-iresnet101_ada-model-on-am69a-with-tidl

器件型号:PROCESSOR-SDK-AM69A
主题中讨论的其他器件:AM69A

工具/软件:

尊敬的专家:

请检查以下链接中的问题并建议如何解决。

在使用 TIDL 的 AM69A 上部署自定义 iResNet101_Ada 模型时遇到·问题#101·TexasInstruments/edgeai-tidl-tools

谢谢你。

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

    您好、Hieu、

    请将所有 E2E 问题保留在 E2E 上。  我们不跟踪 GitHub 问题。

    此致、

    Chris

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

    好的、Chris、  

    我目前正在努力使用 TensorFlow Lite 和 TIDL 在 AM69A 平台上部署一个自定义的 iresnet101_ada 模型。 我使用预编译的模型成功运行了提供的推理示例、但在使用自己的模型时遇到了问题。

    问题摘要:
    来自我的自定义 iresnet101_ada 模型的编译工件包含两个子图、不会生成 allowedNode.txt 文件。

    使用 test_tflite.py 运行推理时、我收到以下错误消息:

    VX_ZONE_ERROR: [ownNodeKernelInit:604] Target kernel, TIVX_CMD_NODE_CREATE failed for node TIDLNode VX_ZONE_ERROR: [ownNodeKernelInit:606] If the target callbacks have been registered, please ensure no errors are occurring within the create callback of this kernel VX_ZONE_ERROR: [ownGraphNodeKernelInit:690] kernel init for node 0, kernel com.ti.tidl:1:1 ... failed !!! VX_ZONE_ERROR: [ TIDL subgraph Identity ] Graph verify failed TIDL_RT_OVX: ERROR: Verify OpenVX graph failed

    系统日志表明已在354个节点中委派354个节点、这表明模型已完全卸载到 TIDL。

    问题:
    子图问题:为什么我的模型生成两个子图而不是一个子图? 是否有办法在 TIDL 编译中强制使用单个子图?
    缺少 allowedNode.txt:编译过程不会生成 allowedNode.txt。 这是否表明模型分区或不受支持的图层存在问题?
    图形初始化失败:日志提到节点 TIDLNode 的 TIVX_CMD_NODE_CREATE 失败。 如何进一步调试? iresnet101_ada 等模型是否需要特定的 TIDL 设置?
    建议的调试步骤:我应该遵循哪些步骤来正确验证和调试该模型的 TIDL 编译和推理流水线?
    其他信息:
    我使用了 TensorFlow Lite 的标准 TIDL 编译流程。
    原始模型是经过修改的 iResNet101架构、针对112x112输入图像进行了训练。
    我感谢您在解决这些问题方面提供的任何指导。

    链接头文件: TI 问题- Google Drive

    谢谢你。

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

    您好、Hieu、

    您使用的是哪个版本的 TIDL?

    子图形问题:每次在 ARM 核心上处理节点时、都会创建一个新的子节点。  请检查任何不受支持的图层。

    图初始化失败:这可能是许多事情。  请尝试简单的标准 ONNX 模型(如 resnet18或您知道运行的任何模型)并查看 其是否运行。  我已经在 SD 卡损坏时看到了这一点。  这是为了测试您的 env 是否良好。

    建议的调试步骤: https://github.com/TexasInstruments/edgeai-tidl-tools/blob/master/docs/tidl_osr_debug.md。 更具体地说、我建议在 osrt_python 下运行您的模型。   这是成功的最快途径。

    尝试:首先在 examples/osrt_python/ort 中。  您需要 先在 model_config.py 中的 osrt_python/中添加模型。 然后运行 python3 ./onxxrt_ep.py -d -m 模型

    就会得到一个常数错误。 然后在 examples/osrt_python/advanced_examples/unit_tests_validation/ort 中尝试相同的操作、这将生成大小正确的随机输入张量。

    Chris

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

    您好、Chris、

    我正在使用 TIDL 版本 10_01_04_00

    我已使用命令 python3 tflrt_delegate.py 测试了运行模型、如下图所示、并已成功执行。

    检查后、我发现编译时就是该层 model_102/model.pcompat.v1.transpose_49/transposal tf 不支持。 因此,我将它添加到 deny_list:layer_type 以防止此层在上运行 C7x-MMA 。 但是、错误仍然存在。

    您能看一下 graphvizInfo.txt 文件在下面?

    谢谢!

    e2e.ti.com/.../6404.graphvizInfo.txt

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

    您好、Hieu、

    您正在显示的屏幕截图是开箱即用模型的运行、而不是您的模型。  您能否向我发送您的模型、配置文件和命令行以了解如何运行它? 我会查看的。

    此致、
    Chris

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

    您好、Chris、

    请在以下链接上查看型号:

    yolov8s_human_detect_9out.onnx - Google 云端硬盘

    谢谢你

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

    你有什么意见吗?

    谢谢

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

    您好、Hieu、

    我已被分配来查看您的模型、我想确认您已实施兼容性表的注释部分中提到的额外 c7x 固件补丁。  https://github.com/TexasInstruments/edgeai-tidl-tools/blob/master/docs/version_compatibility_table.md

    我会添加我遇到的任何问题或说明。

    此致、

    Christina

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

    您好、Hieu、  

    很抱歉、之前忘记包含此内容、但我还需要有关 配置文件和命令行的详细信息、如 Chris 所述。  

    此外、TI 将于明天(星期五)度假。 请注意、任何回复将延迟至周一上午的 CST。

    谢谢您、

    Christina

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

    尊敬的 Christina:

    我使用了最新版本 10_01_04_00 和模型已使用c7x_firmware_version兼容性表注中所示的相应编译选项进行编译。

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

    您好!

    感谢您提供的信息。 在这种情况下、 如果可能、我仍然需要配置文件和有关如何运行的命令行、以便进一步调查。  

    此致、

    Christina

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

    尊敬的 Christina:

    您能帮助详细说明所需的配置文件和命令行吗? 客户可以从哪里获得要发送给您的信息? 索里1我们不知道这一点。

    谢谢你

    此致、

    挂起

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

    尊敬的 Hung:

    只有命令行的编译日志才会工作。 对于配置文件、在 osrt_python 目录下的 model_configs 中、有我们要请求的配置。  

    另外、他们可以在 advanced_examples 下尝试这一点吗? 这可以通过相同的路径找到、但从 osrt_python 转到 advanced_examples -> unit_tests_validation 。 同样的情况,但我已经看到这运行更好. 他们是否也可以在 Docker 环境中尝试、以便不存在依赖关系?

    此致、

    Christina

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

    您好、Chris、

    请在以下链接中检查您的申请文件:

    TI - Google Drive

    谢谢。

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

    您好、Hieu、

    感谢您的分享。 我将进一步调查并查看是否可以重新创建您的问题。 我会随时向您更新我可能遇到的任何更新或问题。

    此致、
    Christina

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

    您好、Hieu、

    在 advanced_examples 下、我能够运行您的模型、而不会出现任何挂起或错误。 我附上了我生成的工件、其中包括1个子图以及运行推理时收到的输出。

     e2e.ti.com/.../arrow_5F00_model_5F00_results.zip

    有关如何运行自定义模型的文档、请参阅此链接、该链接将详细说明:github.com/.../README.md

    我还将列出我采取的步骤、因为您使用的方法缺少一些正确运行模型的步骤。 在 OSRT 上运行时、您可以使用两个流程、具体取决于您所使用的模型类型(TfLite 与 ONNX)。 在这种情况下、您将使用 ONNX、因此您将使用的流程也属于 ONNX (在 TIDL 下针对 Onnx Runtime 也标记为 ORT)

    第一步是确保 OSRT 可以为您的模型找到并正确生成伪影。

    我用于此目的的位置和命令如下所示。 我是在 edgeai-tidl-tools 的 Docker 下完成的。 您也可以仅在"examples"下运行、不使用 advanced_examples、但我发现 advanced_examples 更易于使用。  

    - cd home/root/examples/osrt_python/advanced_examples/unit_tests_validation

    - vi common_utils.py

    -在第94行周围,您将看到 models_configs 和##onnx 下的一些示例模型。 我在此处为您的模型添加了一个配置、并更改了 model_path 以反映我保留您的模型的位置。

      "箭头":{
    'model_path':os.path.join ('../../../../../models/Arrow '、'resnet101.onnx')、
    'source':{model_url':'mmummy','opt': true},# URL 不相关,如果模型存在于指定的路径中
    'num_images':numImages,
    'TASK_TYPE':'CLASS'
    }、

    -按照自述文件中的说明创建 onnx 模型所需的目录。

    对于 onnx 模型、mkdir outputs/output_ref/onnx
    对于 onnx 模型、mkdir outputs/output_test/onnx

    - CD ort/

    - vi onnxrt_ep.py

    -255行周围,你会看到"models =[默认模型名称]。 更改名称、使其成为模型的名称。 在我的情况下,它是  

    模型=['arrow']

    -要编译您的工件,请运行 python3 ./ onnxrt_ep.py -c  

    -要运行推理,请运行 python3 ./ onnxrt_ep.py

    -模型工件可以在之前的 unit_tests_validation 目录中找到,该目录将生成您编译的工件。  

    -对于输出,outputs/output_test/onnx  目录,您从自述文件中创建的将有输出文件。

    如果您有任何问题或对我分享的任何说明感到困惑、请告诉我。 如果我错过了主要问题、请告诉我。

    此致、

    Christina

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

    你好  我有嵌入工程师在 CMC 公司,我已经完成了完整的 resnet101.onnx 在开发套件 AM69A 上,总时间:  526.52  
    1、 总时间是多少?
    2. 如何在 AM69A 上检查时间推理测试 ResNet 101?

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

    尊敬的 Le:

    1.总时间应以毫秒为单位[ms]。 校正:实际时间以微秒为单位。  

    2.为了检查电路板上的推理时间,您可以使用 TIDL 工具为您提供运行时的总推理时间(完成后打印),以及层细节。

    如果您有任何其他新问题、请创建新的 E2E 主题。 我们希望在新的 E2E 上保留新问题、以便其他人更容易参考。

    此致、

    Christina

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

    你好  Christina Kuruvilla ,

    我测试了我们自己训练的 Resnet101模型,发现526ms 的推理时间太高。 您对此有何看法?

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

    尊敬的 Le:

    请为此创建一个新的 E2E 帖子、因为这是一个与此线程的问题不同的问题、该问题与导致缺少 allowedNode.txt 的编译相关。  

    我们将每个 E2E 限制为一个主题、因此关于推理时间的这个新问题值得一来。 这是针对我们自己的组织、因此有类似问题的其他人可以快速参考答案。

    如果我已经回答了原始问题、并且问题已解决、我们可以关闭此主题并转到新主题。  

    此致、

    Christina

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

    你好  ,  

    我已创建 与上述问题相关的新案例、请帮助我检查它、
    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1510477/processor-sdk-am69a-processor-sdk-am69a-issue-deploying-custom-iresnet101-model-self-trained-on-am69a-with-tidl

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

    谢谢 Le、

    我将关闭此主题并继续就链接的新主题进行讨论。

    谢谢您、

    Christina