Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Does LCE support deployment on ARM32 Cortex-M7? #814

Open
Oslomayor opened this issue Nov 7, 2024 · 3 comments
Open

Does LCE support deployment on ARM32 Cortex-M7? #814

Oslomayor opened this issue Nov 7, 2024 · 3 comments

Comments

@Oslomayor
Copy link

Hi all,

I am urgently seeking to deploy the TFLite models converted using Larq Compute Engine (LCE) on an ARM32 device, specifically a Cortex-M7 CPU, the STM32F7 series MCU.

I have seen some related issues, such as #647, #688.
I have also noticed the "arm32" keyword in the LCE source code, kernels_arm32.h.
image

Does LCE support deployment on ARM32 Cortex-M7 processors?
Is there some relevant documentation or sample code for me to reference, or are there any other solutions that would allow me to deploy BNN TFLite models on the Cortex-M7?

@Tombana
Copy link
Collaborator

Tombana commented Nov 7, 2024

Hi @Oslomayor.
Plumerai (the company that created Larq Compute Engine) offers an inference engine for Cortex-M CPUs, but this is a paid product and not open source. You can contact Plumerai through this form https://plumerai.com/contact_us, and the documentation of the inference engine can be found at https://docs.plumerai.com/1.16/inference_engine/ .

@Oslomayor
Copy link
Author

Hi @Tombana
Thank you for the information you provided. Plumerai's inference engine seems to support int8 and int16 quantized models, just as it states in the documentation: "Plumerai's inference engine provides fast execution of INT8 quantized or INT16 quantized deep learning models in tiny memory spaces." However, what I need is to deploy int1 models on Cortex-M CPUs.

@Tombana
Copy link
Collaborator

Tombana commented Nov 8, 2024

You're correct, support for 1-bit layers is not mentioned in the public documentation. However, 2D binary convolutions are supported with optimized implementations for Cortex-M4 and Cortex-M7.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants