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

【源码】基于TensorFlow Lite Micro和CMSISNN的神经网络基准测试项目

项目简介

本项目基于TensorFlow Lite Micro(TFLu)和CMSIS-NN库,借助Mbed CLI工具在不同微控制器(MCU)上测试和比较不同神经网络模型的性能。利用CMSIS-NN库加速整数推理计算,可在ARM Cortex - M系列微控制器上实现高效的神经网络推理。

项目的主要特性和功能

  1. 多模型支持:支持测试和比较不同架构的TensorFlow Lite模型,涵盖量化、剪枝、蒸馏等优化技术。
  2. 跨平台测试:能在不同微控制器和架构上进行性能测试,助力用户选择适配应用的硬件平台。
  3. CMSIS-NN加速:集成CMSIS-NN库,显著加速整数推理计算,提升嵌入式设备上神经网络的性能。
  4. 灵活的编译选项:提供多种编译宏选项,可自定义输入输出长度、基准测试单位、层级基准测试等功能。
  5. 自动化测试:结合Jupyter Notebook(如LeNet5-on-MNIST)实现模型的自动化比较和部署。

安装使用步骤

设置Mbed环境

运行以下命令加载项目依赖: bash mbed config root . mbed deploy 执行补丁脚本修复已知问题: bash ./patch-cmsis.sh

编译项目

使用以下命令编译项目: bash mbed compile -m auto -t GCC_ARM 对于特定开发板(如NUCLEO-L496ZG),使用以下命令: bash mbed compile -m NUCLEO_L496ZG -t GCC_ARM cp BUILD/NUCLEO_L496ZG/GCC_ARM/mbed.bin /Volumes/NODE_L496ZG screen /dev/tty.X 9600

配置编译选项

通过定义不同的宏(如INPUT_LENGTHOUTPUT_LENGTHCYCLES等)自定义基准测试行为。例如,启用层级基准测试: bash mbed compile -m auto -t GCC_ARM -D BENCHMARK_LAYERS

运行基准测试

将生成的.bin文件烧录到目标设备,通过UART接口读取基准测试结果。使用Jupyter Notebook或其他工具解析UART输出进行性能分析和比较。

下载地址

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