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:PROCESSOR-SDK-AM69A:在配有 TIDL 的 AM69A 上部署经过自定义 iResNet101模型时遇到问题

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

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

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

工具/软件:

我已经编译并运行推理时间 IResNet101模型与 TIDL 但看起来像问题推理时间,请帮助我检查它。

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

    我有修复错误的导演,但不成功  

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

    尊敬的 Le:

    您是否尝试在 osrt_python/ort 上运行推理步骤? 如果您看到相同的问题、请告诉我。 您还能分享您创建的工件吗? 我会尝试在我的终端以及在 PC 上运行它。 较长的推理时间是由于模型完全在 ARM 上。  

    此致、

    Christina

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

    尊敬的 Christina:
    我将文件日志发送到文件夹/opt/edge-tidl-tool/model-artifact。
    请帮我检查一下。 谢谢你
    drive.google.com/.../view

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

    您好、Le

    在 PC 推理上运行时、您得到的推理时间是多少? 它是相似的吗?

    此致、

    Christina

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

    尊敬的 

    当我运行 IResnet check 推理时间当 Docker 时,它是日志。
    请帮我检查一下。 谢谢你
    drive.google.com/.../view

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

    Hi Le Tung,  

    我再次检查过、您对推理的时间为微秒[μ μs ]、而不是毫秒[毫秒](正如我在过去的 E2E 中错误地告知您的那样)道歉、因为我记得用于基准测试的模型运行时单位、而不是本例中的时间单位。  

    对我来说一切都很好。 您的目标运行时间是多久?  当模型运行到 TIDL 时、会收到一些警告、您可以对这些警告进行优化、以便在 TIDL 上更好地运行。  

    此致、

    Christina

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

    你好 ,

    当运行我们自我训练的重新网络101模型时、推理时间结果为538微秒。 但在运行 facenet 模型时、与其他模型相比、推理时间结果过于优化。

    您能给我提供这个推理时间单位的文档链接吗?

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

    尊敬的 Le:

    没有说明推理时间的单元的文档、但我能够根据查看 onnxrt_ep.py 来检查它。 大约是405行、它具有  

    total_proc_time = total_proc_time / 1000000
    sub_graphs_time = sub_graphs_time / 1000000

    这是我用来确认的。

    希望这有所帮助。

    此致、

    Christina

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

    你好 ,

    由于模型工件路径不正确、我之前在 ARM 内核上运行模型。 更新工件路径后、我现在在执行过程中遇到以下错误:
    TIDL_RT_OVX:错误:验证 TIDL 图形...失败!!!

    您能否请在您的终端重新运行模型并与我共享完整的推理日志? 让您的日志输出有助于我们更有效地诊断问题。

    提前感谢您的帮助。

    此致、
    一条道

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

    您好!  

    我在 PC 上的 OSRT 中的 advance_examples 下运行这些协议。 advanced_examples 创建一个随机数据来测试模型。 我添加了编译和推理以供您参考。 它在设备上看起来稍有不同、但请发送您的输入以及在设备上运行输入的方式(如果可能)。

    此致、
    Christina

    e2e.ti.com/.../arrow_5F00_advanced_5F00_examples_5F00_compiling.txte2e.ti.com/.../arrow_5F00_advanced_5F00_examples_5F00_inference.txt

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

    尊敬的 Christina:

    感谢您advanced_examples在 PC 上共享 OSRT—我非常感激您能同时拥有编译日志和推理日志以供参考。

    我的同事董先生和我正在研究 AM69A 评估套件。 当我执行与董先生相同的工作流程时、日志会确认模型完全在 ARM 内核上运行、如上面的屏幕截图所示。

    为了使示例适应我们的设置、我只修改了onnxrt_ep.py文件、并更新了:

    Python
    delege_options['artifactes_folder']=" "

    以便运行时可以找到allowedNode.txt文件。 但是、在调用 TIDL 提供程序后、运行会失败、表现为:

    TIDL_RT_OVX: ERROR: Verifying TIDL graph ... Failed !!!

    您能尝试advanced_examples在 AM69A 器件上运行、并分享您的日志或任何见解吗? 在诊断此 TIDL 验证失败时、您的帮助将非常宝贵。

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

    尊敬的 Christina:
    我 在下面运行 mr.an 的模型 resnet101时的附加日志

    drive.google.com/.../view

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

    尊敬的 AN 和 Le:

    您是否在 /edgeai-tidl-tools/examples/osrt_python/advanced_examples/unit_tests_validation 中的 common_utils 下设置了模型详细信息?  

    此外、您是否有正在使用的模型的输入文件? 如果您有输入文件、建议使用  /edgeai-tidl-tools/examples/osrt_python/ort

    为了获得最佳数据、因为 advanced_examples 仅用于测试兼容性目的、而不是准确性。 如果您可以发送输入文件、我可以在 AM69A 器件上对其进行测试、以检查您可能遇到问题的位置。

    此致、

    Christina  

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

    您好 Christina
    https://drive.google.com/file/d/1iBooIewlHdXRZr-0d6C2vM0slaY9TnYE/view?usp=sharing

    此链接包含输入文件。  
    谢谢、

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

    谢谢 Le、

    请给我一些时间来进行设置、并在我结束时运行

    此致、

    Christina

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

    尊敬的 Christina:

    是否有进展? 您是否需要任何支持?
    谢谢、此致。

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

    尊敬的 Le:

    目前不需要您的终端支持。 我正在设置设备、但由于带宽问题、我可能需要一些时间才能回复您。 请在下周三之前回复我的进度。  

    感谢您的耐心。

    此致、

    Christina

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

    尊敬的 Christina:

    是否有任何结果? 我期待着您的积极成果。

    谢谢、此致。

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

    尊敬的 Le:  

    我想我遇到了您提到的工件文件夹问题。 这是我收到的输出

    Available execution providers : ['TIDLExecutionProvider', 'TIDLCompilationProvider', 'CPUExecutionProvider']

    Running 1 Models - ['arrow']


    Running_Model : arrow

    [WARNING] The run might fail for transformer/convnext networks, user will have to modify the strict to set graph_optimization_level to DISABLE_ALL in session.

    libtidl_onnxrt_EP loaded 0xad959a0
    EP Error /root/onnxruntime/onnxruntime/core/providers/tidl/tidl_execution_provider.cc:94 onnxruntime::TidlExecutionProvider::TidlExecutionProvider(const onnxruntime::TidlExecutionProviderInfo&) status == true was false.
    when using ['TIDLExecutionProvider', 'CPUExecutionProvider']
    Falling back to ['CPUExecutionProvider'] and retrying.
    Completed model - resnet101.onnx


    Name : arrow , Total time : 538.19, Offload Time : 0.00 , DDR RW MBs : 0


    ERROR : artifacts_folder not a directoryroot

    在尝试以示例运行模型时、编译需要很长时间。  我仍在努力确定这种情况以及工件文件夹问题。 我可以尝试通过 TIDLRT 直接在 tidl_tools 下运行模型、因为随后将使用 TIDLExecution 而非 CPU。 如果您希望并行处理它、则可以通过 jupyter 笔记本执行该文档:

     https://github.com/TexasInstruments/edgeai-tidl-tools/blob/master/examples/jupyter_notebooks/colab/tidlrt_tools.ipynb

    我将继续向大家介绍最新进展情况。  

    此致、

    Christina

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

    您好:

    您可以尝试在电路板上进行以下更改吗?

      /run/media/BOOT-mmcblk1p1/uEnv.tx 下

    如果 name_overlays 行设置为  

    name_overles=ti/k3-j784s4-edgeai-apps.dtbo

    请将其更改为  

    name_coverles=ti/k3-j784s4-edgeai-apps.dtbo ti/k3-am68-sk-v3link-fusion.dtbo ti/k3-v3link-imx219-0.dtbo

    如果您继续在 OSRT 下运行时遇到问题、则第二种方法是使用运行这些功能。  

    请告诉我、当发生这种情况时、错误会发生什么情况。

    此致、

    Christina

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

    尊敬的 Christina:  

    按照您的说明进行修复后、错误仍然没有变化。 我尝试了 TIDLRT 器件、但出现了错误。 似乎 GitHub 页面上的文档尚未更新。 您能否向我发送您在 tidlrt 工具上测试我的 resnet101.onnx 自我训练模型的器件的详细结果?
    谢谢和 B é t warding。

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

    大家好!

    我附上了成功导入和推理所需的导入和推理文件、这些文件是我在调试会话中介绍的 resnet101模型。  这假定您已设置 edgeai-tidl-tools、并已成功运行"源设置".sh。   

    第一步是在 edgeai-tidl-tools/下制作 arrow/E2E 1491952/、并将 resnete101.onnx 模型复制到  arrow/E2E 1491952/。  然后 cd 进入 edgeai-tidl-tools/tidl_tools、将 import_resnet101_host 复制到 tidl_tools、运行 mkdir out/、并运行"./tidl_model_import.out import_resnet101"。  这将编译模型并将工件放入/中。

    一旦有了工件、就可以运行:

    tidl_tools#./PC_dsp_test_dl_algo.out s:generation_resnet101_host

    这将在 PC 上以仿真模式执行模型。

    在器件上、创建一个/opt/arrow 目录。

    从 tidl_tools/中、通过 scp -r out root@将 out 文件夹复制到/opt/arrow /opt/arrow

    然后 通过 scp intrusion_resnet101   root@将 jet.bmp 和 intrusion_resnet101复制到/opt/arrow /opt/arrow 和 CP jet.bmp  root@ /opt/arrow  

    最后、通过 SSH 连接到设备、通过 CD 连接到/opt/arrow.  然后在器件上运行:

    Root@AM69-SK:/opt/arrow ../tidl_test/TI_DEVICE_ARMv8_test_dl_algo_host_rt.out s:imgation_resnet101

    zip 文件中包含我在调试会话中使用的生成的二进制文件。   除了作为参考之外、不需要它。

    e2e.ti.com/.../inference_5F00_resnet101_5F00_hoste2e.ti.com/.../import_5F00_resnet101e2e.ti.com/.../inference_5F00_resnet101e2e.ti.com/.../device.zip

    此致、

    Chris

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

    尊敬的 Christina:  

    我已经为您逐步执行了操作、但在您重新启动之前、问题仍然存在  

    它的日志当我遵循指南为你,我尝试重新启动设备,但不更新 env ,请帮我检查它。
    drive.google.com/.../view

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

    您好、

    我怀疑 SD 卡映像有问题。  这将处理10.01的.wic 文件(位于 https://www.ti.com/tool/download/PROCESSOR-SDK-LINUX-AM69A /10.01.00.05)。  是否使用.wic 文件来创建 SD 卡?  另一个要尝试的方法是通过以下方式初始化 OpenVX 环境:

    root@ j7-evm:~# cd /opt/vision_apps
    root@ j7-evm:~# source ./vision_apps_init.sh
    root@ j7-evm:/opt/tidl_test# export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib

    Before running inference.

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

    尊敬的 Christina:

    我按照与resnet101.onnx示例中相同的过程导入定制训练的yolov8s.onnx模型。 但是、在使用导入过程中、我遇到了以下错误日志tidl_model_import.out

    [TIDL Import]警告:无法读取 Add/Mul 运算符变量输入的 DIM... 无法在节点/model.22/Slice_1 [TIDL Import]的索引-1中找到初始化器不支持:层层:无法找到浮点初始化器... [TIDL Import]致命错误:ONNX 模型导入失败...

    这是指向 YOLOv8s 模型的链接、该模型在套件上运行成功、但当前在 CPU 上运行100%。
    drive.google.com/.../view
    您能帮助我们了解这些错误的原因以及如何解决这些错误吗?


    2、要求从源代码构建进行评估:

    我注意到、您的指南通常侧重于使用预构建的可执行文件以及用于推理的输入文件。 但是、我们的目标是从源代码构建工具链、以便我们可以集成除推理时间之外的其他评估、例如精度和自定义指标。

    您能指导我们如何从源头正确构建必要的组件、从而满足这些需求吗?

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

    尊敬的 Le:

    如有新问题、请添加新的 E2E。  我们将所有 E2E 都放在一个主题上进行搜索。  听起来您可以导入 resnet101模型并进入新模型。  这很好、请关闭此主题并在新模型上开始新主题。

    我也无法打开您的日志文件。

    此致、

    Chris

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

    尊敬的 Christina:

    衷心感谢您的支持、帮助我resnet101.onnx在 AM69A 电路板上成功运行模型。

    我已经创建了一个关于 YOLOv8s 模型的新案例,请帮助我检查它。
    e2e.ti.com/.../processor-sdk-am69a-processor-sdk-am69a-issue-deploying-custom-yolov8s-model-self-trained-on-am69a-with-tidl

    谢谢和最好的摄政