Skip to main content

Qualia toolchain Core

Project description

Qualia Core (formerly MicroAI)

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.

Dependencies

Python:

numpy
scikit-learn
tomlkit
colorful
gitpython

Dataset

GTSRB

Python:

imageio
scikit-image

Training

TensorFlow

Python:

tensorflow
tensorflow_addons

PyTorch

Python:

pytorch
pytorch_lightning

Deployment

Embedded targets

SparkFun Edge

Python:

pycryptodome
Nucleo-L452RE-P

System:

stm32cubeide
stm32cubeprog

Embedded frameworks

STM32Cube.AI

STM32CubeIDE extension pack:

X-CUBE-AI == 5.2.0
TensorFlow Lite Micro

System:

arm-none-eabi-binutils
arm-none-eabi-gcc
arm-none-eabi-newlib
libopenexr-dev
wget
Qualia-CodeGen

Python:

jinja2

System:

arm-none-eabi-binutils
arm-none-eabi-gcc
arm-none-eabi-newlib

Evaluation

Python:

pyserial

Usage

If Qualia installed with pip, you can run the qualia command directly. Otherwise run PYTHONPATH=. ./bin/qualia <config.toml> <action> from the qualia directory.

Dataset pre-processing

qualia <config.toml> preprocess_data

Training

qualia <config.toml> train

Prepare deployment (generate firmware)

qualia <config.toml> prepare_deploy

Deploy and evaluate

qualia <config.toml> deploy_and_evaluate

Run test suite

CUBLAS_WORKSPACE_CONFIG=:4096:8 PYTHONHASHSEED=2 python -m unittest discover qualia/tests

Included support for datasets, learning framework, neural networks, embedded frameworks and targets

Datasets

Learning frameworks

  • TensorFlow.Keras
  • PyTorch

Neural networks

  • MLP
  • CNN (1D&2D)
  • Resnetv1 (1D&2D)

Embedded frameworks

  • STM32Cube.AI
  • TensorFlow Lite for Microcontrollers
  • Qualia-CodeGen

Targets

  • Nucleo-L452RE-P
  • SparkFun Edge

Reference & Citation

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}
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

qualia_core-2.3.0.tar.gz (5.9 MB view details)

Uploaded Source

Built Distribution

qualia_core-2.3.0-py3-none-any.whl (9.4 MB view details)

Uploaded Python 3

File details

Details for the file qualia_core-2.3.0.tar.gz.

File metadata

  • Download URL: qualia_core-2.3.0.tar.gz
  • Upload date:
  • Size: 5.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: pdm/2.16.1 CPython/3.12.4 Linux/6.9.8-arch1-1

File hashes

Hashes for qualia_core-2.3.0.tar.gz
Algorithm Hash digest
SHA256 5872ea3dd1f429a175d824cd6d8ce04a2c61ac89b972c0baf814857d226915ab
MD5 76fc02978cf914bceac1877dab361822
BLAKE2b-256 834f1ae263912fe2fad044853f14644dbd5e3dde244a11319113bf7081beb253

See more details on using hashes here.

File details

Details for the file qualia_core-2.3.0-py3-none-any.whl.

File metadata

  • Download URL: qualia_core-2.3.0-py3-none-any.whl
  • Upload date:
  • Size: 9.4 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: pdm/2.16.1 CPython/3.12.4 Linux/6.9.8-arch1-1

File hashes

Hashes for qualia_core-2.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c98384964d5ede2840f0a1fbbb4605e45321ff00ccda0778b30ed371e9d09750
MD5 1f024e028949c5333c89b50e05d20a39
BLAKE2b-256 cdd1e473590bcb0769d5a00f8abaf38a3a031952b2ec21f6608efaa8840e6a9a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page