| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
|
| #ifndef _EI_CLASSIFIER_MODEL_VARIABLES_H_ |
| #define _EI_CLASSIFIER_MODEL_VARIABLES_H_ |
|
|
| |
| |
| |
| |
| |
| |
|
|
| #include <stdint.h> |
| #include "model_metadata.h" |
| #include "tflite-model/tflite_learn_1052106_5_compiled.h" |
| #include "edge-impulse-sdk/classifier/ei_model_types.h" |
| #include "edge-impulse-sdk/classifier/inferencing_engines/engines.h" |
| #include "edge-impulse-sdk/classifier/postprocessing/ei_postprocessing_common.h" |
|
|
| const char* ei_classifier_inferencing_categories_1052106_1[] = { "background_noise", "hey_edge", "unknown" }; |
|
|
| ei_dsp_named_axis_t ei_dsp_config_1052106_6_named_axes[] = { |
| { .name = "Signal", .axis = 0 } |
| }; |
| size_t ei_dsp_config_1052106_6_named_axes_size = 1; |
| EI_CLASSIFIER_DSP_AXES_INDEX_TYPE ei_dsp_config_1052106_6_axes[] = { 0 }; |
| const uint32_t ei_dsp_config_1052106_6_axes_size = 1; |
| ei_dsp_config_mfe_t ei_dsp_config_1052106_6 = { |
| 6, |
| 4, |
| 1, |
| ei_dsp_config_1052106_6_named_axes, |
| ei_dsp_config_1052106_6_named_axes_size, |
| 0.02f, |
| 0.01f, |
| 40, |
| 256, |
| 0, |
| 0, |
| 101, |
| -52 |
| }; |
|
|
| const uint8_t ei_dsp_blocks_1052106_1_size = 1; |
| ei_model_dsp_t ei_dsp_blocks_1052106_1[ei_dsp_blocks_1052106_1_size] = { |
| { |
| 6, |
| 3960, |
| &extract_mfe_features, |
| (void*)&ei_dsp_config_1052106_6, |
| ei_dsp_config_1052106_6_axes, |
| ei_dsp_config_1052106_6_axes_size, |
| 1, |
| nullptr, |
| nullptr, |
| } |
| }; |
| const ei_config_tflite_eon_graph_t ei_config_graph_1052106_5 = { |
| .implementation_version = 1, |
| .model_init = &tflite_learn_1052106_5_init, |
| .model_invoke = &tflite_learn_1052106_5_invoke, |
| .model_reset = &tflite_learn_1052106_5_reset, |
| .model_input = &tflite_learn_1052106_5_input, |
| .model_output = &tflite_learn_1052106_5_output, |
| }; |
|
|
| const uint8_t ei_output_tensors_indices_1052106_5[1] = { 0 }; |
| const uint8_t ei_output_tensors_size_1052106_5 = 1; |
| ei_learning_block_config_tflite_graph_t ei_learning_block_config_1052106_5 = { |
| .implementation_version = 1, |
| .block_id = 5, |
| .output_tensors_indices = ei_output_tensors_indices_1052106_5, |
| .output_tensors_size = ei_output_tensors_size_1052106_5, |
| .quantized = 1, |
| .compiled = 1, |
| .graph_config = (void*)&ei_config_graph_1052106_5, |
| .dequantize_output = 0, |
| }; |
|
|
| const uint8_t ei_learning_blocks_1052106_1_size = 1; |
| const uint32_t ei_learning_block_1052106_5_inputs[1] = { 6 }; |
| const uint8_t ei_learning_block_1052106_5_inputs_size = 1; |
| const ei_learning_block_t ei_learning_blocks_1052106_1[ei_learning_blocks_1052106_1_size] = { |
| { |
| 5, |
| &run_nn_inference, |
| (void*)&ei_learning_block_config_1052106_5, |
| EI_CLASSIFIER_IMAGE_SCALING_NONE, |
| ei_learning_block_1052106_5_inputs, |
| ei_learning_block_1052106_5_inputs_size, |
| }, |
| }; |
|
|
| ei_fill_result_classification_i8_config_t ei_fill_result_classification_i8_config_1052106_5 = { |
| .zero_point = -128, |
| .scale = 0.00390625 |
| }; |
|
|
| const size_t ei_postprocessing_blocks_1052106_1_size = 1; |
| const ei_postprocessing_block_t ei_postprocessing_blocks_1052106_1[ei_postprocessing_blocks_1052106_1_size] = { |
| { |
| .block_id = 5, |
| .type = EI_CLASSIFIER_MODE_CLASSIFICATION, |
| .init_fn = NULL, |
| .deinit_fn = NULL, |
| .postprocess_fn = &process_classification_i8, |
| .display_fn = NULL, |
| .config = (void*)&ei_fill_result_classification_i8_config_1052106_5, |
| .input_block_id = 5 |
| }, |
| }; |
|
|
| const uint8_t freeform_outputs_1052106_1_size = 0; |
|
|
| uint32_t *freeform_outputs_1052106_1 = nullptr; |
|
|
| const ei_impulse_t impulse_1052106_1 = { |
| .project_id = 1052106, |
| .project_owner = "Eoin", |
| .project_name = "Hey Edge - Wake Word / Keyword Spotting (KWS) Model", |
| .impulse_id = 1, |
| .impulse_name = "Impulse #1", |
| .deploy_version = 1, |
|
|
| .nn_input_frame_size = 3960, |
| .raw_sample_count = 16000, |
| .raw_samples_per_frame = 1, |
| .dsp_input_frame_size = 16000 * 1, |
| .input_width = 0, |
| .input_height = 0, |
| .input_frames = 0, |
| .interval_ms = 0.0625, |
| .frequency = 16000, |
|
|
| .dsp_blocks_size = ei_dsp_blocks_1052106_1_size, |
| .dsp_blocks = ei_dsp_blocks_1052106_1, |
|
|
| .learning_blocks_size = ei_learning_blocks_1052106_1_size, |
| .learning_blocks = ei_learning_blocks_1052106_1, |
|
|
| .postprocessing_blocks_size = ei_postprocessing_blocks_1052106_1_size, |
| .postprocessing_blocks = ei_postprocessing_blocks_1052106_1, |
|
|
| .output_tensors_size = 1, |
|
|
| .inferencing_engine = EI_CLASSIFIER_TFLITE, |
|
|
| .sensor = EI_CLASSIFIER_SENSOR_MICROPHONE, |
| .fusion_string = "audio", |
| .slice_size = (16000/4), |
| .slices_per_model_window = 4, |
|
|
| .has_anomaly = EI_ANOMALY_TYPE_UNKNOWN, |
| .label_count = 3, |
| .categories = ei_classifier_inferencing_categories_1052106_1, |
| .results_type = EI_CLASSIFIER_TYPE_CLASSIFICATION, |
| .freeform_outputs_size = freeform_outputs_1052106_1_size, |
| .freeform_outputs = freeform_outputs_1052106_1 |
| }; |
|
|
| ei_impulse_handle_t impulse_handle_1052106_1 = ei_impulse_handle_t( &impulse_1052106_1 ); |
|
|
| ei_impulse_handle_t& ei_default_impulse = impulse_handle_1052106_1; |
| constexpr auto& ei_classifier_inferencing_categories = ei_classifier_inferencing_categories_1052106_1; |
| const auto ei_dsp_blocks_size = ei_dsp_blocks_1052106_1_size; |
| ei_model_dsp_t *ei_dsp_blocks = ei_dsp_blocks_1052106_1; |
| #endif |
|
|