I have a new project that requires deploying deep learning algorithms on embedded chips.I'm new to this field, so I'm not quite sure what metrics do I need to choose based on.Such as how much RAM, flash memory, and cpu performance.The requirements of the project are as follows:

  • Under $15
  • Can be used for custom deep learning algorithm development.Having a suitable development framework,like CMSIS-NN
  • The size of quantized model is 640KB.The model is DTLN

I have searched for some possible microcontrollers before I asked:

  • STM32F4,STM32H7,STM32L4,STM32MP1 series
  • ESP32-S3,ESP32-S3-PICO-1
  • 1
    \$\begingroup\$ I would start by defining the data type and number of multiple-add operations needed per cycle. If you need floating point, no point in looking at systems that lack it or cannot do enough operations per second. Then go from there. \$\endgroup\$ Sep 26 at 2:03
  • \$\begingroup\$ it's sort of up to you - CPU performance only affects how fast your inference is. How fast do you need it to be? Does your application need to process 100 1024x1024 RGB images per second? 1 128x128 mono image every 5 seconds? Flash memory depends on what you want to do in addition to your model - you need enough flash to store your model, and the rest of the code, and maybe your input data? Depends on your application. RAM also depends on what you want to do - how many sets of input data will you have to hold at once (in addition to your model)? \$\endgroup\$
    – BeB00
    Sep 26 at 2:03
  • \$\begingroup\$ One of the main distinguishing factors between microprocessors are the "peripherals" that it has. Things like timers and pins that can be used for pulse width modulation, or support for various communication protocols including support for wireless protocols. etc. etc. etc. How is your micro-controller going to communicate with the rest of your system? \$\endgroup\$ Sep 26 at 2:06
  • \$\begingroup\$ @BeB00 Thank you for your advice. My input data is audio, I will cut the audio into 512-1024 length frames, the data type is float. Input data, models, and code add up to no more than 1024KB. My need for processing speed is to be able to process this audio in real time using the model. \$\endgroup\$ Sep 26 at 2:13
  • \$\begingroup\$ @MathKeepsMeBusy Perhaps using I2C communication? I'm not sure about that. \$\endgroup\$ Sep 26 at 2:15


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Browse other questions tagged or ask your own question.