Other Parts Discussed in Thread: AM69A
Tool/software:
Hi Chris,
I am posting here on behalf of customer. Please help to taka look and comment. Thank you very much
Thanks for your previous guidance. I’ve verified that there’s no issue with the name_overlays DTBO file—I was able to successfully run inference of the ResNet-101 model on the device exactly as you described.
However, when I switch to using the tidlcpp library (TIDL C++ API) to load the model and perform inference, I encounter the following error:
root@am69-sk:/opt/edgeai-tidl-tools/bin/Release# ./tidlrt_resnet -f /opt/arrow/out -i face_aligned_1.jpg
Model Files names : /opt/arrow/out/tidl_net.bin,/opt/arrow/out/tidl_io_buff1.bin
APP: Init ... !!!
18753.543247 s: MEM: Init ... !!!
18753.543309 s: MEM: Initialized DMA HEAP (fd=5) !!!
18753.543457 s: MEM: Init ... Done !!!
18753.543479 s: IPC: Init ... !!!
18753.574032 s: IPC: Init ... Done !!!
REMOTE_SERVICE: Init ... !!!
REMOTE_SERVICE: Init ... Done !!!
18753.581335 s: GTC Frequency = 200 MHz
APP: Init ... Done !!!
18753.581420 s: VX_ZONE_INFO: Globally Enabled VX_ZONE_ERROR
18753.581432 s: VX_ZONE_INFO: Globally Enabled VX_ZONE_WARNING
18753.581450 s: VX_ZONE_INFO: Globally Enabled VX_ZONE_INFO
18753.581986 s: VX_ZONE_INFO: [tivxPlatformCreateTargetId:134] Added target MPU-0
18753.582115 s: VX_ZONE_INFO: [tivxPlatformCreateTargetId:134] Added target MPU-1
18753.582219 s: VX_ZONE_INFO: [tivxPlatformCreateTargetId:134] Added target MPU-2
18753.582339 s: VX_ZONE_INFO: [tivxPlatformCreateTargetId:134] Added target MPU-3
18753.582351 s: VX_ZONE_INFO: [tivxInitLocal:126] Initialization Done !!!
18753.582364 s: VX_ZONE_INFO: Globally Disabled VX_ZONE_INFO
18753.749631 s: VX_ZONE_ERROR: [ownContextSendCmd:912] Command ack message returned failure cmd_status: -1
18753.749666 s: VX_ZONE_ERROR: [ownNodeKernelInit:604] Target kernel, TIVX_CMD_NODE_CREATE failed for node TIDLNode
18753.749673 s: VX_ZONE_ERROR: [ownNodeKernelInit:605] Please be sure the target callbacks have been registered for this core
18753.749684 s: VX_ZONE_ERROR: [ownNodeKernelInit:606] If the target callbacks have been registered, please ensure no errors are occurring within the create callback of this kernel
18753.749696 s: VX_ZONE_ERROR: [ownGraphNodeKernelInit:690] kernel init for node 0, kernel com.ti.tidl:1:1 ... failed !!!
18753.749742 s: VX_ZONE_ERROR: [ TIDL subgraph 1332 ] Node kernel init failed
18753.749753 s: VX_ZONE_ERROR: [ TIDL subgraph 1332 ] Graph verify failed
TIDL_RT_OVX: ERROR: Verifying TIDL graph ... Failed !!!
TIDL_RT_OVX: ERROR: Verify OpenVX graph failed
invoked
18753.810931 s: VX_ZONE_ERROR: [ownContextSendCmd:912] Command ack message returned failure cmd_status: -1
18753.810973 s: VX_ZONE_ERROR: [ownNodeKernelInit:604] Target kernel, TIVX_CMD_NODE_CREATE failed for node TIDLNode
18753.810985 s: VX_ZONE_ERROR: [ownNodeKernelInit:605] Please be sure the target callbacks have been registered for this core
18753.811000 s: VX_ZONE_ERROR: [ownNodeKernelInit:606] If the target callbacks have been registered, please ensure no errors are occurring within the create callback of this kernel
18753.811014 s: VX_ZONE_ERROR: [ownGraphNodeKernelInit:690] kernel init for node 0, kernel com.ti.tidl:1:1 ... failed !!!
18753.811032 s: VX_ZONE_ERROR: [ TIDL subgraph 1332 ] Node kernel init failed
18753.811042 s: VX_ZONE_ERROR: [ TIDL subgraph 1332 ] Graph verify failed
18753.811111 s: VX_ZONE_ERROR: [ownGraphScheduleGraphWrapper:944] graph is not in a state required to be scheduled
18753.811122 s: VX_ZONE_ERROR: [vxProcessGraph:868] schedule graph failed
18753.811133 s: VX_ZONE_ERROR: [vxProcessGraph:873] wait graph failed
ERROR: Running TIDL graph ... Failed !!!
average time: 49.384 ms
Feature vector statistics:
Dimension: 512
Min value: 0
Max value: 0
Mean value: 0
Feature vector saved to face_aligned_1.jpg.features.txt
APP: Deinit ... !!!
REMOTE_SERVICE: Deinit ... !!!
REMOTE_SERVICE: Deinit ... Done !!!
18753.828821 s: IPC: Deinit ... !!!
18753.829796 s: IPC: DeInit ... Done !!!
18753.829828 s: MEM: Deinit ... !!!
18753.829842 s: DDR_SHARED_MEM: Alloc's: 8 alloc's of 135423796 bytes
18753.829852 s: DDR_SHARED_MEM: Free's : 8 free's of 135423796 bytes
18753.829861 s: DDR_SHARED_MEM: Open's : 0 allocs of 0 bytes
18753.829876 s: MEM: Deinit ... Done !!!
APP: Deinit ... Done !!!
Could you please share a minimal example or detailed steps showing how to:
-
Load the converted
.onnx(or.tflite) model using tidlcpp -
Initialize the TIDL context and allocate input/output tensors
-
Run inference and read back the output tensor data
Any sample code or pointers on integrating tidlcpp into my application would be hugely helpful.
Best regards,
Hung