请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:TDA4VEN-Q1 工具/软件:
我们使用自由空间分割 onnx 模型 导 入到 TI 模型。 我 通过仿真使用了 TI RTOS 11.0 入门级环境 、所有导入步骤似乎都正常、 结果的可视化也可以。 然后 我 通过 模拟输入模型,结果是好的,结果的可视化也是好的。 但是,当我们在板上测试 ti 时,它会出现 错误。 我们怎么能明白原因? 有人可以帮助我们?
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.
工具/软件:
我们使用自由空间分割 onnx 模型 导 入到 TI 模型。 我 通过仿真使用了 TI RTOS 11.0 入门级环境 、所有导入步骤似乎都正常、 结果的可视化也可以。 然后 我 通过 模拟输入模型,结果是好的,结果的可视化也是好的。 但是,当我们在板上测试 ti 时,它会出现 错误。 我们怎么能明白原因? 有人可以帮助我们?
你(们)好
从您的 onnx 导入模型时、我能够在 EVM 上运行模型。
这是 EVM 上的日志:
root@j722s-evm:/opt/fs# ./TI_DEVICE_armv8_test_dl_algo_host_rt.out s:fisheye_seg_inference_config.txt Processing config file #0 : fisheye_seg_inference_config.txt APP: Init ... !!! 14065.439663 s: MEM: Init ... !!! 14065.439740 s: MEM: Initialized DMA HEAP (fd=5) !!! 14065.439951 s: MEM: Init ... Done !!! 14065.439971 s: IPC: Init ... !!! 14065.493476 s: IPC: Init ... Done !!! REMOTE_SERVICE: Init ... !!! REMOTE_SERVICE: Init ... Done !!! 14065.500484 s: GTC Frequency = 200 MHz APP: Init ... Done !!! 14065.500665 s: VX_ZONE_INFO: Globally Enabled VX_ZONE_ERROR 14065.500688 s: VX_ZONE_INFO: Globally Enabled VX_ZONE_WARNING 14065.500700 s: VX_ZONE_INFO: Globally Enabled VX_ZONE_INFO 14065.501526 s: VX_ZONE_INFO: [tivxPlatformCreateTargetId:169] Added target MPU-0 14065.501884 s: VX_ZONE_INFO: [tivxPlatformCreateTargetId:169] Added target MPU-1 14065.502197 s: VX_ZONE_INFO: [tivxPlatformCreateTargetId:169] Added target MPU-2 14065.502438 s: VX_ZONE_INFO: [tivxPlatformCreateTargetId:169] Added target MPU-3 14065.502463 s: VX_ZONE_INFO: [tivxInitLocal:202] Initialization Done !!! 14065.502486 s: VX_ZONE_INFO: Globally Disabled VX_ZONE_INFO # NETWORK_INIT_TIME = 125.07 (in ms, c7x @1GHz) ----------------------- TIDL Process with TARGET DATA FLOW ------------------------ # NETWORK_EXECUTION_TIME = 12.74 (in ms, c7x @1GHz) with DDR_BANDWIDTH (Read + Write) = 21.52, 28.43, 49.95 (in Mega Bytes/f! REMOTE_SERVICE: Deinit ... !!! REMOTE_SERVICE: Deinit ... Done !!! 14065.658703 s: IPC: Deinit ... !!! 14065.660030 s: IPC: DeInit ... Done !!! 14065.660099 s: MEM: Deinit ... !!! 14065.660117 s: DDR_SHARED_MEM: Alloc's: 7 alloc's of 4356364 bytes 14065.660130 s: DDR_SHARED_MEM: Free's : 7 free's of 4356364 bytes 14065.660139 s: DDR_SHARED_MEM: Open's : 0 allocs of 0 bytes 14065.660162 s: MEM: Deinit ... Done !!! APP: Deinit ... Done !!! root@j722s-evm:/opt/fs# ls
如果使用导入的模型并记录以下日志、我也会重现您的问题:
rocessing config file #0 : fisheye_seg_inference_config.txt Input : dataId=0, name=input.1_original, elementType 0, scale=1.000000, zero point=0, layout=0 Ouput : dataId=91, name=815, elementType 0, scale=1.000000, zero point=0, layout=0 1915044, 1.826 0xffff58cd1010 worstCaseDelay for Pre-emption is 2.8244629 Network File Read done APP: Init ... !!! 14228.835130 s: MEM: Init ... !!! 14228.835207 s: MEM: Initialized DMA HEAP (fd=5) !!! 14228.835422 s: MEM: Init ... Done !!! 14228.835442 s: IPC: Init ... !!! 14228.889110 s: IPC: Init ... Done !!! REMOTE_SERVICE: Init ... !!! REMOTE_SERVICE: Init ... Done !!! 14228.896353 s: GTC Frequency = 200 MHz APP: Init ... Done !!! 14228.896526 s: VX_ZONE_INFO: Globally Enabled VX_ZONE_ERROR 14228.896546 s: VX_ZONE_INFO: Globally Enabled VX_ZONE_WARNING 14228.896557 s: VX_ZONE_INFO: Globally Enabled VX_ZONE_INFO 14228.897438 s: VX_ZONE_INFO: [tivxPlatformCreateTargetId:169] Added target MPU-0 14228.897728 s: VX_ZONE_INFO: [tivxPlatformCreateTargetId:169] Added target MPU-1 14228.897956 s: VX_ZONE_INFO: [tivxPlatformCreateTargetId:169] Added target MPU-2 14228.898155 s: VX_ZONE_INFO: [tivxPlatformCreateTargetId:169] Added target MPU-3 14228.898182 s: VX_ZONE_INFO: [tivxInitLocal:202] Initialization Done !!! 14228.898204 s: VX_ZONE_INFO: Globally Disabled VX_ZONE_INFO [C7x_1 ] 14228.914383 s: PREEMPTION: Requesting memory of size 128 for targetPriority = 0 [C7x_1 ] 14228.914410 s: [C7x_1 ] 14228.914431 s: -------------------------------------------- [C7x_1 ] 14228.914455 s: TIDL Memory size requiement (record wise): [C7x_1 ] 14228.914495 s: MemRecNum , Space , Attribute , Alignment , Size(KBytes), BasePtr [C7x_1 ] 14228.914544 s: 0 , DDR Non-cacheable , Persistent , 128, 19.41 , 0x00000000 [C7x_1 ] 14228.914592 s: 1 , DDR Cacheable , Persistent , 128, 0.66 , 0x00000000 [C7x_1 ] 14228.914637 s: 2 , L1D , Scratch , 128, 16.00 , 0x00000000 [C7x_1 ] 14228.914682 s: 3 , L2 , Scratch , 128, 448.00 , 0x00000000 [C7x_1 ] 14228.914725 s: 4 , L3/MSMC , Scratch , 128, 2944.00 , 0x00000000 14228.915866 s: VX_ZONE_ERROR: [ownContextSendCmd:1001] Command ack message returned failure cmd_status: -1 [C7x_1 ] 14228.914766 s: 5 , DDR Cacheable , Persistent , 128, 936.38 , 0x00000000 14228.915892 s: VX_ZONE_ERROR: [ownNodeKernelInit:704] Target kernel, TIVX_CMD_NODE_CREATE failed for node node_83 14228.915905 s: VX_ZONE_ERROR: [ownNodeKernelInit:705] Please be sure the target callbacks have been registered for this core [C7x_1 ] 14228.914809 s: 6 , DDR Non-cacheable , Scratch , 128, 11.63 , 0x00000000 14228.915917 s: VX_ZONE_ERROR: [ownNodeKernelInit:706] If the target callbacks have been registered, please ensure no errors are occurl 14228.915932 s: VX_ZONE_ERROR: [ownGraphNodeKernelInit:793] kernel init for node 0, kernel com.ti.tidl:1:1 ... failed !!! [C7x_1 ] 14228.914850 s: 7 , DDR Non-cacheable , Persistent , 128, 13551.25, 0x00000000 [C7x_1 ] 14228.914893 s: 8 , DDR Non-cacheable , Scratch , 128, 0.13 , 0x00000000 14228.915977 s: VX_ZONE_ERROR: [ TIDL subgraph 815 ] Node kernel init failed [C7x_1 ] 14228.914935 s: 9 , DDR Non-cacheable , Scratch , 128, 3.13 , 0x00000000 14228.915989 s: VX_ZONE_ERROR: [ TIDL subgraph 815 ] Graph verify failed [C7x_1 ] 14228.914978 s: 10 , DDR Cacheable , Persistent , 128, 1107.78 , 0x00000000 [C7x_1 ] 14228.915021 s: 11 , DDR Cacheable , Scratch , 128, 4096.25 , 0x00000000 [C7x_1 ] 14228.915062 s: 12 , DDR Non-cacheable , Persistent , 128, 0.13 , 0x00000000 [C7x_1 ] 14228.915105 s: 13 , DDR Cacheable , Persistent , 128, 1562.47 , 0x00000000 [C7x_1 ] 14228.915147 s: 14 , DDR Non-cacheable , Persistent , 128, 0.00 , 0x00000000 [C7x_1 ] 14228.915191 s: 15 , DDR Cacheable , Persistent , 128, 376.88 , 0x00000000 [C7x_1 ] 14228.915220 s: -------------------------------------------- # NETWORK_INIT_TIME = 267252537.93 (in ms, c7x @1GHz) [C7x_1 ] 14228.915245 s: Total memory size requirement (space wise): Error at line: 551 : in file /scratch/edgeai/yocto/arago-tmp-default-glibc/work/aarch64-oe-linux/ti-tidl/1.0.0/git/arm-tidl/rt/test/ar Invalid Error Type! [C7x_1 ] 14228.915266 s: Mem Space , Size(KBytes) [C7x_1 ] 14228.915287 s: L1D , 16.00 [C7x_1 ] 14228.915308 s: L2 , 448.00 [C7x_1 ] 14228.915328 s: L3/MSMC , 2944.00 [C7x_1 ] 14228.915350 s: DDR Cacheable, 8080.42 [C7x_1 ] 14228.915372 s: DDR Non-cacheable, 13585.66 [C7x_1 ] 14228.915396 s: -------------------------------------------- [C7x_1 ] 14228.915429 s: NOTE: Memory requirement in host emulation can be different from the same on EVM [C7x_1 ] 14228.915467 s: To get the actual TIDL memory requirement make sure to run on EVM with [C7x_1 ] 14228.915490 s: debugTraceLevel = 2 [C7x_1 ] 14228.915500 s: [C7x_1 ] 14228.915519 s: -------------------------------------------- [C7x_1 ] 14228.915554 s: VX_ZONE_ERROR: [tivxAlgiVisionAllocMem:194] Failed to Allocate memory record 3 @ space = 1 and size = 458752 [C7x_1 ] 14228.915583 s: VX_ZONE_ERROR: [tivxAlgiVisionCreate:358] tivxAlgiVisionAllocMem Failed [C7x_1 ] 14228.915610 s: VX_ZONE_ERROR: [tivxKernelTIDLCreate:980] tivxAlgiVisionCreate returned NULL root@j722s-evm:/opt/fs# vi fisheye_seg_inference_config.txt
很容易注意到、当尝试分配 448KB L2 时程序失败、这导致了此故障。
但是、如果您检查原始导入工具、您可以看到 j722 的 L2 大小限制为 224。 我相信您在运行导入时使用了错误的设备。
# Size of L2 Aux SRAM Memory in KB which can be used by TIDL, Recommended value is # 224KB considering that 32KB of L2 is used for other purpose. L2MEMSIZE_KB = 224 # Size of L2 main SRAM Memory in KB which can be used by TIDL MSMCSIZE_KB = 2048 #ID for a Device, TDA4VMID = 0, TIDL_TDA4AEP = 1, TIDL_TDA4AM = 2, TIDL_TDA4AMPlus = 3, TIDL_AM62A = 4 DEVICE_NAME = 4 ENABLE_PERSIT_WT_ALLOC = 1 DDRFREQ_MHZ = 3200 MATPANELSIZE = 32
请检查您的 device_config.cfg。
此致、
Adam