littlebot
Published on 2025-04-15 / 0 Visits
0

【源码】基于Python的TinyML智能推理系统

项目简介

本项目开发了名为Smart Amoeba(SA)的TinyML推理堆栈,旨在解决将AI迁移到嵌入式应用程序时面临的挑战。该系统采用tflite格式的模型文件,经解析编译成IR后进行两层优化,最终生成符合C99标准的计算图。提供可移植、灵活且易于部署的平台,支持多种AI生态系统和量化压缩方法,实现低功耗、低延迟的嵌入式设备推理。

项目的主要特性和功能

  1. 高效推理:相比TensorFlow Lite Micro(TFLM),SA大幅减少RAM和ROM使用量,降低推理延迟,特定测试中RAM使用量减少93.2%,ROM使用量减少86.2%,延迟减少52.1%。
  2. 广泛的兼容性:支持tflite格式模型,可与TensorFlow或Keras训练的模型兼容,支持多种流行人工智能生态系统。
  3. 内存管理优化:采用First - Fit算法和静态分配数组,减少堆空间内存碎片对系统稳定性的影响,推理循环后回收所有碎片。
  4. 基准测试参与:参与MLPerf:tm: Tiny推理基准测试,展示RISC - V微控制器的人工智能计算能力和潜在应用。
  5. 多模块设计:系统分为前端和后端,前端用Python3编写,负责模型解析和生成外部表示;后端实现运算符和堆算法。

安装使用步骤

安装依赖

假设用户已下载本项目的源码文件,需确保系统安装以下依赖: 1. Python3:前端代码基于Python3编写,需安装Python3环境。 2. GCC编译器:用于编译后端生成的C代码,建议使用GCC 8.3.0及以上版本。 3. flatc:用于将TensorFlow Lite提供的schema文件编译成Python接口,以解析tflite模型。

运行步骤

  1. 准备模型:准备tflite格式的模型文件,确保模型使用的是SA支持的操作。
  2. 前端处理:运行前端Python代码,对模型进行解析和编译,生成IR和中间表示。
  3. 后端优化与生成:对IR进行算法优化和硬件特定优化,最终生成C语言的计算图。
  4. 编译与运行:使用GCC编译器编译生成的C代码,在目标嵌入式设备上运行推理程序。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】