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.

[参考译文] AM62P:无法在 Docker Building 上导出清单和配置

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1519375/am62p-fail-to-export-manifest-and-config-on-docker-building

部件号:AM62P
主题中讨论的其他器件:AM67A、、 TDA4VM

工具/软件:

您好、

我正在按照以下链接中的说明设置 SOC AM62A 的 Docker 环境。  

https://github.com/TexasInstruments/edgeai-tidl-tools (版本: 10_01_04_00)

当我运行 Build Docker 脚本(source ./scripts/docker/build_docker.sh)、构建已完成、但从构建日志中显示 Docker 映像能够生成和导出、但无法导出 清单和配置文件。 这会导致后续步骤失败。 附加了我的 Docker 构建日志。  

TIDL_TOOLS_TYPE 未设置、默认为 CPU 工具
未指定 repo_location、使用默认值
使用代理:无
[+] Building 257.4s (13/13) finished Docker:default
=>[内部]从 Dockerfile 0.1s 加载构建定义
=>=>=>=>=>转移 dockerfile: 2.08kB 0.0s
=>[内部]加载 Docker.IO/library/Ubuntu:22.04 2.9s 的元数据
=>[内部]加载.dockerignore 0.2s
=>=>=>=>=>传输上下文:2B 0.2s
=>[1/8] from Docker.IO/library/Ubuntu:22.04@SHA256:67cadaff1dca187079fce41360d5a7eb6f7dcd3745e53c79ad5efd8563118240 1.6s
=>=>=>解决 Docker.io/library/Ubuntu:22.04@SHA256:67cadaff1dca187079fce41360d5a7eb6f7dcd3745e53c79ad5efd8563118240 0.0s
=>=>=>=>=> SHA256:67cadaff1dca187079fce41360d5a7eb6f7dcd3745e53c79ad5efd8563118240 6.69kB/6.69kB 0.0s
=>=>=>=>=> SHA256:899ec23064539c814a4dbbf98d4baf0e384e4394ebc8638bea7bbe4cb8ef4e12 424B/424B 0.0s
=>=>=>=>=> SHA256:c42dedf797ba5e7e37e744cdd998e1db046375c702d6dc8a822b422189b019bb 2.30kB / 2.30kB 0.0s
=>=>=>=>=> SHA256:215ed5a6384309375291c48a01872859a8dbf1331e54ba0af221918eb8ce2e 29.53MB / 29.53MB 0.8s
=>=>=>=>提取 SHA256:215ed5a6384309375291c48a01872859a8dbf1331e54ba0af221918eb8ce2e 0.7s
=>[内部]加载构建上下文0.4s
=>=>=>=>=>转移上下文:286B 0.4s
=>[2/8]运行 bash -c 'if [${proxy}!= none ];然后回显"acquire::http::proxy \"${proxy}\";">/etc/apt/apt.conf;fi' 0.4s
=>[3/8]运行 apt-get 更新6.7s
=>[4/8]运行 apt-get install -y python3 python3-pip python3-setuptools 21.5s
=>[5/8]运行 bash -c 'if [${proxy}!= none ];然后导出 ftp_proxy=${proxy};导出 http_pr 50.9s
=>[6/8]复制 requirements_pc.txt / requirements_pc.txt 0.0s
=>[7/8]运行 bash -c 'if [${proxy}!= none ];然后导出 ftp_proxy=${proxy};导出 http_p 159.8s
=>[8/8]运行 bash -c 'if [${proxy}!= none ];然后运行 echo -e "export ftp_proxy=${proxy}\n 导出 http_proxy=${proxy}\n 导出 HT 0.2s
=>导出至图像13.2s
=>=>=>=>=>导出图层13.2s
=>=>=>=>写入图像 SHA256:1546c34fc605547ff2ceaa345c1ec993ec235b4b4b0e7290bf117b9f6259eab6 0.0s
=>=>=>=>命名为 Docker.IO/library/edgeai_tidl_tools_x86_ubuntu_22

