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.

[参考译文] TDA4VH-Q1:Midas ONNX 模型的 TIDL 节点初始化问题

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1621123/tda4vh-q1-tidl-node-initialization-issue-with-midas-onnx-model

器件型号: TDA4VH-Q1
主题中讨论的其他器件: Midas

我们正在尝试midas_v21_small_256.onnx使用 J784S4 EVM 上的 TIDL/OpenVX 流水线运行 Midas 模型。

我们遵循的步骤:

  1. 使用input_names=["input"]和将 Midas 模型导出到 ONNXoutput_names=["depth"]

  2. 使用生成了 TIDL 工件edgeai-tidl-tools

  3. 已更新app_init()以删除显示/马赛克/图形并将输入设置为vx_tensor

问题:

在图形验证期间、TIDL 节点无法初始化:

vx_zone_error:[ownNodeKernelInit:704]节点 Midas_tidl_obj 的目标内核、TIVx_CMD_node_create 失败 
vx_zone_error:[MidasOpenVxGraph]节点内核初始化失败
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Akshay:

    这是唯一的日志吗? 您能否分享完整的日志? 很难计算出这两条线产生的误差。  

    也可以在 tidl-RT 流程中运行此模型吗? 由于您正在使用 edge-ai-tools 进行编译、因此是否已卸载任何层来 ARM?  

    此致、

    Brijesh

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

    您好、我已共享整个日志以供参考  
    下面是日志  
    应用程序:初始化...!!
    6812.077780 s:内存:初始化...!!
    6812.077837 s:MEM:初始化的 DMA 堆 (FD=5)!!!
    6812.07776 s:内存:初始化...完成!!!
    6812.07984 s:ipc: init ...!!</s>!
    6812.105129 s:ipc:初始化...完成!!!
    remote_service:初始化...!!</s>!
    remote_service:初始化...完成!!!
    6812.113024s:GTC 频率= 200MHz
    应用程序:初始化...完成!!
    6812.113094 s:vx_zone_info:全局启用 vx_zone_error
    6812.113098 s:vx_zone_info:全局启用 vx_zone_warning
    6812.113101 s:vx_zone_info:全局启用 vx_zone_info
    6812.113979 s:vx_zone_info:[tivxPlatformCreateTargetId:169]添加了目标 MPU-0
    6812.114080 s:vx_zone_info:[tivxPlatformCreateTargetId:169]已添加目标 MPU-1
    6812.114161 s:vx_zone_info:[tivxPlatformCreateTargetId:169]添加了目标 MPU-2
    6812.114247 s:vx_zone_info:[tivxPlatformCreateTargetId:169]添加了目标 MPU-3
    6812.114252 s:vx_zone_info:[tivxInitLocal:202]初始化完成!!!
    6812.114257 s:vx_zone_info:全局禁用 vx_zone_info
    【调试打印】vxCreateContext 成功
    obj->input.width = 1920、obj->input.height = 1080
    【调试打印】vxCreateImage(输入 RGB)成功
    【调试打印】APP_INIT_SCALER 成功
    【调试打印】app_init_tidl 成功
    【调试打印】app_update_pre_proc 成功
    【调试打印】app_init_pre_proc 成功
    【调试打印】app_update_post_proc 成功
    【调试打印】app_init_post_proc 成功
    【调试打印】vxCreateGraph 成功
    【调试打印】vxSetReferenceName 成功
    【调试打印】app_create_graph scaler 成功
    【调试打印】app_create_graph_pre_proc Success
    【调试打印】app_create_grap_tidl 成功
    【调试打印】app_create_graph_post_proc 成功
    【调试打印】add_graph parameter_by_node_index(Scaler 输入)成功
    【调试打印】vxSetGraphScheduleConfig 成功
    【调试打印】tivxSetGraphPipelineDepth Success
    【调试打印】tivxSetNodeParameterNumBufByIndex (Scaler 1) 成功
    【调试打印】tivxSetNodeParameterNumBufByIndex (Scaler 2) 成功
    【调试打印】tivxSetNodeParameterNumBufByIndex (PreProc) 成功
    【调试打印】tivxSetNodeParameterNumBufByIndex (TIDL) 成功
    【调试打印】tivxSetNodeParameterNumBufByIndex (PostProc) 成功
    【调试打印】appCreate Graph done
    6812.423508 s:vx_zone_error:[ownContextSendCmd:1001]命令 ack 消息返回失败 cmd_status:–1
    6812.423516 s:vx_zone_error:[ownNodeKernelInit:704]节点 tidl_node 的目标内核、TIVX_CMD_NODE_CREATE 失败
    6812.423519 s:vx_zone_error:[ownNodeKernelInit:705]请确保已为此内核注册目标回调
    6812.423522 s:vx_zone_error:[ownNodeKernelInit:706]如果目标回调已注册、请确保此内核的创建回调中没有发生错误
    6812.423526 s:vx_zone_error:[ownGraphNodeKernelInit:793]节点 2 的内核初始化、kernel com.ti.tidl:1:1 ...失败!!!
    6812.423548 s:vx_zone_error:[ OpenVxGraph ]节点内核初始化失败
    6812.423551 s:vx_zone_error:[ OpenVxGraph ]图形验证失败
    msc:节点发送命令失败!
    【调试打印】app_verify_graph 失败
    应用程序:Deinit ...!!
    REMOTE_SERVICE:取消初始化...!!!
    REMOTE_SERVICE:取消初始化...完成!!!
    6812.565547 s:ipc: Deinit ...!!
    6812.566463 s : IPC: DeInit ..完成!!
    6812.566472 s:内存:Deinit ...!!
    6812.566550 s:DDR_SHARED_MEM:Alloc's:26 alloc's、共 228518488 字节
    6812.566553 s:ddr_shared_mem:free's:26 free's of 228518488 字节
    6812.566556 s:DDR_SHARED_MEM:open 的:0 个 0 字节的分配
    6812.566564 s:内存:Deinit ...完成!!
    应用程序:Deinit ...完成!!



    模型有 199 个层、并且都在 C7x 上运行。 我还没有尝试 tidl-RT。  

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

    您好、

    但 C7x 没有任何错误、您是否运行 vision_apps_init.sh 脚本来从其他内核获取日志? 此外、C7x 中如何确保支持所有层? 您是否 在编译后生成的模型工件中进行了检查和验证?  

    此致、

    Brijesh

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

     大家好、我使用-c 运行 onnxrt_ep.py、我看到所有层都在 C7x 上运行 、 并在 vision_apps_init.sh 运行后共享了日志  
    root@j784s4-evm:/home/fastsim-1 ./vx_app_tidl_Midas.out --cfg app_midas.cfg
    应用程序:初始化...!!
    944.675571 s:内存:初始化...!!!
    944.675641 s:MEM:初始化 DMA 堆 (FD=5)!!!
    944.675819 s:内存:初始化...完成!!!
    944.675836 s: ipc: init ..!!
    944.704868 s:ipc:初始化...完成!!!
    remote_service:初始化...!!</s>!
    remote_service:初始化...完成!!!
    944.712316 s:GTC 频率= 200MHz
    应用程序:初始化...完成!!
    944.712411 s:vx_zone_info:全局启用 vx_zone_error
    944.712425 s:vx_zone_info:全局启用 vx_zone_warning
    944.712436 s:vx_zone_info:全局启用 vx_zone_info
    944.713458 s:vx_zone_info:[tivxPlatformCreateTargetId:169]添加了目标 MPU-0
    944.713610 s:vx_zone_info:[tivxPlatformCreateTargetId:169]已添加目标 MPU-1
    944.713728 s:vx_zone_info:[tivxPlatformCreateTargetId:169]添加了目标 MPU-2
    944.713883 s:vx_zone_info:[tivxPlatformCreateTargetId:169]添加了目标 MPU-3
    944.713898 s:vx_zone_info:[tivxInitLocal:202]初始化完成!!!
    944.713915 s:vx_zone_info:全局禁用 vx_zone_info
    【调试打印】vxCreateContext 成功
    obj->input.width = 1920、obj->input.height = 1080
    【调试打印】vxCreateImage(输入 RGB)成功
    【调试打印】APP_INIT_SCALER 成功
    【调试打印】app_init_tidl 成功
    【调试打印】app_update_pre_proc 成功
    【调试打印】app_init_pre_proc 成功
    【调试打印】app_update_post_proc 成功
    【调试打印】app_init_post_proc 成功
    【调试打印】vxCreateGraph 成功
    【调试打印】vxSetReferenceName 成功
    【调试打印】app_create_graph scaler 成功
    【调试打印】app_create_graph_pre_proc Success
    【调试打印】app_create_grap_tidl 成功
    【调试打印】app_create_graph_post_proc 成功
    【调试打印】add_graph parameter_by_node_index(Scaler 输入)成功
    【调试打印】vxSetGraphScheduleConfig 成功
    【调试打印】tivxSetGraphPipelineDepth Success
    【调试打印】tivxSetNodeParameterNumBufByIndex (Scaler 1) 成功
    【调试打印】tivxSetNodeParameterNumBufByIndex (Scaler 2) 成功
    【调试打印】tivxSetNodeParameterNumBufByIndex (PreProc) 成功
    【调试打印】tivxSetNodeParameterNumBufByIndex (TIDL) 成功
    【调试打印】tivxSetNodeParameterNumBufByIndex (PostProc) 成功
    【调试打印】appCreate Graph done
    945.054603 s:vx_zone_error:[ownContextSendCmd:1001]命令 ack 消息返回失败 cmd_status:–1
    945.054629 s:vx_zone_error:[ownNodeKernelInit:704]对于节点 tidl_node、目标内核 TIVx_CMD_NODE_CREATE 失败
    945.054641 s:vx_zone_error:[ownNodeKernelInit:705]请确保已为此内核注册目标回调
    945.054653 s:vx_zone_error:[ownNodeKernelInit:706]如果目标回调已注册、请确保在此内核的创建回调中没有发生错误
    945.054669 s:vx_zone_error:[ownGraphNodeKernelInit:793]节点 2 的内核初始化、kernel com.ti.tidl:1:1 ...失败!!!
    945.054698 s:vx_zone_error:[ OpenVxGraph ]节点内核初始化失败
    945.054709 s:vx_zone_error:[ OpenVxGraph ]图形验证失败
    msc:节点发送命令失败!
    [C7x_1 ] 945.054440 s:vx_zone_error:[tivxspiVisionCreate:363]调用 ialg.algAlloc 失败、状态为–1
    [C7x_1 ] 945.054470 s:vx_zone_error:[tivxKernelTIDLCreate:1140] tivxihVisionCreate 返回 NULL
    【调试打印】app_verify_graph 失败
    应用程序:Deinit ...!!
    REMOTE_SERVICE:取消初始化...!!!
    REMOTE_SERVICE:取消初始化...完成!!!
    945.197145 s: IPC: Deinit ...!
    945.198397 s : IPC: DeInit ...完成!!
    945.198430 s:MEM:Deinit ...!!
    945.198512 s:DDR_SHARED_MEM:Alloc's:26 alloc's、共 228518488 字节
    945.198526 s:DDR_SHARED_MEM:FREE's:26 FREE's of 228518488 字节
    945.198532 s:DDR_SHARED_MEM:open 的:0 个 0 字节的分配
    945.198548 s:内存:Deinit ...完成!!
    应用程序:Deinit ...完成!!
    root@j784s4-evm:/home/fastsim-1

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

    您好、

    是否仍在寻找在 TDA4 平台上启用 Midas 模型? 那么您可以分享这个模型吗?  

    此致、

    Brijesh