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.

[参考译文] TDA4VM:TIDL 节点 vxVerifyGraph 有问题!

Guru**** 2539500 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/896519/tda4vm-issue-with-tidl-node-vxverifygraph

器件型号:TDA4VM

尊敬的 TI 专家:

我使用的是 PSDKRA 6.2版本。

我正在尝试使用 app_tidl_demos 应用、方法是加载使用 TIDLModelImport 工具导出 ONNX 模型生成的"tidl_config_file_path"和"tidl_network_file_path"。

该应用程序可以成功解析命令行参数、 调用函数 app_init 和 app_create_graph 而不会出现任何错误、我可以看到我的输入和输出传感器填充了正确的输入/输出通道、高度和宽度。

:请注意、我对该网络的输入是通道、C=64输入、H=500、W=500、而不是通常的 C=3输入图像。

我检查了 l1MemSize、l2MemSize 和 l3MemSize 的 obj 结构。 它们分别为(16*1024)、(448*1024)和(7969*1024)。 我是作为 TI 专家在建议的相关帖子中进行此操作的、以进行检查。

但是,当 app_tidl 调用 函数“app_verify_graph”时,它将失败,并出现以下错误:


 0: Vx_zone_init:已启用
 0.16s: vx_zone_error:Enabled
 0.17s: Vx_zone_warning:Enabled
 144.10536s: vx_zone_error:[TIvxAlgiVisionCreate:331]调用 ialg.algAlloc 失败、状态=-1115
 144.11176s: vx_zone_error:[ownContextSendCmd:553]命令 ACK 消息返回故障 CMD_STATUS:-1
 144.11199s: vx_zone_error:[ownNodeKernelInit:486]目标内核、TIVX_CMD_NODE_CREATE 失败
 144.11207s: vx_zone_error:[ownGraphNodeKernelInit:583] kernel init for node 0、kernel com.ti.tidl... 失败!!!
 144.11214s: vx_zone_error:[vxVerifyGraph:2010]节点内核初始化失败
 144.11219s: vx_zone_error:[vxVerifyGraph:2064] Graph verify failed
app_tidl:错误:正在验证图形... 失败!!!

您能否告诉我出现此错误的原因以及它的解决方案。

此致

