All Projects → ARM-software → Ml Kws For Mcu

ARM-software / Ml Kws For Mcu

Licence: apache-2.0
Keyword spotting on Arm Cortex-M Microcontrollers

Programming Languages

python
139335 projects - #7 most used programming language
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Ml Kws For Mcu

Mnn
MNN is a blazing fast, lightweight deep learning framework, battle-tested by business-critical use cases in Alibaba
Stars: ✭ 6,284 (+663.55%)
Mutual labels:  arm, deep-neural-networks
Ml Examples
Arm Machine Learning tutorials and examples
Stars: ✭ 207 (-74.85%)
Mutual labels:  arm, deep-neural-networks
Deepfacelab
DeepFaceLab is the leading software for creating deepfakes.
Stars: ✭ 30,308 (+3582.62%)
Mutual labels:  deep-neural-networks
Citra
A Nintendo 3DS Emulator
Stars: ✭ 7,009 (+751.64%)
Mutual labels:  arm
Deeplearning.scala
A simple library for creating complex neural networks
Stars: ✭ 745 (-9.48%)
Mutual labels:  deep-neural-networks
Softlearning
Softlearning is a reinforcement learning framework for training maximum entropy policies in continuous domains. Includes the official implementation of the Soft Actor-Critic algorithm.
Stars: ✭ 713 (-13.37%)
Mutual labels:  deep-neural-networks
Raspberrypipkg
DEPRECATED - DO NOT USE | Go here instead ->
Stars: ✭ 758 (-7.9%)
Mutual labels:  arm
Inxi
inxi is a full featured CLI system information tool. It is available in most Linux distribution repositories, and does its best to support the BSDs.
Stars: ✭ 691 (-16.04%)
Mutual labels:  arm
Variational Autoencoder
Variational autoencoder implemented in tensorflow and pytorch (including inverse autoregressive flow)
Stars: ✭ 807 (-1.94%)
Mutual labels:  deep-neural-networks
Emopy
A deep neural net toolkit for emotion analysis via Facial Expression Recognition (FER)
Stars: ✭ 744 (-9.6%)
Mutual labels:  deep-neural-networks
Poseestimationformobile
💃 Real-time single person pose estimation for Android and iOS.
Stars: ✭ 783 (-4.86%)
Mutual labels:  deep-neural-networks
Bmw Tensorflow Training Gui
This repository allows you to get started with a gui based training a State-of-the-art Deep Learning model with little to no configuration needed! NoCode training with TensorFlow has never been so easy.
Stars: ✭ 736 (-10.57%)
Mutual labels:  deep-neural-networks
Androidnativeemu
Allows you to partly emulate an Android native library.
Stars: ✭ 717 (-12.88%)
Mutual labels:  arm
Emotion Recognition Neural Networks
Emotion recognition using DNN with tensorflow
Stars: ✭ 769 (-6.56%)
Mutual labels:  deep-neural-networks
Keras Attention
Visualizing RNNs using the attention mechanism
Stars: ✭ 697 (-15.31%)
Mutual labels:  deep-neural-networks
Deep Learning Time Series
List of papers, code and experiments using deep learning for time series forecasting
Stars: ✭ 796 (-3.28%)
Mutual labels:  deep-neural-networks
Yolo Tf2
yolo(all versions) implementation in keras and tensorflow 2.4
Stars: ✭ 695 (-15.55%)
Mutual labels:  deep-neural-networks
Dl 4 Tsc
Deep Learning for Time Series Classification
Stars: ✭ 730 (-11.3%)
Mutual labels:  deep-neural-networks
Gans In Action
Companion repository to GANs in Action: Deep learning with Generative Adversarial Networks
Stars: ✭ 748 (-9.11%)
Mutual labels:  deep-neural-networks
Kur
Descriptive Deep Learning
Stars: ✭ 811 (-1.46%)
Mutual labels:  deep-neural-networks

Keyword spotting for Microcontrollers

This repository consists of the tensorflow models and training scripts used in the paper: Hello Edge: Keyword spotting on Microcontrollers. The scripts are adapted from Tensorflow examples and some are repeated here for the sake of making these scripts self-contained.

To train a DNN with 3 fully-connected layers with 128 neurons in each layer, run:

python train.py --model_architecture dnn --model_size_info 128 128 128 

The command line argument --model_size_info is used to pass the neural network layer dimensions such as number of layers, convolution filter size/stride as a list to models.py, which builds the tensorflow graph based on the provided model architecture and layer dimensions. For more info on model_size_info for each network architecture see models.py. The training commands with all the hyperparameters to reproduce the models shown in the paper are given here.

To run inference on the trained model from a checkpoint on train/val/test set, run:

python test.py --model_architecture dnn --model_size_info 128 128 128 --checkpoint 
<checkpoint path>

To freeze the trained model checkpoint into a .pb file, run:

python freeze.py --model_architecture dnn --model_size_info 128 128 128 --checkpoint 
<checkpoint path> --output_file dnn.pb

Pretrained models

Trained models (.pb files) for different neural network architectures such as DNN, CNN, Basic LSTM, LSTM, GRU, CRNN and DS-CNN shown in this arXiv paper are added in Pretrained_models. Accuracy of the models on validation set, their memory requirements and operations per inference are also summarized in the following table.

To run an audio file through the trained model (e.g. a DNN) and get top prediction, run:

python label_wav.py --wav <audio file> --graph Pretrained_models/DNN/DNN_S.pb 
--labels Pretrained_models/labels.txt --how_many_labels 1

Quantization Guide and Deployment on Microcontrollers

A quick guide on quantizing the KWS neural network models is here. The example code for running a DNN model on a Cortex-M development board is also provided here.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].