【CPKCOR-RA8D1】RUHMI 转换 AI 模型
本文介绍了瑞萨 CPKCOR-RA8D1B 开发套件结合 RUHMI 框架实现预训练模型转换和部署的项目设计,包括环境搭建、模型量化、模型转换、图形化配置、C源码生成等。
项目介绍
- 准备工作:硬件连接、RUHMI 框架拉取;
- 部署方案:Linux 和 Windows 系统下 RUHMI 框架的部署流程;
- 模型转换:使用 Python 程序将预训练模型转换为 C 语言源码,结合图形化配置工具完成部署;
准备工作
包括硬件连接和 RUHMI 框架部署方案介绍。
硬件连接
- Renesas RA8D1 核心板:CPKCOR-RA8D1B;
- 1 根 USB Type-A 转 Type-C 或 Type-C 转 Type-C 数据线;
- 1个 MIPI 显示屏,型号 H0233S001-V1,驱动芯片 ST7796U ;
- 1个 CPKEXP-EKRA8X1 扩展板;

RUHMI Framework
RUHMI 框架为将机器学习模型转换为 C 语言源码 提供了开发编译器及必要工具。
-
该软件栈生成 C 源代码,同时确保与 Renesas e2 Studio 的兼容性和紧密集成。
-
该框架配备了量化器,一种训练后静态 INT8 量化器,使要求更高的模型能够满足 MCU 和 Ethos-U 加速器典型的内存和延迟限制。
-
使用 RUHMI 框架实现模型部署的主要流程如下

详见:renesas/ruhmi-framework-mcu .
部署方案
要在受支持的环境下(Ubuntu 22.04 或 Windows 10)安装 RUHMI 。
Linux
对于 Linux 用户,安装创建虚拟环境及运行演示所需的系统依赖
bash
sudo apt update
sudo apt install build-essential cmake python3-venv python3-pip
MERA
推荐方案:使用系统自带 Python
MERA 软件栈默认兼容 Ubuntu 22.04 自带 Python,可直接创建虚拟环境:
bash
# 添加工具链与 Python 源并升级底层库
sudo add-apt-repository -yu ppa:ubuntu-toolchain-r/test
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update && sudo apt upgrade
sudo apt-get install -q -y --only-upgrade libstdc++6 libgcc-s1
sudo apt update && sudo apt upgrade
# 安装编译器与 Python 3.10
sudo apt install -y build-essential gcc-13 g++-13
sudo apt-get install python3.10 python3.10-venv python3.10-dev python3-pip
# 创建并激活虚拟环境
python3.10 -m venv mera-env
source mera-env/bin/activate
# 升级 pip 并安装 MERA 依赖
pip install --upgrade pip
pip install decorator typing_extensions psutil attrs pybind11 cmake
此时终端提示符应显示已进入虚拟环境:
(mera-env) user@compute:~$
PyEnv
备选方案:使用 PyEnv
若更倾向于 PyEnv,可先安装相关依赖及 PyEnv 本身:
bash
# 安装 pyenv 依赖
sudo apt update
sudo apt install build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev curl git cmake \
libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev
# 一键安装 PyEnv
curl https://pyenv.run | bash
按官方建议,把 PyEnv 初始化命令写入 .bashrc:
bash
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo '[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init - bash)"' >> ~/.bashrc
使用 PyEnv 创建名为 mera-env 的 Python 3.10 虚拟环境:
bash
MENV=mera-env
pyenv install 3.10.15
pyenv virtualenv 3.10.15 $MENV
pyenv activate $MENV
pip install --upgrade pip
pip install decorator typing_extensions psutil attrs pybind11
终端提示符同样会显示:
(mera-env) user@compute:~$
安装 MERA
在已激活的 mera-env 中执行:
bash
pip install ./Downloads/mera-2.4.0+pkg.1756-cp310-cp310-manylinux_2_27_x86_64.whl
(版本号随实际发布包变化)
安装完成后,可运行以下命令验证:
bash
python -c "import mera; print(dir(mera))"
若能正常输出模块内容,即表示 MERA 已就绪。

详见:ruhmi-framework-mcu | GitHub .
Windows
对于 Windows 用户,部署 RUHMI 开发环境。
-
下载并安装 C++ 运行时库 ;
-
下载并安装 Python3.10 ;
-
从 Windows 开始菜单打开 PowerShell ;
-
创建并进入工作文件夹;
shell
cd F:\RUHMI
虚拟环境
为 Python 构建虚拟环境
shell
py -3.10 -m venv .venv
激活虚拟环境在激活垂直环境之前,需要更改 shell 执行的执行策略,执行指令
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 文件下载至当前文件夹;
shellgit clone https://github.com/renesas/ruhmi-framework-mcu.git -
将 RUHMI AI Compiler 安装至虚拟环境
shell
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
python -c "import mera; print(mera.__version__)"
vela --version
python -c "import mera;print(dir(mera))"
- 效果如下

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

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

-
将模型文件放置在自定义路径
./models_fp32文件夹; -
若预训练模型为 FP32 格式,则终端执行
shell
python mcu_quantize.py ../models_fp32 deploy_mcu
该指令解释为
python <量化.py程序> <模型所在路径> <量化结果输出路径>;
- 终端输出模型量化细节

源码生成
处理模型后,在部署目录中找到转换后的文件。包括编译过程中生成的部署产物,用于调试。
核心输出位于目录 <deployment_directory> build/MCU/compilation/src 文件夹。

该目录包含已转换为一组 C99 源代码文件的模型。
图形化
- 打开 e2 studio 软件,进入
Renesas AI-Conversion Tool工具选项; - 选择工程,设备 RA8 系列,工具为 RUHMI 编译器,模型选择对应格式,配置输出路径,点击下一步;

注意 RUHMI Framework AI Compiler 选择路径为前面已安装的 .venv 环境目录。
- 模型转换后,进入优化流程

- 点击 Start Quantization ,待进度条完成,点击 Next ;

- 进入转换流程,根据硬件配置选择 CPU/Ethos-U55 推理方案,权重保存位置等参数,点击 Start Conversion 执行转换程序;

- 待进度条完成,控制台输出
Success command字样,表明模型转换和部署完成。

总结
本文介绍了瑞萨 CPKCOR-RA8D1B 开发套件结合 RUHMI 框架实现预训练模型转换和部署的项目设计,包括环境搭建、模型量化、模型转换、图形化配置、C源码生成等,为相关产品在边缘 AI 领域的快速开发和应用设计提供了参考。