return err;
}
+int perform_configure_set_input_data_type(mv_engine_config_h engine_cfg)
+{
+ int err = MEDIA_VISION_ERROR_NONE;
+ int dataType = 0;
+ while (-1 == input_int(
+ "Input Tensor Data Type:",
+ 0,
+ 4,
+ &dataType)) {
+ printf("Invalid type! Try again.\n");
+ }
+
+ err = mv_engine_config_set_int_attribute(engine_cfg,
+ MV_INFERENCE_INPUT_DATA_TYPE,
+ (mv_inference_data_type_e)dataType);
+ if (err != MEDIA_VISION_ERROR_NONE) {
+ printf("Fail to set input tensor data type: %d\n", dataType);
+ }
+
+ return err;
+}
+
int perform_configure_set_model_userfile_path(mv_engine_config_h engine_cfg)
{
int err = MEDIA_VISION_ERROR_NONE;
int err = MEDIA_VISION_ERROR_NONE;
int sel_opt = 0;
- const int options[12] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 ,12};
- const char *names[12] = { "Set Model Configuration",
+ const int options[13] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 ,12, 13};
+ const char *names[13] = { "Set Model Configuration",
"Set Model Weights",
+ "Set Model Data Type",
"Set Model UserFile",
"Set Model MeanFile",
"Set Image Scale",
sel_opt = 0;
break;
case 3:
- err = perform_configure_set_model_userfile_path(handle);
+ err = perform_configure_set_input_data_type(handle);
sel_opt = 0;
break;
case 4:
- err = perform_configure_set_model_mean_value(handle);
+ err = perform_configure_set_model_userfile_path(handle);
sel_opt = 0;
break;
case 5:
+ err = perform_configure_set_model_mean_value(handle);
+ sel_opt = 0;
+ break;
+ case 6:
err = perform_configure_set_image_scale(handle);
sel_opt = 0;
break;
- case 6:
+ case 7:
err = perform_configure_set_confidence_threshold(handle);
sel_opt = 0;
break;
- case 7:
+ case 8:
err = perform_configure_set_backend(handle);
sel_opt = 0;
break;
- case 8:
+ case 9:
err = perform_configure_set_target(handle);
sel_opt = 0;
break;
- case 9:
+ case 10:
err = perform_configure_set_tensor_width(handle);
sel_opt = 0;
break;
- case 10:
+ case 11:
err = perform_configure_set_tensor_height(handle);
sel_opt = 0;
break;
- case 11:
+ case 12:
err = perform_configure_set_tensor_channels(handle);
sel_opt = 0;
break;
- case 12:
+ case 13:
err = MEDIA_VISION_ERROR_NONE;
break;
default:
MV_INFERENCE_MODEL_WEIGHT_FILE_PATH,
IC_TFLITE_WEIGHT_PATH);
+ mv_engine_config_set_int_attribute(handle,
+ MV_INFERENCE_INPUT_DATA_TYPE,
+ MV_INFERENCE_DATA_FLOAT32);
+
mv_engine_config_set_string_attribute(handle,
MV_INFERENCE_MODEL_USER_FILE_PATH,
IC_LABEL_PATH);
MV_INFERENCE_MODEL_WEIGHT_FILE_PATH,
IC_TFLITE_WEIGHT_PATH);
+ mv_engine_config_set_int_attribute(handle,
+ MV_INFERENCE_INPUT_DATA_TYPE,
+ MV_INFERENCE_DATA_FLOAT32);
+
mv_engine_config_set_string_attribute(handle,
MV_INFERENCE_MODEL_USER_FILE_PATH,
IC_LABEL_PATH);
MV_INFERENCE_MODEL_WEIGHT_FILE_PATH,
IC_OPENCV_WEIGHT_CAFFE_PATH);
+ mv_engine_config_set_int_attribute(handle,
+ MV_INFERENCE_INPUT_DATA_TYPE,
+ MV_INFERENCE_DATA_FLOAT32);
+
mv_engine_config_set_string_attribute(handle,
MV_INFERENCE_MODEL_CONFIGURATION_FILE_PATH,
IC_OPENCV_CONFIG_CAFFE_PATH);
MV_INFERENCE_MODEL_WEIGHT_FILE_PATH,
OD_TFLITE_WEIGHT_PATH);
+ mv_engine_config_set_int_attribute(handle,
+ MV_INFERENCE_INPUT_DATA_TYPE,
+ MV_INFERENCE_DATA_FLOAT32);
+
mv_engine_config_set_string_attribute(handle,
MV_INFERENCE_MODEL_USER_FILE_PATH,
OD_LABEL_PATH);
MV_INFERENCE_MODEL_WEIGHT_FILE_PATH,
OD_TFLITE_WEIGHT_PATH);
+ mv_engine_config_set_int_attribute(handle,
+ MV_INFERENCE_INPUT_DATA_TYPE,
+ MV_INFERENCE_DATA_FLOAT32);
+
mv_engine_config_set_string_attribute(handle,
MV_INFERENCE_MODEL_USER_FILE_PATH,
OD_LABEL_PATH);
MV_INFERENCE_MODEL_WEIGHT_FILE_PATH,
FD_TFLITE_WEIGHT_PATH);
+ mv_engine_config_set_int_attribute(handle,
+ MV_INFERENCE_INPUT_DATA_TYPE,
+ MV_INFERENCE_DATA_FLOAT32);
+
mv_engine_config_set_double_attribute(handle,
MV_INFERENCE_MODEL_MEAN_VALUE,
127.5);
MV_INFERENCE_MODEL_WEIGHT_FILE_PATH,
FD_TFLITE_WEIGHT_PATH);
+ mv_engine_config_set_int_attribute(handle,
+ MV_INFERENCE_INPUT_DATA_TYPE,
+ MV_INFERENCE_DATA_FLOAT32);
+
mv_engine_config_set_double_attribute(handle,
MV_INFERENCE_MODEL_MEAN_VALUE,
127.5);
MV_INFERENCE_MODEL_WEIGHT_FILE_PATH,
FLD_TFLITE_WEIGHT_PATH);
+ mv_engine_config_set_int_attribute(handle,
+ MV_INFERENCE_INPUT_DATA_TYPE,
+ MV_INFERENCE_DATA_FLOAT32);
+
mv_engine_config_set_double_attribute(handle,
MV_INFERENCE_MODEL_MEAN_VALUE,
0.0);
MV_INFERENCE_MODEL_WEIGHT_FILE_PATH,
PE_TFLITE_WEIGHT_PATH);
+ mv_engine_config_set_int_attribute(handle,
+ MV_INFERENCE_INPUT_DATA_TYPE,
+ MV_INFERENCE_DATA_FLOAT32);
+
mv_engine_config_set_double_attribute(handle,
MV_INFERENCE_MODEL_MEAN_VALUE,
0.0);