0
\$\begingroup\$

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
\$\endgroup\$
12
  • 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\$ Commented Sep 26, 2023 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
    Commented Sep 26, 2023 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\$ Commented Sep 26, 2023 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\$ Commented Sep 26, 2023 at 2:13
  • \$\begingroup\$ @MathKeepsMeBusy Perhaps using I2C communication? I'm not sure about that. \$\endgroup\$ Commented Sep 26, 2023 at 2:15

0

Your Answer

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

Browse other questions tagged or ask your own question.