如何解决此问题?  

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

    您好:

    我理解您的意思、但我在日志中没有看到明显的问题。 您指出未生成某些必需的文件。

    您能解释一下此日志的哪一部分是错误吗? 从我的角度来看,它看起来很普通。  

    我假设您正在查看以下文档: https://github.com/TexasInstruments/edgeai-tidl-tools/blob/95ba2c7ec62bbedeb637d7a5c0273fcede21cac9/docs/advanced_setup.md 

    请注意、对于 AM62P、不存在真正的 TIDL。 TIDL 软件适用于 C7xMMA 加速器件、如 AM62A、AM67A、TDA4x。 62P 将仅使用 CPU 后端。 edgeai-tidl-tools 的许多工具都是用于准备模型以使用 C7xMMA 加速运行。  

    BR、
    Reese

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

    我的日志:

    =>导出至图像13.2s
    =>=>=>=>=>导出图层13.2s
    =>=>=>=>写入图像 SHA256:1546c34fc605547ff2ceaa345c1ec993ec235b4b4b0e7290bf117b9f6259eab6 0.0s
    =>=>=>=>命名为 Docker.IO/library/edgeai_tidl_tools_x86_ubuntu_22

    我提到的日志部分缺失、与上面的相比、下方的红色突出显示。  

    =>导出至映像
    =>=>=>=>导出图层
    =>=>=>=>导出清单 SHA256:a8284...
    =>=>=>=>导出 CONFIG SHA256:7a8a......
    =>=>=>=>导出证明清单 SHA256:03f2...
    =>=>=>=>导出清单列表 SHA256:c9920...
    =>=>=>=>命名为 Docker.IO/library/edgeai_tidl_tools_x86_ubuntu_22:latest
    =>=>=>=>=>解压缩到 Docker.IO/库/edgeai_tidl_tools_x86_ubuntu_22:latest

    我有一台机器能够按照您提供的相同文档链接成功设置。 但是、相同的步骤无法在其他计算机上设置、并且面临前面所述的错误、这将导致后续步骤构建失败无法找到依赖项。 粘贴编译错误日志(命令cmake ../examples && make -j && cd ..)

    在/home/root/edgeai2/edgeai-tidl-tools/examples/osrt_cpp/ort/onnx_main.cpp:63所包含的文件中:
    /home/root/edgeai2/edgeai-tidl-tools/examples/osrt_cpp/ort/onnx_main.h:81:10:致命错误:itidl_rt.h:没有此类文件或目录
      81 |#include "idl_rt.h"
       |      ^~~~~~~~~~~~μ s
    编译已终止。
    make[2]:***[osrt_cpp/ort/CMakeFiles/ort_main.dir/build.make:76:osrt_cpp/ort/CMakeFiles/ort_main.dir/onnx_main.cpp.o]错误1

    make[1]:***[CMakeFiles/Makefile 2:559:osrt_cpp/ort/CMakeFiles/ort_main.dir/all]错误2.
    make[1]:***等待未完成的作业...
    在/home/root/edgeai2/edgeai-tidl-tools/examples/osrt_cpp/advanced_examples/ort/ort_priority_scheduling.cpp:63所包含的文件中:
    /home/root/edgeai2/edgeai-tidl-tools/examples/osrt_cpp/advanced_examples/ort/ort_priority_scheduling.h:80:10:致命错误:itidl_rt.h:没有此类文件或目录
      80 |包含"idl_rt.h"
       |      ^~~~~~~~~~~~μ s
    编译已终止。
    make[2]:***[osrt_cpp/advanced_examples/ort/CMakeFiles/ort_prienderity_scheding.dir/build.make:76:osrt_cpp/advanced_examples/ort/CMakeFiles/ort_prienderity_scheding.dir/ort_prienderancing.cpp.o]错误1
    make[1]:***[CMakeFiles/Makefile 2:417:osrt_cpp/advanced_examples/ort/CMakeFiles/ort_porigite_scheduling.dir/all]错误2.
    /home/root/edgeai2/edgeai-tidl-tools/examples/tidlrt_cpp/classification.cpp 51:10:致命错误:itidl_rt.h:无此类文件或目录
      51 |#include "idl_rt.h"
       |      ^~~~~~~~~~~~μ s
    编译已终止。

    专用于您的 AM62P。  目前、我要 在 x86_PC 上设置、请与目标连接。  

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

    您的另一台机器是否有可能针对其他器件、如 AM62A、AM67A、TDA4VM?

    它无法找到使用 tidl_tools 下载的包含、其中包含用于将模型导入到 C7xMMA 的特定于器件的二进制文件。 itidl_rt.h 是 tidl_tools 的一部分

    AM62P 没有此类工具、因此缺少此文件。 因此、这种汇编将失败。

    AM62P 也未列为 edgeai-tidl-tools 的支持器件、但在技术上、它应被视为与 AM62相同、其中列为支持的器件。  

    我退一步讲、使用此工具的目的是什么?

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

    尊敬的 Reese:

    如前面的答复中所述、我们尝试在连接任何硬件之前设置构建环境、以确保正确安装所有必要的开发套件和工具。 我们的 EVM 目标将使用 AM62P、但我们建议遵循 GitHub (https://github.com/TexasInstruments/edgeai-tidl-tools)文档、了解基于 AM62A 的工具设置。  

    在另一台能够使用相同文档成功导出和安装的计算机上、我们还设置了相同的 SoC 器件、即 AM62A。  

    至于  edgeai-tidl-tools 的工具设置、我的 SoC 配置是 AM62A、它应该可以通过 tidl_tools 正确下载所有包含/依赖项? 那么、我遗漏的配置路径是否会导致此错误?

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

    好的、我来检查一下我自己对这里的理解

    • 您正在为 AM62P 运行工程
    • 建议您设置 edgeai-tidl-tools
    • 使用 SOC=am62p 运行 tools setup.sh 失败  
      • 由于 setup.sh 没有提取所有正确的依赖项、因此编译示例失败
    • 在 SOC=am62a 的情况下运行编译/编译示例 确实 起作用、遵循相同的过程
    [报价 userid="655107" url="~/support/processors-group/processors/f/processors-forum/1519375/am62p-fail-to-export-manifest-and-config-on-docker-building/5844535 #5844535"]至于  edgeai-tidl-tools 的工具设置、我的 SoC 配置是 AM62A、它应该可以通过 tidl_tools 正确下载所有包含/依赖项? 因此、我遗漏的配置路径是否会导致此错误?

    是的、它将安装 TIDL 所需的依赖项。 有几个 deps (例如 libcgraph)不是必需的、但很有用、默认情况下可能不会安装这些 depps、如果是这样、我们将在导入 TIDL 模型时在日志中看到有关缺少 libcgraph 的消息。  

    • 这一导入步骤仅对62A 等 AM6xA 器件很重要、因此 AM62P 无论如何都不需要此功能。

    当我仔细查看 setup.sh 脚本时、我注意到 AM62P 不是可识别的 SOC 选项。  通常、setup.sh 将告知您是否未定义 SOC。 Docker 构建可能已隐藏通知 am62p 不是有效 SOC 设置的消息

    • 对于 AM62P、应使用 SOC='am62'。 它也适用于 AM62P。  

    我认为有关 SOC 设置的微小细节导致了此处的问题。 否则、应该已经下载了一些工具。