Jump to content
    

Вопрос по форматам представления NN, в частности для EdgeAI

Добрый день,

 

меня заинтересовал вопрос использования NN-ускорителей в микроконтроллерах для решения задач цифровой обработки сигналов. В качестве платформы думаю взять для начала STM32N6. Поиск в сети показал, что построить сеть, которая будет считать, например, FFT, проблемой не является. Однако абсолютно все примеры, которые я нашёл, написаны на Питоне, а CubeMX в качестве описания модели принимает только форматы Keras, TFlite и ONNX. Буду благодарен, если кто-нибудь мне вкратце объяснит, в чём разница и как конвертируется одно в другое. 

Share this post


Link to post
Share on other sites

ну а кол-во правильных ответов, тоже будет типичным для NN? 85-90%?

или речь идёт не об обычном обучении, а о некоем программировании NN-ускорителя?

Edited by gridinp

Share this post


Link to post
Share on other sites

Естественно. Ведь нейрон - это просто MAC плюс функция активации. Например чтобы сделать КИХ надо запрограммировать в нейрон коэффиценты и линейную активационную функцию. БПФ - это один полный слой, в котором в качестве весов используются соответствующие коэффиценты (exp(i*2*pi/n)). 

Share this post


Link to post
Share on other sites

хм, действительно 
https://docs.pytorch.org/docs/stable/generated/torch.nn.Conv1d.html

надо почитать, pytorch насколько я понимаю может сгенерить ONNX библиотечной функцией

 

Share this post


Link to post
Share on other sites

On 3/4/2026 at 9:20 AM, gridinp said:

надо почитать, pytorch насколько я понимаю может сгенерить ONNX библиотечной функцией

 

Спасибо, я посмотрел. Насколько я понял, это точно такая же вещь, как Keras и Tensorflow. То есть позволяет c помощью кода на Питоне создавать и тренировать модели. Мне же нужно лишь сохранить уже предопределённые модели в другой формат. Тренировки они не требуют, а исполняться будут на микроконтроллере в собственном рантайме.

Share this post


Link to post
Share on other sites

1 час назад, DmitryR сказал:

Спасибо, я посмотрел. Насколько я понял, это точно такая же вещь, как Keras и Tensorflow. То есть позволяет c помощью кода на Питоне создавать и тренировать модели. Мне же нужно лишь сохранить уже предопределённые модели в другой формат. Тренировки они не требуют, а исполняться будут на микроконтроллере в собственном рантайме.

это наверное надо смотреть api разработчика для которого ваша модель предопределена, я только работал немного с yolo и там множество конвертеров для того, чтобы на разной аппаратуре можно было делать inference ихней NN, я конвертировал в openvino и выполнял на c++ для intel gpu, там же есть конвертеры для rockchip NPU и прочие

Share this post


Link to post
Share on other sites

On 3/4/2026 at 2:15 PM, gridinp said:

это наверное надо смотреть api разработчика для которого ваша модель предопределена

Нет никакой "моей" модели. Эти модели как раз заложены в API, что Keras, что TensorFlow. Эти API доступны через Python. Эта часть мне полностью ясна - как это всё установить, запустить, и промоделировать. Вопрос исключительно в том, что у этих API, что TensorFlow, что Keras есть, оказывается, свои форматы представления сетей помимо Python. Более того я тут даже понял, как навернув это всё у себя, сделать сохранение - в том же интерфейсе Python есть для этого команды. Но мне кажется, что ставить всё это только ради того, чтобы сделать конверсию - как-то тупо. Это IMHO примерно как ставить полную студию по производству видео для того, чтобы сконвертировать AVI в MKV.

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...