Error: use of undeclared identifier 'undefined' .grid_size_x = undefined

Hi,

We currently have an open issue blocking deployment of older FOMO-AD models:

./model-parameters/model_variables.h:141:20: error: use of undeclared identifier 'undefined'
    .grid_size_x = undefined,
                   ^
./model-parameters/model_variables.h:142:20: error: use of undeclared identifier 'undefined'
    .grid_size_y = undefined

Retraining your model fixes the issue - we’re working on a hotfix.

Hello Jan,

I encountered a similar problem yesterday. After retraining, the problem still exists. Can you see if this problem is caused by the same reason?

build output:

..\model-parameters/model_variables.h(102): error: field designator 'output_tensors_indices' does not refer to any field in type 'ei_learning_block_config_tflite_graph_t'
    .output_tensors_indices = ei_output_tensors_indices_25,
     ^
..\model-parameters/model_variables.h(103): error: field designator 'output_tensors_size' does not refer to any field in type 'ei_learning_block_config_tflite_graph_t'
    .output_tensors_size = ei_output_tensors_size_25,
     ^
..\model-parameters/model_variables.h(115): error: type 'EI_IMPULSE_ERROR (*)(const ei_impulse_t *, ei_feature_t *, std::uint32_t, std::uint32_t *, std::uint32_t, ei_impulse_result_t *, void *, bool)' (aka 'EI_IMPULSE_ERROR (*)(const ei_impulse *, ei_feature_t *, unsigned int, unsigned int *, unsigned int, ei_impulse_result_t *, void *, bool)') cannot be narrowed to 'bool' in initializer list [-Wc++11-narrowing]
        &run_nn_inference,
        ^~~~~~~~~~~~~~~~~
..\model-parameters/model_variables.h(115): note: insert an explicit cast to silence this issue
        &run_nn_inference,
        ^~~~~~~~~~~~~~~~~
        static_cast<bool>( )
..\model-parameters/model_variables.h(116): error: cannot initialize a member subobject of type 'EI_IMPULSE_ERROR (*)(const ei_impulse *, ei_feature_t *, std::uint32_t, std::uint32_t *, std::uint32_t, ei_impulse_result_t *, void *, bool)' (aka 'EI_IMPULSE_ERROR (*)(const ei_impulse *, ei_feature_t *, unsigned int, unsigned int *, unsigned int, ei_impulse_result_t *, void *, bool)') with an rvalue of type 'void *'
        (void*)&ei_learning_block_config_25,
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
..\model-parameters/model_variables.h(118): error: cannot initialize a member subobject of type 'int' with an lvalue of type 'const std::uint32_t [1]'
        ei_learning_block_25_inputs,
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
..\model-parameters/model_variables.h(119): error: cannot initialize a member subobject of type 'const std::uint32_t *' (aka 'const unsigned int *') with an lvalue of type 'const std::uint8_t' (aka 'const unsigned char')
        ei_learning_block_25_inputs_size,
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
..\model-parameters/model_variables.h(123): error: unknown type name 'ei_fill_result_classification_i8_config_t'
const ei_fill_result_classification_i8_config_t ei_fill_result_classification_i8_config_25 = {
      ^
..\model-parameters/model_variables.h(132): error: use of undeclared identifier 'EI_CLASSIFIER_MODE_CLASSIFICATION'
        .type = EI_CLASSIFIER_MODE_CLASSIFICATION,
                ^
..\model-parameters/model_variables.h(135): error: use of undeclared identifier 'process_classification_i8'
        .postprocess_fn = &process_classification_i8,
                           ^
9 errors generated.

My Posts:

thanks a lot!

Hi @dannydeng , I don’t think it’s related - this looks like a missing include somewhere. But have pinged the embedded folks.

@dannydeng,

I’m yet to reproduce the issue. This may be another issue. Let’s continue on your post.