更換範例 solution_kdp2_host_mipi 中的模型
您好,
我正透過Kneron KL520 series AI SoC – 96Board進行開發,目前使用的SDK版本為2.1.0。
我嘗試使用demo_customize_inf_multiple_models.c中的KNERON_FD_MASK_MBSSD_200_200_3來進行口罩人臉辨識。
故我將kdp2_host_mipi.c中的send_to_inference_queue()的model id改為 KNERON_FD_MASK_MBSSD_200_200_3、job id改為DEMO_KL520_CUSTOMIZE_INF_MULTIPLE_MODEL_JOB_ID。
也在application_init.c中的_app_func新增了DEMO_KL520_CUSTOMIZE_INF_MULTIPLE_MODEL_JOB_ID的switch case,但當我實際運行後卻發現96Board的顯示螢幕是全黑的。
故想請教以上的使用方式是否正確 ?
若有須改進之處再麻煩給予指教,
謝謝您。
Tagged:
The discussion has been closed due to inactivity. To continue with the topic, please feel free to post a new discussion.
Comments
您好,
KL520_SDK裡面的models_520.nef裡面只有包含TINY_YOLO_V3_224_224_3,沒有KNERON_FD_MASK_MBSSD_200_200_3,所以host_mipi會跑不起來(如果用UART console,可以看到會顯示scpu error)。
還有,send_to_inference_queue()裡面的total_size是yolo的格式,而demo_customize_inf_single_model和demo_customize_inf_multiple_models (裡面有KNERON_FD_MASK_MBSSD_200_200_3) 用的inference header格式都不一樣,這個也會導致錯誤。
您好,
順帶一題,如果要用KNERON_FD_MASK_MBSSD_200_200_3來做inference的話:
-可以把KNERON_FD_MASK_MBSSD_200_200_3的model (models_520.nef) (在Kneron PLUS的models的ssd_fd_lm裡面) 放在firmware/utils/bin_gen/flash_bin裡面 (原本裡面的model_520.nef是TINY_YOLO_V3_224_224_3的model)
-send_to_inference的job_id可以不用改,只要改model_id = KNERON_FD_MASK_MBSSD_200_200_3
-光是這樣,會有找不到這個model的postprocess,所以會需要到NCPU的model_ftr_table.c加上KNERON_FD_MASK_MBSSD_200_200_3對應的postprocess function,如下圖
-build完的SCPU和NCPU會在firmware/utils/bin_gen/flash_bin裡面,可以和剛剛放的models_520.nef一起用bin_gen.py生成.bin檔
-將生成的.bin檔(flash_image.bin,在firmware/utils/bin_gen裡面) 放到firmware/utils/flash_programmer裡面,用flash_programmer.py燒到KL520上
這樣應該就可以用KNERON_FD_MASK_MBSSD_200_200_3的模型跑inference了。