Updating or Replacing the .tflite File in a Project

This guide describes how to swap out the model in an existing project. It assumes that the project uses the Flatbuffer Converter Tool.

Replace the Model

To replace the model in an existing project, drag-and-drop the new model file into the config/tflite/ directory of the project. If the new model has the same file name as the previous model, accept the prompt to overwrite the file. If the new model has a different name, delete or rename the old .tflite file such that it no longer has the .tflite extension. The Flatbuffer Converter Tool will automatically execute when the directory watcher notices that a different .tflite file is present.

Note: If you have multiple .tflite files in the config/tflite/ directory, the converter tool will pick the first file in alphabetical order. Hence the recommendation to rename or delete any old models to ensure that the tool uses the correct file.

Inspect the Model

You can take steps to ensure that the automatic regeneration of the C arrays and headers from the .tflite file executed as expected. Any of the below steps can be taken if you're ever unsure of what model is part of your application binary.

Check the Model Size

The generated file autogen/sl_tflite_micro_model.c defines a size variable sl_tflite_model_len. This number can be compared to the file size of the .tflite file in bytes, e.g., by right-clicking the .tflite file and looking at the value of Properties > Resource > Size.

Check the Operators Used by the Model

The generated file autogen/sl_tflite_micro_opcode_resolver.h contains multiple calls to tflite::MicroMutableOpResolver::AddXXX, where XXX is the name of operators used by the model. This can be compared to the operators you know the model should use.

Check the Model Parameters

If the .tflite file was generated using the Silicon Labs Machine Learning Toolkit, it contains metadata that is generated into autogen/sl_tflite_micro_model_parameters.h. These parameters can be compared to the expected parameters.

Force Generation of C files

If anything happens that makes the generated .c and .h get out of sync with the .tflite file, the project can be forcefully regenerated by pressing the "Force Generation" button on the Project Details pane of the Project Configurator.