https://github.com/conect2ai/sbai2025-tensorflores
Science Score: 49.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 2 DOI reference(s) in README -
✓Academic publication links
Links to: ieee.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (11.8%) to scientific vocabulary
Repository
Basic Info
- Host: GitHub
- Owner: conect2ai
- License: mit
- Language: Jupyter Notebook
- Default Branch: main
- Size: 1.63 MB
Statistics
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.MD
🧠 SBAI 2025 Minicourse: Advanced TinyMLOPs Methods: Implementing Machine Learning in Embedded Systems
✍🏾Authors: Thommas Flores, Daniel Costa and Ivanovitch Silva
📅 Date: July 29, 2025
📍 Event: Brazilian Symposium on Intelligent Automation (SBAI 2025)
📌 Overview
This minicourse addresses the growing demand for machine learning deployment on low-power embedded devices, driven by the evolution of edge computing. It focuses on advanced quantization strategies—including Quantization-Aware Training (QAT) and Post-Training Quantization (PTQ)—as well as model compression techniques using the TensorFlores framework.
Developed by the Conecta2AI research group (UFRN) in collaboration with LES2 (FEUP), TensorFlores automates MLP optimization and C++ code generation for microcontrollers, enabling efficient and portable AI at the edge.
🎯 Goals
General Goal
Enable participants to design and deploy optimized machine learning models on embedded systems using TensorFlores.
Specific Objectives
- Understand the mathematical foundations of model quantization.
- Apply advanced model compression techniques (PTQ and QAT) for efficient ML on resource-constrained devices.
- Gain hands-on experience in developing and deploying optimized TinyML models.
🧑💻 Target Audience & Prerequisites
Target Audience
Students, educators, researchers, and practitioners in Engineering, Computer Science, or related fields interested in embedded ML.
Prerequisites
Basic knowledge of Python and C++ (Arduino IDE) is required.
🗂️ Course Outline
⏱️ Duration: 3 hours
Theoretical Part (1 hour)
- Introduction to TinyML (20 min)
- What is TinyML and why it matters
- Use cases and industry applications
Challenges and opportunities
- Post-Training Quantization (PTQ) (20 min)
Overview and best practices
Example applications in TinyML
- Quantization-Aware Training (QAT) (20 min)
Overview and best practices
Practical use cases
Practical Part (2 hours)
- Setting Up TensorFlores (50 min)
- Installation and environment setup
- Workflow: training, quantization, C++ code generation
Integration with microcontrollers
- Training and Deploying MLP Models (50 min)
Guide for PTQ-based deployment
Guide for QAT-based deployment
- Challenges in Real-World Projects (20 min)
Discussion of deployment challenges
Shared experiences and practical tips
🔧 Required Materials
- Participant laptops with Python IDE and Arduino IDE installed
- Internet access
- Projector or screen for visual presentations
📤 Installation
- Install Python v3.9.6
- Clone this repository.
- Inside the cloned repository folder, open the terminal or command prompt and run:
bash
python -m venv venv
- Activate the virtual environment:
bash
venv\Scripts\activate
- Install the required packages inside the environment:
bash
pip install -r requirements.txt
📁 Repository Structure
plaintext
📦 SBAI2025-TensorFlores
├── 📂 code
│ ├── 📂 arduino
│ │ ├── model.h
│ │ └── tensorflores.ino
│ └── 📂 notebooks
│ ├── 01_EDA.ipynb
│ ├── 02_data_segregation.ipynb
│ ├── 03_train_standard.ipynb
│ ├── 04_post_train_quantization.ipynb
│ ├── 05_train_aware_quantization.ipynb
│ └── my_key.py
├── 📂 data
│ └── emission_total.csv
├── 📂 docs
│ ├── slides.pdf
│ └── Ementa.pdf
├── 📂 figures
│ └── minicurso.png
├──📜 .gitignore
├──📜 LICENSE.txt
├──📜 README.MD
└──📜 requirements.txt
📚 Jupyter Notebooks
📚 Arduino Codes
🗂️ References
Flores, T.K.S., Costa, D.G., & Silva, I. (2025). TensorFlores: An enhanced Python-based TinyML framework. SoftwareX, 31, 102224.→ Presents the TensorFlores framework, its modular architecture, evolving clustering-based quantization, and automatic C++ code generation for embedded systems.
Flores, T.K.S., Medeiros, M., Silva, M., Costa, D.G., & Silva, I. (2025). Enhanced Vector Quantization for Embedded Machine Learning: A Post-Training Approach With Incremental Clustering. IEEE Access, 13, 17440–17456.
Flores, T.K.S., Medeiros, M., Silva, M., Costa, D.G., & Silva, I (2025). Advancing Tiny Machine Learning Operations: Robust Model Updates in the Internet of Intelligent Vehicles. IEEE Micro, vol. 45, no. 1, pp. 76-86.
License
This package is licensed under the MIT License - © 2023 Conect2ai.
Owner
- Name: conect2ai
- Login: conect2ai
- Kind: organization
- Repositories: 1
- Profile: https://github.com/conect2ai
GitHub Events
Total
- Watch event: 4
- Push event: 4
- Create event: 2
Last Year
- Watch event: 4
- Push event: 4
- Create event: 2
Dependencies
- matplotlib ==3.7.1
- nbformat ==5.10.4
- river ==0.21.2
- scikit-learn ==1.0.2
- seaborn *
- tensorflores ==0.1.10
- tensorflow ==2.15.0
- wandb *