云端模型训练平台的使用
本文档根据《嘉楠K230开发手册》V1.0(2024-11-30)整理。正文、表格、示例代码与插图均来自原始手册。
云训练平台简介
嘉楠科技开发者社区(https://developer.canaan-creative.com/)模型训练板块是为简化开发流程,提 高开发效率开放的训练平台。该平台使用户更加注重视觉场景的落地实现,更加快捷的完成从数据标注 到获得部署包,并在搭载嘉楠科技Kendryte®系列AIoT芯片中最新一代SOC产品K230的开发板上进行部 署的全部过程。该平台现支持图像分类和图像检测两类任务。

模型训练平台对接用户和板上开发人员,通过创建项目对具体场景下的AI落地过程进行管理,导入数据 后需要用户创建任务并配置训练参数,然后一键启动训练,训练结束后得到部署资源包。部署资源包可以和K230 SDK结合使用,完成后续的开发板开发工作,实现模型部署。
开始前请前往嘉楠开发者社区模型训练平台进行账户注册,注册完成后登录系统,进入模型训练界面。

实现图像分类任务
- 创建数据集
点击“数据集”选项,并点击“创建数据集”按钮。
选择标注类型,点击”图像分类”,并填入数据集名称,这里数据集名称可自定义。最好点击提交即可。

点击“配置“按钮,进入数据集配置界面。

此时可进行数据集的配置,推荐上传数据集压缩包的方式。

可点击“压缩包格式说明“了解需要如何准备数据集

如果不清楚数据集压缩包格式,可前往嘉楠开发者社区资料下载中心:https://developer.canaan-creative.com/resource。选择对应的数据集压缩包示例进行下载。

这里我以蔬菜分类数据集压缩包为例,上传至云训练平台。

- 创建训练任务
点击“训练“按钮

填写任意任务名称,选择运行芯片为K230,nncase版本为2.9.0,设置迭代次数与批数据量大小,设置学习率,最后点击确认即可。

当云端服务器训练资源可用时,该任务会进入训练阶段。点击“训练记录“,并选择”详情“,如下图所示:

可查看任务的训练情况,如下图所示:

训练结束后可以下载部署包,同时部署包也会发送给您注册的邮箱。当然您也可以点击“训练记录“选项,点击“资料下载”,下载部署资源包。

部署包解压后,目录如下:

目录说明:
|-cls_result # 此目录存放分类正确的示例图片|-*.kmodel # 开发板部署所用kmodel|-deploy_config.json # 部署配置文件|-cpp_deployment_source.zip # C++部署资源|-mp_deployment_source.zip # MicroPython部署资源
- 编译与运行分类任务
3.1解压部署资源包文件
解压部署资源包中的cpp_deployment_source.zip压缩包,并进入cpp_deployment_source文件夹中。

3.2将示例代码拷贝至Ubuntu
将示例代码文件夹example_code_k230传输至Ubuntu虚拟机中k230_sdk目录下的src/big/nncase下。
3.3修改k230_deploy文件夹下的源码,适配对应的屏幕和摄像头
- 修改vi_vo.h文件
- 这里我们直接修改CANMV的配置, 修改显示屏的通道和OSD叠加的宽高。
#if defined(CONFIG_BOARD_K230_CANMV)
#define SENSOR_CHANNEL (3)
#define SENSOR_HEIGHT (720)
#define SENSOR_WIDTH (1280)
#define ISP_CHN0_WIDTH (960)
#define ISP_CHN0_HEIGHT (540)
#define ISP_INPUT_WIDTH (1920)
#define ISP_INPUT_HEIGHT (1080)
#define vicap_install_osd (1)
#define osd_id K_VO_OSD3
#define osd_width (540)
#define osd_height (960)