
导入外部电机状态数据训练模型
导入外部.csv数据文件
以上是采用e2 Studio 内部工具录制数据、上传数据、训练模型。如果要使用自己的数据文件做模型训练,可以在"Reality AI Tools"导入csv文件。
比如现在有一组电机状态数据,通过48组传感器数据确定电机编号。
如表格,有49列数据,前48列是48个传感器数据,最后一列是电机编号。有11个电机,每个电机有5200组训练数据。
下面把这些数据导入"Reality AI Tools"训练。
准备.csv格式文件
导入文件格式是".csv"注意一定是小写字母,大写字母导入时无法识别数据字段。
把上面表格数据拆分成11个文件,对应11个电机数据。
数据可以添加一行标题行。
准备"Metadata"元数据描述.csv文件
准备好数据文件后,还需要一个元数据描述文件,就是描述这11个文件的"class"类名是什么,就是那些文件属于一类,训练结果会根据类名输出。
在前面e2 Studio录制数据上传数据时,可以看到有一个"matedata.csv"文件。
打开查看内容。
描述了文件"class name"是什么,也就是把文件分类。
接下来也仿照准备一个电机的数据描述文件。
一个文件表示一个电机,就把"class name"按编号分类。
导入数据文件
首先创建一个工程,
在这个项目下导入文件:
打开"Data"->"Source"->"External Data",
在③"Upload Type"选择"Local Upload"导入本地文件。
点击④可以打开文件选择框,选择所有文件,也可以拖入文件。
点击打开开始上传,等待上传完成。
上传完会弹出格式设置,①勾选。②"sample rate"采样频率,设置1000。
在ALL文件列表看到上传的文件信息。
导入"metadata.csv"文件
上面导入的文件还没有分类,打开"Curate"界面:
没添加"metadata.csv",②处的"Target Class"就没有信息,文件就没法分类,也就没法创建数据集。
点击③"Add MetaData",打开文件选择框,选择前面创建的"metadata.csv"文件。点击"Confirm"确定。
然后点击右侧"Metadata"侧栏,
点开②选择分类类型,选择"Target Class",可以看到所有文件都有了分类信息。
以上文件就可以添加数据集进行模型训练。
训练模型
训练模型步骤和之前一样,
1.添加"Data Set"数据集
全选数据文件,点击"Add to Data Set"添加一个数据集。
在"Data Set"选择刚添加的数据集,点击"Create Sample list"添加"Single List"采样列表。
进入"AI Explore"->"Classes",选择上一步采样列表,点击"Start exploring"开始训练模型。
等待训练完成,查看模型,注意"Resources"这一栏,查看"Flash""RAM"大小,第一个Flash 3.2M需求太大,选择第二个模型。
点击"Create Base Tool"。
进入"Deploy"->"Embedded",选择模型,点击"+New Package",配置参数后点击"Generate Package"生成代码文件。
模型使用
训练模型后生成模型代码,除了在网页上下载,还可以直接在e2 Studio下载模型代码。
①首先通过"Link to RAI project"把工程连接起来。
②"Download inference module from Reality Al Tools®"下载模型,
勾选模型,点击"Dowload"开始下载。
③在"src/"下可以看到下载了"realityai"文件夹。
新添加的模型代码需要添加库路径,参考5.1章节配置。
打开"example.c",示例代码说明了,输入数据是48x512的数组,这里从电机11的训练数据截取512行的数据来测试代码,如果输出的是编号11说明模型训练成功。

修改输入数据,不使用随机数,使用测试数据,输出结果是电机编号。在"hal_entry.c"中调用。
编译下载,打开串口,可以看到输出结果:输出编号11,测试成功。