艾迪特

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

    您可能正在耗尽临时内存、

    要进行调试、请在下面尝试、

    在文件中、PSDK_RTOS_auto_J7_06_02_00_21/tiovx/kernels_J7/tidL/dsp/vx_tidl_target.c、取消注释此@第80行

    /*#define TIVX_TIDL_TARGET_DEBUG */  

    保存并构建 tiovx 和 vision_apps

    psdk_rtos_auto_j7_06_02_00_21/vision_apps >制作 tiovx vision_apps

    现在、您可以运行并获取日志吗?

    此致、
    Shyam

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

    您好!

    请查找随附的日志。

    0: Vx_zone_init:已启用
     0.17s: vx_zone_error:Enabled
     0.18s: vx_zone_warning:Enabled
     0.9155s: vx_zone_info:已启用
     0.10528s: vx_zone_info:[TIvxKernelTIDLCreate:528] L1 = 16KB、L2 = 448KB、L3 = 7968 KB
     0.10534s: vx_zone_info:[TIvxKernelTIDLCreate:544]网络版本- 0x20200129、预期版本- 0x20200129
     0.10535s: vx_zone_info:[TIvxAlgiVisionCreate:279]正在调用 ialg.algNumAlloc ...
     0.10537s: vx_zone_info:[TIvxAlgiVisionCreate:283]分配13个内存记录...
     0.10538s: vx_zone_info:[TIvxAlgiVisionCreate:293]调用 ialg.algAlloc ...
     0.10541s: vx_zone_error:[TIvxAlgiVisionCreate:331]调用 ialg.algAlloc 失败、状态=-1115
     0.10707s: vx_zone_error:[ownContextSendCmd:553]命令 ACK 消息返回故障 CMD_STATUS:-1
     0.10712s: vx_zone_error:[ownNodeKernelInit:486]目标内核、TIVX_CMD_NODE_CREATE 失败
     0.10714s: vx_zone_info:[ownGraphNodeKernelInit:578]内核初始化节点0,内核 com.ti.tidl...
     0.10715s: vx_zone_error:[ownGraphNodeKernelInit:583] kernel init for node 0、kernel com.ti.tidl ... 失败!!!
     0.10717s: vx_zone_error:[vxVerifyGraph:2010]节点内核初始化失败
     0.10718s: vx_zone_error:[vxVerifyGraph:2064] Graph verify failed
    app_tidl:错误:正在验证图形... 失败!!!
     0.10735s: vx_zone_info:[TIvxQueueDelete:182] tivxQueueDelete:如果挂起、请确保所有应用程序线程都已销毁
     0.10982秒: vx_zone_info:[TIvxQueueDelete:182] tivxQueueDelete:如果挂起、请确保所有应用程序线程都已销毁
     0.10985s: vx_zone_info:[TIvxQueueDelete:182] tivxQueueDelete:如果挂起、请确保所有应用程序线程都已销毁
     0.12130: vx_zone_info:[TIvxQueueDelete:182] tivxQueueDelete:如果挂起、请确保所有应用程序线程都已销毁
     0.13192: vx_zone_info:[TIvxQueueDelete:182] tivxQueueDelete:如果挂起、请确保所有应用程序线程都已销毁
     0.14252: vx_zone_info:[TIvxQueueDelete:182] tivxQueueDelete:如果挂起、请确保所有应用程序线程都已销毁
     0.15312s: vx_zone_info:[TIvxQueueDelete:182] tivxQueueDelete:如果挂起、请确保所有应用程序线程都已销毁
    [1]+完成                      "/usr/bin/gdb --interrer=mi --tty=${DbgTerm}0 <"/tmp/Microsoft-MIEngine-In-xcadtt7n.snq" 1>"/tmp/Microsoft-MIEngine-Out-62ai3x9v.nlm "

    最好

    艾迪特

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

    感谢您的运行。 错误似乎来自 TIDL 库、  

     0.10538s: vx_zone_info:[TIvxAlgiVisionCreate:293]调用 ialg.algAlloc ...
     0.10541s: vx_zone_error:[TIvxAlgiVisionCreate:331]调用 ialg.algAlloc 失败、状态=-1115


    OpenVx 框架调用库的 allAllAllLoc()函数,该函数计算 TIDL 所需的临时内存大小。  

    建议的开发流程如下所示、

    1.在 PC 主机仿真模式下试用 TIDL 独立测试台。

    2.在 EVM 上试用 TIDL 独立测试台。

    3.编写/修改调用 TIDL 节点的 OpenVx 应用程序并在 PC 主机仿真模式下验证功能

    4.在 EVM 上尝试使用 OpenVx 应用程序。

    是否可以确认您已尝试步骤1-3? 如果没有、我强烈建议您执行以下步骤、以帮助快速消除问题。

    此致、
    Shyam

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

    请注意,我正在 PC 仿真模式下运行视觉应用程序。 此时、我没有目标。

    删除对目标内核 Init 的调用可消除我的错误、但我不知道这对于 PC 仿真模式是否正确。

    请告诉我如何在 PC 仿真模式下运行 TIDL 独立测试台。

    if (status =(vx_status) vx_Success)
    /*为每个节点调用目标内核初始化
    *这会导致与目标内核进行消息代码化
    *内存被分配、必须通过目标内核释放
    * deinit。
    *在节点发布期间调用内核 deinit
    *
    状态= GraphownNodeKernelInit(图表);
    if (status!=(vx_status) vx_Success)
    vx_print (vx_zone_error、"节点内核初始化失败\n");
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    这是用于初始化内核的 OpenVx 框架调用。 请勿修改框架。

    请参阅此处的 TIDL 文档、了解在 PC 上运行的步骤、

    psdk_rtos_auto_j7_06_02_00_21/tidl_j7_01_00_10/ti_dl/docs/user_guide_html/usergroup2.html

    此致、
    Shyam

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

    Shyam、您好!

    我先前的问题已解决。 谢谢!

    只是一个快速跟进问题:

    TIDL 文档显示“如果输入不是图像,则大小为 numChannels x inHeight x inWidth x ElementSize 的数组可作为二进制文件提供给测试应用程序和导入工具(inFileFormat = 1)"

    我有一个网络、它没有图像形式的输入、但是、超过3个通道。 VISION_APPS 应用程序是否提供此用例? 当输入 tensor 不是图像并填充参数时,我们是否已经实现了读取此二进制文件的任何函数?  

    如果是,您能给我指出吗?

    谢谢

    艾迪特

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

    您好、Adit、

    您可以在 app_tidl 中引用相同的示例并根据需要修改函数、

    1. createInputTensors -创建具有 N 个通道而不是3个通道的输入 Tensor。 您必须使用填充信息、该信息是导入网络的可用部分。

    readInput -基本而言,此函数映射输入 tensor -读取文件-根据需要进行预处理-取消映射。 步骤与3个频道或 N 个频道相同。

    此致、
    Shyam