【瑞萨AI挑战赛】RUHMI 环境搭建
本文介绍了瑞萨 Titan RA8P1 开发套件结合 RUHMI 框架实现预训练模型转换和部署的项目设计,包括环境搭建、模型量化、模型转换、CLI 命令行、图形化配置、C源码生成等。
项目介绍
- 准备工作:认识 RUHMI 框架、拉取框架文件;
- 部署方案:图形化 RUHMI 框架的部署流程;
- 模型转换:使用 Python 程序将预训练模型转换为 C 语言源码,结合图形化配置工具完成部署;
Titan Board 搭载频率 1GHz Arm® Cortex®-M85 与 250MHz Arm® Cortex®-M33 双架构核 RA8P1 芯片。RA8P1 系列是瑞萨电子首款搭载高性能 Arm® Cortex®-M85 (CM85) 及 Helium™ 矢量扩展,并集成 Ethos™-U55 NPU 的 32 位 AI 加速微控制器 (MCU)。
RUHMI
Robust Unified Heterogenous Model Integration(RUHMI) 是瑞萨电子推出的AI部署工具,旨在简化嵌入式设备中深度神经网络模型的部署。
- 该部署工具集成了 EdgeCortix® Mera™ 2.0 编译器,支持 TensorFlow Lite 和 ONNX 模型导入,可自动生成优化后的 C 源代码、头文件,以及二进制运行文件,可轻松编译并部署到 Renesas 开发板。
- RUHMI 提供图形化界面(GUI)和命令行接口(CLI)开发方式
- 图形化界面(GUI):通过集成在 e^2^ studio 中的图形化界面,直观完成模型转换、生成代码和二次开发。
- 命令行接口(CLI):命令行接口支持 Windows 和 Ubuntu 使用,可结合 Python 脚本,实现自动化测试和批量化设计验证。

详见:renesas/ruhmi-framework-mcu .
硬件连接
- 使用 Type-C 数据线连接板载 USB-Debug 接口;

环境搭建
部署 RUHMI 开发环境。
- 下载并安装 C++ 运行时库 ;
- 下载并安装 Python3.10 ;
从 Windows 开始菜单打开 PowerShell ;
创建并进入工作文件夹;
cd F:\RUHMI
虚拟环境
为 Python 构建虚拟环境
虚拟环境
为 Python 构建虚拟环境
py -3.10 -m venv .venv
激活虚拟环境在激活垂直环境之前,需要更改 shell 执行的执行策略,执行指令
[Environment]::SetEnvironmentVariable('CONVERSION_TOOL_E2STUDIO_PLUGIN_PYTHON_VENV_LOC', "$(Get-Location)", 'User')
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process
.venv\Scripts\Activate.ps1
提示 (.venv) PS F:\RUHMI> 表明创建并激活虚拟环境。

MERA 安装
拉取 RUHMI framework 文件,或将 whl 文件下载至当前文件夹;
git clone https://github.com/renesas/ruhmi-framework-mcu.git
将 RUHMI AI Compiler 安装至虚拟环境
python -m pip install .\mera-2.5.0+pkg.179-cp310-cp310-win_amd64.whl
python -m pip install onnx==1.17.0 tflite==2.18.0
安装后执行如下指令查询版本号
安装后执行如下指令查询版本号
python -c "import mera; print(mera.__version__)"
vela --version
python -c "import mera;print(dir(mera))"
效果如下

模型转换
使用 NETRON 在线工具判断预训练模型的数据类型 ;

根据模型的数据类型,如 float32,选择对应的转换代码,选择方案如下图所示

CLI 命令行
若要在本地生成 C 源码,则需将模型文件放置在自定义路径 ./models_fp32 文件夹;
若预训练模型为 FP32 格式,则终端执行
python mcu_quantize.py ../models_fp32 deploy_mcu
该指令解释为 python <量化.py程序> <模型所在路径> <量化结果输出路径> ;
该指令解释为 python <量化.py程序> <模型所在路径> <量化结果输出路径> ;
终端输出模型量化细节
源码生成
处理模型后,在部署目录中找到转换后的文件。包括编译过程中生成的部署产物,用于调试。
核心输出位于目录 <deployment_directory> build/MCU/compilation/src 文件夹。

该目录包含已转换为一组 C99 源代码文件的模型。
图形化
-
打开 e^2^ studio 软件,新建 RA 工程;
-
进入 Renesas AI - AI Navi 工具选项,选择
Use Your Project & AI Model;
-
进入
Convert AI Model标签页,点击Convert...按钮;
-
选择工程,设备 RA8 系列,工具为 RUHMI 编译器,模型选择对应格式,配置输出路径,点击下一步;

-
注意 RUHMI Framework AI Compiler 选择路径为前面已安装的 .venv 环境目录。
模型转换后,进入优化流程
-
点击 Start Quantization ,待进度条完成,点击 Next ;

-
进入转换流程,选择仅使用 CPU 推理的方案,配置权重保存位置等参数,点击
Start Conversion执行转换程序;
-
待进度条完成,控制台输出
Success command字样,表明模型转换完成。
构建工程
- 模型转换完成后,C 源码保存在项目文件夹路径
./conversion_results/converted/build/MCU/compilation/src文件夹下

- 右键工程,选择
Build Project,无报错。
总结
本文介绍了瑞萨 Titan RA8P1 开发套件结合 RUHMI 框架实现预训练模型转换和部署的项目设计,包括环境搭建、模型量化、模型转换、CLI 命令行、图形化配置、C源码生成等,为相关产品在边缘 AI 领域的快速开发和应用设计提供了参考。

全部评论