将任意训练好的模型导出为独立代码
一个训练好的模型,只有在脱离桌面应用、真正运行在实际环境中时才有价值—— 无论是在单片机上、Simulink 模块中,还是在 Python 分析脚本里。无论是在 虚拟传感器训练中训练出的模型,还是从 模型竞赛排行榜中挑选出的模型,都可以直接导出,无需任何单独的 转换工具。
C、C++、Python 或 MATLAB——选择目标平台,而非搭建转换流水线
导出格式只是一个下拉菜单,而不是一个单独的导出工具或格式转换步骤:选择 C 用于裸机单片机构建, 选择 C++ 以获得基于类的接口,选择 Python 用于快速的分析脚本或服务,或选择 MATLAB 以直接嵌入 Simulink 模块。导出的代码是模型预测函数的一个自包含实现——不依赖 Data Sensors,也无需链接任何 运行时库。
全精度或 int8 量化,保存前提供实时预览
每一次导出都可以选择全精度或 int8 量化,对话框会在您做出选择之前,针对两种方案分别显示实时的 大小与精度预估——因此“能否装进 4 KB 闪存”与“是否与训练时的精度完全一致”之间的取舍,可以在 具体数字摆在眼前时做出,而不是等文件已经保存到磁盘之后才发现。
不只是获胜者——排行榜上任意一项都可导出
当模型来自一次模型竞赛运行时,导出并不局限于排名第一的 那一项——也许精度略低的随机森林在您的目标硬件上运行更快,或者更小的神经网络更符合您的闪存预算。 排行榜上的每一项都可以单独导出,彼此互不影响。
将导出的模型重新导入
之前的会话中已导出为 C、C++ 或 Python 代码的模型,可通过“虚拟传感器 > 导入虚拟 传感器…”重新导入——选择该文件(系统会自动检测 C/C++ 编译器或 Python 解释器,两种情况都 提供手动回退选项)。输入通道及其原始训练顺序会从模型的配套文件中自动读取,随后它就会直接针对 当前加载的测量数据运行,并作为一个普通的、可绘制的信号添加进来。无需重新训练,也不需要仍然保留最初训练它的 那个会话。