Model_variables.h Compile Errors

Question/Issue:
After retraining the model, use CMSIS-PACK to deploy it. After installing PACK, the model_variables.h file compilation error occurs. Compared with the previous model_variables.h file, some modifications have been made.

Project ID:
725736

Reproducibility:

  • Always

Environment:

  • Platform: [STM32F407]
  • Build Environment Details: [MDK KEIL5.36]
  • OS Version: [Windows 10]
  • Edge Impulse Version (Firmware): [1.72.17]
  • Project Version: [7.0.0]
    Logs/Attachments:

***/edgeimpulse\model-parameters/model_variables.h(104):
.output_tensors_indices = ei_output_tensors_indices_9,
^
***/edgeimpulse\model-parameters/model_variables.h(105):
.output_tensors_size = ei_output_tensors_size_9,
^
***/edgeimpulse\model-parameters/model_variables.h(129):
&run_nn_inference,
^~~~~~~~~~~~~~~~~
***/edgeimpulse\model-parameters/model_variables.h(129):
&run_nn_inference,
^~~~~~~~~~~~~~~~~
static_cast( )
**/edgeimpulse\model-parameters/model_variables.h(130):
(void
)&ei_learning_block_config_9,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
***/edgeimpulse\model-parameters/model_variables.h(132):
ei_learning_block_9_inputs,
^~~~~~~~~~~~~~~~~~~~~~~~~~
***/edgeimpulse\model-parameters/model_variables.h(133):
ei_learning_block_9_inputs_size,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
***/edgeimpulse\model-parameters/model_variables.h(137):
&run_kmeans_anomaly,
^~~~~~~~~~~~~~~~~~~
***/edgeimpulse\model-parameters/model_variables.h(137):
&run_kmeans_anomaly,
^~~~~~~~~~~~~~~~~~~
static_cast( )
**/edgeimpulse\model-parameters/model_variables.h(138):
(void
)&ei_learning_block_config_19,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
***/edgeimpulse\model-parameters/model_variables.h(140):
ei_learning_block_19_inputs,
^~~~~~~~~~~~~~~~~~~~~~~~~~~
***/edgeimpulse\model-parameters/model_variables.h(141):
ei_learning_block_19_inputs_size,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
***/edgeimpulse\model-parameters/model_variables.h(145):
const ei_fill_result_classification_i8_config_t ei_fill_result_classification_i8_config_9 = {
^
***/edgeimpulse\model-parameters/model_variables.h(154):
.type = EI_CLASSIFIER_MODE_CLASSIFICATION,
^
***/edgeimpulse\model-parameters/model_variables.h(157):
.postprocess_fn = &process_classification_i8,
^
13 errors generated.

Additional Information:
I just reinstalled the new PACK file, and the main program was not modified. Since this model_variables.h file is locked (read-only), the problem should be in the generated library file. Please tell me how to solve it, thank you!

@dannydeng,

When you reinstalled the new PACK did you reinstall also the EdgeImpulse.EI-SDK.x.y.z.pack?
The errors suggest that the model_variables.h and the EI-SDK are out of sync. They should always be updated together.

// Raul

@dannydeng,

I’ve found the issue. The EI-SDK.x.y.z pack in the export is outdated. We are working on a fix.

In the meantime can you grab the latest EI-SDK.x.y.z.pack which is (currently) version 1.72.14 from Arm Keil | EdgeImpulse EI-SDK and let me know whether this unblocks you.

// Raul

Hi @rjames ,

This version(EI-SDK.1.72.14 ) is usable and the compilation errors are fixed.
Thanks for your efforts!

1 Like

@dannydeng,

The issue has been resolved in Studio.
Thanks for reporting.

// Raul

1 Like

Hi @rjames ,

Today I encountered the same problem when generating the PACK file. The EI-SDK version downloaded in Studio was old(V.1.72.14), which caused the PACK version of the model to not match the version of EI-SDK. I downloaded the latest version(V.1.72.19) of EI-SDK according to the link Arm Keil | EdgeImpulse EI-SDK that you provided before, which is available.
In theory, the version update of Studio should not be slower than that of the ARM’s website. Otherwise, users who don’t know the reason will continue to report the same problem as mine, which is actually quite troubling!