I would like to know what does EON Tuner take into account when looking for different models? because I’ve realised that depending on the board selected when working with giroscopes, the amount of models using a spectral analysis change.
I also noticed that when working with images with the same CPU architecture, but differen clock frequency the ammount of different topologies also change (e.g. at for Cortex-M33 128MHz 5xMovileNetV2 4xMovileNetV1 1xConv2D and for Cortex-M33 0xMovileNetV2 6xMovileNetV1 4xconv2D) so my doubt is if it is board dependant or CPU architecture dependat, or it is maybe memory depending?.
To sum up, I’d like to know if it’s due to the CPU architecture it is going to be implemented? And if it is so, what can I do if I am not using one of the supported boards to have good performing models in EON Tuner due to the difference of architectures or ammount of memory?
The EON tuner selects model parameters by varying the following parameters based on your selected target device (available RAM and ROM memory) and your selected target latency. We aim to select model variants that do not exceed the available memory and your latency target, but also to utilize the available resources optimally (e.g. by excluding very small/fast model variants that’ll leave your device resources under-utilized). There is also an element of randomness involved in the model variant selection, so you might see different model variants when re-running the EON tuner.
In the near future we’ll be releasing an API that will allow you to customize the EON Tuner search space: using this API you could for example exclude all ‘RGB’ models from the search space. If the board your using is not listed I recommend selecting a board with a similar memory & performance characteristics for now, I’ve added a task to our backlog to make it possible to add custom boards by specifying the available memory & performance characteristics for your board.
I hope this answers your question, please let me know if anything is unclear.