首先是参考资料和文档链接:
(1)https://developer.canaan-creative.com/ai_docs/K230_SDK%E7%AE%80%E4%BB%8B.html
(2)
https://blog.csdn.net/shangxiangtianti/article/details/136820918
本文参考了其他博客和文档,实现了使用自己的电脑在Windows环境下通过AI_Cube实现了图像分类。
1.安装dotnet sdk
dotnet sdk的下载链接:
https://dotnet.microsoft.com/zh-cn/download/dotnet
进入该网址之后,选择“不再支持的版本”,然后点击.NET 7.0,如图:
点击.NET 7.0之后,选择对应系统的下载文件即可,如图:
接下来按照系统提示一步一步安装,并且将其添加至环境变量中。
将其添加到环境变量的步骤如下:
(1)win+r,输入sysdm.cpl,进入“高级”-“环境变量”
(2)在系统变量中:点击“新建”,创建一个新的环境变量,变量名为DOTNET_ROOT,变量值为.NET SDK的安装路径,一般的默认安装路径为C:\Program Files\dotnet,所以变量值一般为C:\Program Files\dotnet,如图:
然后,在“系统变量”中找到名为Path的变量,选择编辑
然后点击“新建”,添加 %DOTNET_ROOT%
保存,确定,然后cmd输入"dotnet",如下图所示即表示成功:
这样,第一步便完成了。
2.下载AI_Cube
AI_Cube的下载地址:
https://developer.canaan-creative.com/resource
进入该网址后,界面如下,并以此点击“Tools”,"AICube","AICube V1.3 for Windows",选择对应的系统版本下载即可,这里我选择的是windows的V1.3版本。
下载该包之后,进行解压,解压后的包目录如下:
需要注意的是,使用AICube需要去申请许可证,一个许可证管一个月,每个月都需要重新申请,接下来讲解申请的方法:
developersupport <developersupport@canaan-creative.com> |
向上面这个邮箱发邮件,申请AI_Cube的许可证,具体怎么说,可以参看我的示例,当时我也是看别的博主的示例。
这样,不一会或者第二天便会收到该邮箱发送过来的当月的许可证(我几乎是二十分钟后就收到了许可证,不过最晚也是第二天也可以收到啦),许可证样子如下:
然后,我们需要把这个许可证复制到我们刚才下载的AI_Cube的文件夹内,具体路径如下:
...\AI_Cube_V1.3_for_Windows\AI_Cube_V1.3_for_Windows\AI_Cube
复制后就可以正常使用AI_Cube了,当月的许可证过期后需要重新申请,如果没有许可证或者许可证过期,AI_Cube这个软件就打不开。
紧接着,我们来看一下这个包里的内容,作为了解:
example_dataset目录是提供的八类任务的示例数据集;example_projects是提供的八类任务的示例项目;on_board目录内包含CanMV-k230开发板烧录镜像、MicroPython烧录镜像、EVB开发板烧录镜像和在CanMV-k230开发板和EVB开发板的可执行elf文件;canmv_ide-4.0.6.exe是使用MicroPython开发的IED软件。
我们只需要双击AI_Cube.exe就可以打开这个软件。
3.训练模型
进入AI_Cube软件界面如下:
进入该页面后,点击“新建项目”
点击后,对于“请选择将要创建的深度学习任务”这一栏选择“图像分类”,选择后根据蓝色矩形内的数据集格式要求准备好数据集,然后点击“导入数据集”,选择你的数据集的路径,并且创建你该项目的名称和保存路径。然后点击“创建项目”即可。这里我使用的是前面提到过的示例数据集,如图:
在这里,我把数据集放在了桌面,项目保存路径也定在了桌面。然后就可以点击“创建项目”了。创建后会进入“图像”页面,如图:
然后选择左上角的“训练”,进入“训练”页面。
接着点击“开始训练”,训练完成之后如图:
接着,点击“评估”,进入评估页面,然后先选择“测试模型”,再点击“部署”按钮生成部署包:
点击后,进入之前创建的项目文件夹,可以看到:
注意:AI_Cube这个包的存放路径不能有中文,不然点击“部署”后不会成功。
自此,AI_Cube部分的操作就完成了。
4.上板准备
现在要将得到的kmodel在CanMV-K230开发板进行部署。
首先是镜像烧录,准备一个SD卡,一个读卡器,然后插在电脑上,接着我们打开AI_Cube的下载包,找到on_board文件夹,如图:
该文件夹内的.gz文件就是我们需要烧录的镜像。我们可以通过rufus工具进行烧录,该工具的下载地址为:https://rufus.ie/downloads/ 进入下载地址,如图:
任意版本均可。接着,将SD卡通过读卡器插入PC,然后启动rufus工具,点击工具界面的“选择”按钮,选择待烧写的固件。
然后是具体的操作流程照片,以下的图片用的是这个网址内的教程的图片,这个网址也在文首贴出:
https://developer.canaan-creative.com/ai_docs/%E4%BD%BF%E7%94%A8AI_Cube%E5%BC%80%E5%8F%91.html#id25
点击“开始”按钮开始烧写,烧写过程有进度条展示,烧写结束后会提示“准备就绪”。
烧写结束后,SD卡继续插在电脑上,我们需要将kmodel文件,deploy_config.json和测试图片(一张即可)拷贝到SD卡的某一目录中并记下这一目录。
具体来看:
kmodel文件和deploy_config.json文件在第3步使用AI_Cube生成的项目文件夹内,接着图片从自己的数据集内复制一张即可。
在本项目内,我把这三个文件复制到了a这个文件夹,如下:
这个目录是SD卡内的烧录的镜像文件目录,a这个文件夹是我们自己新建的。然后就可以弹出SD卡,装在K230上了,接下来我们需要安装CanMV IDE,下载地址为:
https://developer.canaan-creative.com/resource
安装对应系统版本即可。
然后连接开发板,两个type-C口均须连接电脑。启动CanMV IDE,打开文件,选择AI_Cube下载包中的解压后的mp_deployment_source.zip中的cls_image.py文件,修改下图红框中的文件路径为您自行拷贝的文件路径,进行单图推理:
然后点击左下角连接,运行即可。运行结果:
自此,K230本地部署模型完成!
本人小白,刚刚接触,在这段时间用到了K230,所以学习了该方法,遂记录,望友善讨论呀!
本文也参考了很多大佬和官方教程,在文首和文中也贴出了相应参考链接。