TinyMLgen for Python
A Python package to export TensorFlow Lite neural networks to C++ for microcontrollers

Tinymlgen is a Python library to export TensorFlow models into C format with a single line of code.
As an Arduino maker, you can then run that model on your microcontroller using the EloquentTinyML library.
Installation
Tinymlgen is available on PyPi, so you can use pip to install.
pip install -U tinymlgen
Or you can clone the Github repo
git clone https://github.com/eloquentarduino/tinymlgen
How to use
Tinymlgen package has a single method called port()
: it accepts a TensorFlow model and
returns the C code you need to import in your Arduino sketch.
from tinymlgen import port
if __name__ == '__main__':
tf_model = create_tf_model()
c_code = port(tf_model)
with open('tensorflow_model.h', 'w') as file:
file.write(c_code)
Want to quickly integrate TensorFlow Lite models into your Arduino project? EloquentTinyML library makes it a breeze.
Configuration
The port()
method accepts 2 optional configuration options:
-
variable_name (str, defaults to 'model_data')
: this is the name of the exported variable in C -
pretty_print (bool, defaults to False)
: if True, the output is formatted in a more readable format
Related posts
tinyml
Get started with Arduino Machine Learning
A ready to use layout project to get up and running quickly with your next TinyML project
tinyml
TensorFlow Lite on Esp32
Convert an existing TensorFlow Lite model to be deployed on your ESP32 board using the Arduino IDE
tinyml
Gesture classification
Classify accelerometer's data with blazing fast spectral features extraction
libraries
EloquentTinyML for Arduino
An Arduino library to make TensorFlow Lite for Microcontrollers neural networks more accessible and easy to use
tinyml
Separable Conv2D kernels: a benchmark
Real world numbers on 2D convolution optimization strategies for embedded microcontrollers