Part Number: AM67A
尊敬的TI工程师:
您好
我们想要在am67a板端部署自己的onnx模型,将模型传输到板端,在板端调用时一直报错TIVX_PLATFORM_MAX_OBJ_DESC_SHM_INST参数超限,具体log显示如下:
root@j722s-evm:/opt/tidl_test# ./TI_DEVICE_armv8_test_dl_algo_host_rt.out Processing config file #0 : testvcs/config/tidl_infer_denoise.txt APP: Init ... !!! 16691.284979 s: MEM: Init ... !!! 16691.285081 s: MEM: Initialized DMA HEAP (fd=7) !!! 16691.285300 s: MEM: Init ... Done !!! 16691.285328 s: IPC: Init ... !!! 16691.363274 s: IPC: Init ... Done !!! REMOTE_SERVICE: Init ... !!! REMOTE_SERVICE: Init ... Done !!! 16691.385875 s: GTC Frequency = 200 MHz APP: Init ... Done !!! 16691.386054 s: VX_ZONE_INFO: Globally Enabled VX_ZONE_ERROR 16691.386073 s: VX_ZONE_INFO: Globally Enabled VX_ZONE_WARNING 16691.386087 s: VX_ZONE_INFO: Globally Enabled VX_ZONE_INFO 16691.387181 s: VX_ZONE_INFO: [tivxPlatformCreateTargetId:169] Added target MPU-0 16691.387432 s: VX_ZONE_INFO: [tivxPlatformCreateTargetId:169] Added target MPU-1 16691.387629 s: VX_ZONE_INFO: [tivxPlatformCreateTargetId:169] Added target MPU-2 16691.387792 s: VX_ZONE_INFO: [tivxPlatformCreateTargetId:169] Added target MPU-3 16691.387814 s: VX_ZONE_INFO: [tivxInitLocal:202] Initialization Done !!! 16691.387840 s: VX_ZONE_INFO: Globally Disabled VX_ZONE_INFO 16691.388470 s: VX_ZONE_ERROR: [ownContextCreateCmdObj:171] context object descriptor [0] allocation failed 16691.388490 s: VX_ZONE_ERROR: [ownContextCreateCmdObj:174] context object descriptor [0] allocation failed 16691.388505 s: VX_ZONE_ERROR: [ownContextCreateCmdObj:175] Exceeded max object descriptors available. Increase TIVX_PLATFORM_MAX_OBJ_DESC_SHM_INST value 16691.388520 s: VX_ZONE_ERROR: [ownContextCreateCmdObj:176] Increase TIVX_PLATFORM_MAX_OBJ_DESC_SHM_INST value in include/TI/soc/tivx_config_<soc>.h 16691.388556 s: VX_ZONE_ERROR: [vxCreateContext:1227] context objection creation failed 16691.388599 s: VX_ZONE_ERROR: [ownIsKernelInContext:732] Failed to lock context 16691.388614 s: VX_ZONE_ERROR: [ownGetErrorObject:55] Failed to lock context 16691.388627 s: VX_ZONE_ERROR: [vxGetStatus:1250] Reference is NULL 16691.388638 s: VX_ZONE_ERROR: [vxLoadKernels:225] Publish function for module openvx-core failed 16691.388769 s: VX_ZONE_ERROR: [ownIncrementReference:719] Failed to lock reference 16691.388788 s: VX_ZONE_ERROR: [ownAddReferenceToContext:422] Failed to lock context 16691.388801 s: VX_ZONE_ERROR: [ownCreateReference:830] Add reference to context failed 16691.388828 s: VX_ZONE_ERROR: [ownCreateReference:840] Failed to add to resources table 16691.388841 s: VX_ZONE_ERROR: [ownGetErrorObject:55] Failed to lock context 16691.388852 s: VX_ZONE_ERROR: [vxGetStatus:1250] Reference is NULL 16691.388866 s: VX_ZONE_ERROR: [vxGetStatus:1250] Reference is NULL 16691.388877 s: VX_ZONE_ERROR: [vxGetStatus:1250] Reference is NULL TIDL_RT_OVX: ERROR: Init TIDL failed # NETWORK_INIT_TIME = 264790381.29 (in ms, c7x @1GHz) 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/armv8/../src/tidl_tb.c, of function : tidlMultiInstanceTest Invalid Error Type!。
可以确认在pc端使用11_00版本(板端一致)edgeai-tidl-tools的onnxrt_ep.py脚本编译和推理均可成功,且确认output_binaries文件中生成的结果解析正确。使用的编译参数如下:
"dirtynet-v2": create_model_config(
task_type="classification",
source=dict(
infer_shape=True,
),
preprocess=dict(
resize=384,
crop=576,
data_layout="NCHW",
resize_with_pad=False,
reverse_channels=False,
),
session=dict(
session_name="onnxrt",
model_path=os.path.join(models_base_path, "dirtynet_v2.onnx"),
input_mean=[123.675, 116.28, 103.53],
input_scale=[0.017125, 0.017507, 0.017429],
input_optimization=True,
),
postprocess=dict(),
extra_info=dict(num_images=3, num_classes=5),
runtime_options={
'advanced_options:quantization_bits': 16,
'advanced_options:calibration_frames': 10,
'advanced_options:num_cores': 2,
'advanced_options:inference_mode': 2,
'advanced_options:quantization_scale_type': 0,
'advanced_options:accuracy_level': 3,
'advanced_options:high_precision_ref': 1,
}
),
问题如上,期待您的回复!
此致
敬礼

