End-to-end training, quantization and deployment framework for deep neural networks on microcontrollers.
Repository should be cloned with --recursive
to get TFLite Micro and its dependencies.
Python:
numpy
scikit-learn
tomlkit
colorful
gitpython
Python:
imageio
scikit-image
Python:
tensorflow
tensorflow_addons
Python:
pytorch
pytorch_lightning
Python:
pycryptodome
System:
stm32cubeide
stm32cubeprog
STM32CubeIDE extension pack:
X-CUBE-AI == 5.2.0
System:
arm-none-eabi-binutils
arm-none-eabi-gcc
arm-none-eabi-newlib
libopenexr-dev
wget
Python:
jinja2
System:
arm-none-eabi-binutils
arm-none-eabi-gcc
arm-none-eabi-newlib
Python:
pyserial
If Qualia installed with pip, you can run the qualia
command directly. Otherwise run PYTHONPATH=. ./bin/qualia <config.toml> <action>
from the qualia directory.
qualia <config.toml> preprocess_data
qualia <config.toml> train
qualia <config.toml> prepare_deploy
qualia <config.toml> deploy_and_evaluate
CUBLAS_WORKSPACE_CONFIG=:4096:8 PYTHONHASHSEED=2 python -m unittest discover qualia/tests
- TensorFlow.Keras
- PyTorch
- MLP
- CNN (1D&2D)
- Resnetv1 (1D&2D)
- STM32Cube.AI
- TensorFlow Lite for Microcontrollers
- Qualia-CodeGen
- Nucleo-L452RE-P
- SparkFun Edge
Quantization and Deployment of Deep Neural Networks on Microcontrollers, Pierre-Emmanuel Novac, Ghouthi Boukli Hacene, Alain Pegatoquet, Benoît Miramond and Vincent Gripon, Sensors, 2021.
@article{qualia,
author = {Novac, Pierre-Emmanuel and Boukli Hacene, Ghouthi and Pegatoquet, Alain and Miramond, Benoît and Gripon, Vincent},
title = {Quantization and Deployment of Deep Neural Networks on Microcontrollers},
journal = {Sensors},
volume = {21},
year = {2021},
number = {9},
article-number = {2984},
url = {https://www.mdpi.com/1424-8220/21/9/2984},
issn = {1424-8220},
doi = {10.3390/s21092984}
}