paper-with-me

Papers

Efficient Neural Network Deployment for Microcontroller

2020-07-02 · Hasan Unlu

Edge computing for neural networks is getting important especially for low power applications and offline devices. TensorFlow Lite and PyTorch Mobile were released for this purpose. But they mainly support mobile devices instead of microcontroller level yet. Microcontroller support is an emerging area now. There are many approaches to reduce network size and compute load like pruning, binarization and layer manipulation i.e. operator reordering. This paper is going to explore and generalize convolution neural network deployment for microcontrollers with two novel optimization proposals offering memory saving and compute efficiency in 2D convolutions as well as fully connected layers. The first one is in-place max-pooling, if the stride is greater than or equal to pooling kernel size. The second optimization is to use ping-pong buffers between layers to reduce memory consumption significantly. The memory savings and performance will be compared with CMSIS-NN framework developed for ARM Cortex-M CPUs. The final purpose is to develop a tool consuming PyTorch model with trained network weights, and it turns into an optimized inference engine(forward pass) in C/C++ for low memory(kilobyte level) and limited computing capable microcontrollers.

📄 PDF Abstract BibTeX arXiv:2007.01348

Code (1)

biarmic/pytorch-compression-for-mcu pytorch

Tasks

BinarizationEdge-computingEfficient Neural Network

Methods 이 논문이 사용한 방법론

Convolution A convolution is a type of matrix operation, consisting of a kernel, a small matrix of weights, that slides over input data performing element-wise multiplication with the…

Similar Papers 제목 키워드 기반

Machine Learning for Microcontroller-Class Hardware: A Review

2022-05-29 · Swapnil Sayan Saha, Sandeep Singh Sandha, Mani Srivastava

The advancements in machine learning opened a new opportunity to bring intelligence to the low-end Internet-of-Things nodes such as microcontrollers. Conventional machine learning deployment has high memory and compute f…

BIG-bench Machine Learning

OpTC -- A Toolchain for Deployment of Neural Networks on AURIX TC3xx Microcontrollers

2024-04-24 · Christian Heidorn, Frank Hannig, Dominik Riedelbauch, Christoph Strohmeyer 외

The AURIX 2xx and 3xx families of TriCore microcontrollers are widely used in the automotive industry and, recently, also in applications that involve machine learning tasks. Yet, these applications are mainly engineered…

Code Generation

Quantization and Deployment of Deep Neural Networks on Microcontrollers

2021-05-27 · Pierre-Emmanuel Novac, Ghouthi Boukli Hacene, Alain Pegatoquet, Benoît Miramond 외

Embedding Artificial Intelligence onto low-power devices is a challenging task that has been partly overcome with recent advances in machine learning and hardware design. Presently, deep neural networks can be deployed o…

Activity RecognitionHuman Activity Recognitionobject-detectionObject Detection+3

Energy-efficient Deployment of Deep Learning Applications on Cortex-M based Microcontrollers using Deep Compression

2022-05-20 · Mark Deutel, Philipp Woller, Christopher Mutschler, Jürgen Teich

Large Deep Neural Networks (DNNs) are the backbone of today's artificial intelligence due to their ability to make accurate predictions when being trained on huge datasets. With advancing technologies, such as the Intern…

Quantization

Memory-Driven Mixed Low Precision Quantization For Enabling Deep Network Inference On Microcontrollers

2019-05-30 · Manuele Rusci, Alessandro Capotondi, Luca Benini

This paper presents a novel end-to-end methodology for enabling the deployment of low-error deep networks on microcontrollers. To fit the memory and computational limitations of resource-constrained edge-devices, we expl…

Quantization