fix(knowing app/yolov2): AI address error while sensor output and net input height mismatch

This commit is contained in:
yangtuo250 2021-12-15 17:12:34 +08:00
parent 203184e18c
commit 4640055ab6
2 changed files with 17 additions and 3 deletions

View File

@ -97,9 +97,18 @@ void k210_detect(char *json_file_path)
}
}
unsigned char *model_data_align = (unsigned char *)(((unsigned int)model_data + 255) & (~255));
dvp_set_ai_addr((uint32_t)kpurgbbuffer,
(uint32_t)(kpurgbbuffer + detect_params.net_input_size[0] * detect_params.net_input_size[1]),
(uint32_t)(kpurgbbuffer + detect_params.net_input_size[0] * detect_params.net_input_size[1] * 2));
// dvp_set_ai_addr((uint32_t)kpurgbbuffer,
// (uint32_t)(kpurgbbuffer + detect_params.net_input_size[0] * detect_params.net_input_size[1]),
// (uint32_t)(kpurgbbuffer + detect_params.net_input_size[0] * detect_params.net_input_size[1] * 2));
dvp_set_ai_addr(
(uint32_t)(kpurgbbuffer +
detect_params.net_input_size[1] * (detect_params.net_input_size[0] - detect_params.sensor_output_size[0])),
(uint32_t)(kpurgbbuffer +
detect_params.net_input_size[1] * (detect_params.net_input_size[0] - detect_params.sensor_output_size[0]) +
detect_params.net_input_size[0] * detect_params.net_input_size[1]),
(uint32_t)(kpurgbbuffer +
detect_params.net_input_size[1] * (detect_params.net_input_size[0] - detect_params.sensor_output_size[0]) +
detect_params.net_input_size[0] * detect_params.net_input_size[1] * 2));
if (kpu_load_kmodel(&detect_task, model_data_align) != 0) {
printf("\nmodel init error\n");
close(g_fd);

View File

@ -91,6 +91,11 @@ yolov2_params_t param_parse(char *json_file_path)
params_return.sensor_output_size[i] = json_array_item->valueint;
printf("%d: %d\n", i, params_return.sensor_output_size[i]);
}
// check sensor output width and net input width
if (params_return.sensor_output_size[1] != params_return.net_input_size[1]) {
printf("Net input width must match sensor output width!\n");
exit(-1);
}
// kmodel_path
json_item = cJSON_GetObjectItem(json_obj, "kmodel_path");
memset(params_return.kmodel_path, 0, 127);